17c478bd9Sstevel@tonic-gate# 27c478bd9Sstevel@tonic-gate# CDDL HEADER START 37c478bd9Sstevel@tonic-gate# 47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 55aefb655Srie# Common Development and Distribution License (the "License"). 65aefb655Srie# You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate# 87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate# and limitations under the License. 127c478bd9Sstevel@tonic-gate# 137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate# 197c478bd9Sstevel@tonic-gate# CDDL HEADER END 207c478bd9Sstevel@tonic-gate# 21fb1354edSrie 22fb1354edSrie# 23cce0e03bSab196087# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24fb1354edSrie# Use is subject to license terms. 25fb1354edSrie# 26fb1354edSrie# ident "%Z%%M% %I% %E% SMI" 27fb1354edSrie# 287c478bd9Sstevel@tonic-gate# Generic interface definition for usr/src/cmd/sgs/liblddbg. 297c478bd9Sstevel@tonic-gate# 307c478bd9Sstevel@tonic-gate# For information regarding the establishment of versioned definitions see: 317c478bd9Sstevel@tonic-gate# The Linker and Libraries Manual (version 2.5 or greater) 327c478bd9Sstevel@tonic-gate# This is part of the Developers Guide in the Answerbook. Specifically refer 337c478bd9Sstevel@tonic-gate# to Chapter 2 under section "Defining Additional Symbols" through section 347c478bd9Sstevel@tonic-gate# "Reducing Symbol Scope", and Chapter 5 "Versioning". 357c478bd9Sstevel@tonic-gate# 367c478bd9Sstevel@tonic-gate# For specific OSNET rules for the modification (evolution) of these version 377c478bd9Sstevel@tonic-gate# definitions see: 387c478bd9Sstevel@tonic-gate# Policy for Shared Library Version Names and Interface Definitions 397c478bd9Sstevel@tonic-gate 407c478bd9Sstevel@tonic-gate 419aa23310SrieSUNWprivate_4.62 { 427c478bd9Sstevel@tonic-gate global: 435aefb655Srie dbg_desc = NODIRECT; # interposed - ld.so.1(1) 445aefb655Srie dbg_print = NODIRECT; # interposed - ld(1) and ld.so.1(1) 455aefb655Srie 467c478bd9Sstevel@tonic-gate Dbg_args_files; 477c478bd9Sstevel@tonic-gate Dbg_args_flags; 487247f888Srie Dbg_audit_ignore; 497c478bd9Sstevel@tonic-gate Dbg_audit_interface; 507c478bd9Sstevel@tonic-gate Dbg_audit_lib; 517c478bd9Sstevel@tonic-gate Dbg_audit_object; 527c478bd9Sstevel@tonic-gate Dbg_audit_symval; 53c75e1b9dSrie Dbg_audit_skip; 547247f888Srie Dbg_audit_terminate; 557c478bd9Sstevel@tonic-gate Dbg_audit_version; 565aefb655Srie 577c478bd9Sstevel@tonic-gate Dbg_setup; 585aefb655Srie 595aefb655Srie Dbg32_bind_global; 605aefb655Srie Dbg64_bind_global; 615aefb655Srie Dbg32_bind_plt_summary; 625aefb655Srie Dbg64_bind_plt_summary; 635aefb655Srie Dbg64_bind_pltpad_from; 645aefb655Srie Dbg64_bind_pltpad_to; 6560758829Srie Dbg32_bind_reject; 6660758829Srie Dbg64_bind_reject; 675aefb655Srie Dbg32_bind_weak; 685aefb655Srie Dbg64_bind_weak; 695aefb655Srie 705aefb655Srie Dbg32_cap_hw_candidate; 715aefb655Srie Dbg64_cap_hw_candidate; 725aefb655Srie Dbg32_cap_hw_filter; 735aefb655Srie Dbg64_cap_hw_filter; 745aefb655Srie Dbg32_cap_mapfile; 755aefb655Srie Dbg64_cap_mapfile; 765aefb655Srie Dbg32_cap_sec_entry; 775aefb655Srie Dbg64_cap_sec_entry; 785aefb655Srie Dbg32_cap_sec_title; 795aefb655Srie Dbg64_cap_sec_title; 805aefb655Srie Dbg32_cap_val_hw1; 815aefb655Srie Dbg64_cap_val_hw1; 825aefb655Srie 835aefb655Srie Dbg32_demangle_name; 845aefb655Srie Dbg64_demangle_name; 855aefb655Srie 865aefb655Srie Dbg32_ent_print; 875aefb655Srie Dbg64_ent_print; 885aefb655Srie 895aefb655Srie Dbg32_file_analyze; 905aefb655Srie Dbg64_file_analyze; 915aefb655Srie Dbg32_file_aout; 925aefb655Srie Dbg64_file_aout; 935aefb655Srie Dbg32_file_ar; 945aefb655Srie Dbg64_file_ar; 955aefb655Srie Dbg32_file_ar_rescan; 965aefb655Srie Dbg64_file_ar_rescan; 975aefb655Srie Dbg32_file_bind_entry; 985aefb655Srie Dbg64_file_bind_entry; 995aefb655Srie Dbg32_file_bindings; 1005aefb655Srie Dbg64_file_bindings; 1015aefb655Srie Dbg32_file_cntl; 1025aefb655Srie Dbg64_file_cntl; 1035aefb655Srie Dbg32_file_config_dis; 1045aefb655Srie Dbg64_file_config_dis; 1055aefb655Srie Dbg32_file_config_obj; 1065aefb655Srie Dbg64_file_config_obj; 1075aefb655Srie Dbg32_file_del_rescan; 1085aefb655Srie Dbg64_file_del_rescan; 1095aefb655Srie Dbg32_file_delete; 1105aefb655Srie Dbg64_file_delete; 1115aefb655Srie Dbg32_file_dlclose; 1125aefb655Srie Dbg64_file_dlclose; 1135aefb655Srie Dbg32_file_dldump; 1145aefb655Srie Dbg64_file_dldump; 1155aefb655Srie Dbg32_file_dlopen; 1165aefb655Srie Dbg64_file_dlopen; 1175aefb655Srie Dbg32_file_elf; 1185aefb655Srie Dbg64_file_elf; 11902ca3e02Srie Dbg32_file_cleanup; 12002ca3e02Srie Dbg64_file_cleanup; 1215aefb655Srie Dbg32_file_filtee; 1225aefb655Srie Dbg64_file_filtee; 1235aefb655Srie Dbg32_file_filter; 1245aefb655Srie Dbg64_file_filter; 1255aefb655Srie Dbg32_file_fixname; 1265aefb655Srie Dbg64_file_fixname; 1275aefb655Srie Dbg32_file_generic; 1285aefb655Srie Dbg64_file_generic; 1295aefb655Srie Dbg32_file_hdl_action; 1305aefb655Srie Dbg64_file_hdl_action; 1315aefb655Srie Dbg32_file_hdl_collect; 1325aefb655Srie Dbg64_file_hdl_collect; 1335aefb655Srie Dbg32_file_hdl_title; 1345aefb655Srie Dbg64_file_hdl_title; 1355aefb655Srie Dbg32_file_lazyload; 1365aefb655Srie Dbg64_file_lazyload; 1375aefb655Srie Dbg32_file_ldso; 1385aefb655Srie Dbg64_file_ldso; 1395aefb655Srie Dbg32_file_mode_promote; 1405aefb655Srie Dbg64_file_mode_promote; 1413906e0c2Srie Dbg32_file_modified; 1423906e0c2Srie Dbg64_file_modified; 1435aefb655Srie Dbg32_file_needed; 1445aefb655Srie Dbg64_file_needed; 1455aefb655Srie Dbg32_file_output; 1465aefb655Srie Dbg64_file_output; 1475aefb655Srie Dbg32_file_preload; 1485aefb655Srie Dbg64_file_preload; 1495aefb655Srie Dbg32_file_prot; 1505aefb655Srie Dbg64_file_prot; 1515aefb655Srie Dbg32_file_rejected; 1525aefb655Srie Dbg64_file_rejected; 1535aefb655Srie Dbg32_file_reuse; 1545aefb655Srie Dbg64_file_reuse; 1555aefb655Srie Dbg32_file_skip; 1565aefb655Srie Dbg64_file_skip; 1575aefb655Srie 1585aefb655Srie Dbg32_got_display; 1595aefb655Srie Dbg64_got_display; 1605aefb655Srie 1615aefb655Srie Dbg32_libs_audit; 1625aefb655Srie Dbg64_libs_audit; 1635aefb655Srie Dbg32_libs_find; 1645aefb655Srie Dbg64_libs_find; 1655aefb655Srie Dbg32_libs_found; 1665aefb655Srie Dbg64_libs_found; 1675aefb655Srie Dbg32_libs_ignore; 1685aefb655Srie Dbg64_libs_ignore; 1695aefb655Srie Dbg32_libs_init; 1705aefb655Srie Dbg64_libs_init; 1715aefb655Srie Dbg32_libs_l; 1725aefb655Srie Dbg64_libs_l; 1735aefb655Srie Dbg32_libs_path; 1745aefb655Srie Dbg64_libs_path; 1755aefb655Srie Dbg32_libs_req; 1765aefb655Srie Dbg64_libs_req; 1775aefb655Srie Dbg32_libs_update; 1785aefb655Srie Dbg64_libs_update; 1795aefb655Srie Dbg32_libs_yp; 1805aefb655Srie Dbg64_libs_yp; 1815aefb655Srie Dbg32_libs_ylu; 1825aefb655Srie Dbg64_libs_ylu; 1835aefb655Srie 1845aefb655Srie Dbg32_map_dash; 1855aefb655Srie Dbg64_map_dash; 1865aefb655Srie Dbg32_map_ent; 1875aefb655Srie Dbg64_map_ent; 1885aefb655Srie Dbg32_map_parse; 1895aefb655Srie Dbg64_map_parse; 1905aefb655Srie Dbg32_map_pipe; 1915aefb655Srie Dbg64_map_pipe; 1925aefb655Srie Dbg32_map_set_atsign; 1935aefb655Srie Dbg64_map_set_atsign; 1945aefb655Srie Dbg32_map_seg; 1955aefb655Srie Dbg64_map_seg; 1965aefb655Srie Dbg32_map_set_equal; 1975aefb655Srie Dbg64_map_set_equal; 1985aefb655Srie Dbg32_map_size_new; 1995aefb655Srie Dbg64_map_size_new; 2005aefb655Srie Dbg32_map_size_old; 2015aefb655Srie Dbg64_map_size_old; 2025aefb655Srie Dbg32_map_sort_fini; 2035aefb655Srie Dbg64_map_sort_fini; 2045aefb655Srie Dbg32_map_sort_orig; 2055aefb655Srie Dbg64_map_sort_orig; 2065aefb655Srie Dbg32_map_symbol; 2075aefb655Srie Dbg64_map_symbol; 2085aefb655Srie Dbg32_map_version; 2095aefb655Srie Dbg64_map_version; 2105aefb655Srie 2115aefb655Srie Dbg32_move_adjexpandreloc; 2125aefb655Srie Dbg64_move_adjexpandreloc; 2135aefb655Srie Dbg32_move_adjmovereloc; 2145aefb655Srie Dbg64_move_adjmovereloc; 2155aefb655Srie Dbg32_move_data; 2165aefb655Srie Dbg64_move_data; 2175aefb655Srie Dbg32_move_entry1; 2185aefb655Srie Dbg64_move_entry1; 2195aefb655Srie Dbg32_move_entry2; 2205aefb655Srie Dbg64_move_entry2; 2215aefb655Srie Dbg32_move_expand; 2225aefb655Srie Dbg64_move_expand; 2235aefb655Srie Dbg32_move_input; 2245aefb655Srie Dbg64_move_input; 2255aefb655Srie Dbg32_move_outmove; 2265aefb655Srie Dbg64_move_outmove; 2275aefb655Srie Dbg32_move_outsctadj; 2285aefb655Srie Dbg64_move_outsctadj; 2295aefb655Srie Dbg32_move_parexpn; 2305aefb655Srie Dbg64_move_parexpn; 2315aefb655Srie 2325aefb655Srie Dbg32_reloc_apply_reg; 2335aefb655Srie Dbg64_reloc_apply_reg; 2345aefb655Srie Dbg32_reloc_apply_val; 2355aefb655Srie Dbg64_reloc_apply_val; 2365aefb655Srie Dbg32_reloc_ars_entry; 2375aefb655Srie Dbg64_reloc_ars_entry; 2385aefb655Srie Dbg32_reloc_copy; 2395aefb655Srie Dbg64_reloc_copy; 2405aefb655Srie Dbg32_reloc_discard; 2415aefb655Srie Dbg64_reloc_discard; 2425aefb655Srie Dbg32_reloc_doact; 2435aefb655Srie Dbg64_reloc_doact; 2445aefb655Srie Dbg32_reloc_doact_title; 2455aefb655Srie Dbg64_reloc_doact_title; 2465aefb655Srie Dbg32_reloc_dooutrel; 2475aefb655Srie Dbg64_reloc_dooutrel; 2485aefb655Srie Dbg32_reloc_entry; 2495aefb655Srie Dbg64_reloc_entry; 2505aefb655Srie Dbg32_reloc_error; 2515aefb655Srie Dbg64_reloc_error; 2525aefb655Srie Dbg32_reloc_generate; 2535aefb655Srie Dbg64_reloc_generate; 2545aefb655Srie Dbg32_reloc_in; 2555aefb655Srie Dbg64_reloc_in; 2565aefb655Srie Dbg32_reloc_ors_entry; 2575aefb655Srie Dbg64_reloc_ors_entry; 2585aefb655Srie Dbg32_reloc_out; 2595aefb655Srie Dbg64_reloc_out; 2605aefb655Srie Dbg32_reloc_proc; 2615aefb655Srie Dbg64_reloc_proc; 2625aefb655Srie Dbg32_reloc_run; 2635aefb655Srie Dbg64_reloc_run; 264d2ef9fe9Sab196087 Dbg32_reloc_sloppycomdat; 265d2ef9fe9Sab196087 Dbg64_reloc_sloppycomdat; 2665aefb655Srie Dbg32_reloc_transition; 2675aefb655Srie Dbg64_reloc_transition; 2685aefb655Srie 2695aefb655Srie Dbg32_sec_added; 2705aefb655Srie Dbg64_sec_added; 2715aefb655Srie Dbg32_sec_created; 2725aefb655Srie Dbg64_sec_created; 2735aefb655Srie Dbg32_sec_discarded; 2745aefb655Srie Dbg64_sec_discarded; 275cce0e03bSab196087 Dbg32_sec_genstr_compress; 276cce0e03bSab196087 Dbg64_sec_genstr_compress; 2775aefb655Srie Dbg32_sec_group; 2785aefb655Srie Dbg64_sec_group; 2795aefb655Srie Dbg32_sec_in; 2805aefb655Srie Dbg64_sec_in; 2815aefb655Srie Dbg32_sec_order_error; 2825aefb655Srie Dbg64_sec_order_error; 2835aefb655Srie Dbg32_sec_order_list; 2845aefb655Srie Dbg64_sec_order_list; 2855aefb655Srie Dbg32_sec_strtab; 2865aefb655Srie Dbg64_sec_strtab; 287cce0e03bSab196087 Dbg32_sec_unsup_strmerge; 288cce0e03bSab196087 Dbg64_sec_unsup_strmerge; 2895aefb655Srie 2905aefb655Srie Dbg32_seg_entry; 2915aefb655Srie Dbg64_seg_entry; 2925aefb655Srie Dbg32_seg_list; 2935aefb655Srie Dbg64_seg_list; 2945aefb655Srie Dbg32_seg_os; 2955aefb655Srie Dbg64_seg_os; 2965aefb655Srie Dbg32_seg_title; 2975aefb655Srie Dbg64_seg_title; 2985aefb655Srie 2997010c12aSrie Dbg32_shdr_modified; 3007010c12aSrie Dbg64_shdr_modified; 3017010c12aSrie 3025aefb655Srie Dbg32_statistics_ar; 3035aefb655Srie Dbg64_statistics_ar; 3045aefb655Srie Dbg32_statistics_ld; 3055aefb655Srie Dbg64_statistics_ld; 3065aefb655Srie 3075aefb655Srie Dbg32_support_action; 3085aefb655Srie Dbg64_support_action; 3095aefb655Srie Dbg32_support_load; 3105aefb655Srie Dbg64_support_load; 3115aefb655Srie Dbg32_support_req; 3125aefb655Srie Dbg64_support_req; 3135aefb655Srie 3145aefb655Srie Dbg32_syminfo_entry; 3155aefb655Srie Dbg64_syminfo_entry; 3165aefb655Srie Dbg32_syminfo_title; 3175aefb655Srie Dbg64_syminfo_title; 3185aefb655Srie 3195aefb655Srie Dbg32_syms_ar_checking; 3205aefb655Srie Dbg64_syms_ar_checking; 3215aefb655Srie Dbg32_syms_ar_entry; 3225aefb655Srie Dbg64_syms_ar_entry; 3235aefb655Srie Dbg32_syms_ar_resolve; 3245aefb655Srie Dbg64_syms_ar_resolve; 3255aefb655Srie Dbg32_syms_ar_title; 3265aefb655Srie Dbg64_syms_ar_title; 3275aefb655Srie Dbg32_syms_created; 3285aefb655Srie Dbg64_syms_created; 3295aefb655Srie Dbg32_syms_discarded; 3305aefb655Srie Dbg64_syms_discarded; 3315aefb655Srie Dbg32_syms_dlsym; 3325aefb655Srie Dbg64_syms_dlsym; 333d579eb63Sab196087 Dbg32_syms_dup_sort_addr; 334d579eb63Sab196087 Dbg64_syms_dup_sort_addr; 3355aefb655Srie Dbg32_syms_entered; 3365aefb655Srie Dbg64_syms_entered; 3375aefb655Srie Dbg32_syms_entry; 3385aefb655Srie Dbg64_syms_entry; 3395aefb655Srie Dbg32_syms_global; 3405aefb655Srie Dbg64_syms_global; 3415aefb655Srie Dbg32_syms_ignore; 3425aefb655Srie Dbg64_syms_ignore; 343d840867fSab196087 Dbg32_syms_ignore_gnuver; 344d840867fSab196087 Dbg64_syms_ignore_gnuver; 3455aefb655Srie Dbg32_syms_lazy_rescan; 3465aefb655Srie Dbg64_syms_lazy_rescan; 3475aefb655Srie Dbg32_syms_lookup; 3485aefb655Srie Dbg64_syms_lookup; 3495aefb655Srie Dbg32_syms_lookup_aout; 3505aefb655Srie Dbg32_syms_new; 3515aefb655Srie Dbg64_syms_new; 3525aefb655Srie Dbg32_syms_old; 3535aefb655Srie Dbg64_syms_old; 3545aefb655Srie Dbg32_syms_process; 3555aefb655Srie Dbg64_syms_process; 3565aefb655Srie Dbg32_syms_reduce; 3575aefb655Srie Dbg64_syms_reduce; 3585aefb655Srie Dbg32_syms_reloc; 3595aefb655Srie Dbg64_syms_reloc; 3605aefb655Srie Dbg32_syms_resolved; 3615aefb655Srie Dbg64_syms_resolved; 3625aefb655Srie Dbg32_syms_resolving; 3635aefb655Srie Dbg64_syms_resolving; 3645aefb655Srie Dbg32_syms_sec_entry; 3655aefb655Srie Dbg64_syms_sec_entry; 3665aefb655Srie Dbg32_syms_sec_title; 3675aefb655Srie Dbg64_syms_sec_title; 3685aefb655Srie Dbg32_syms_spec_title; 3695aefb655Srie Dbg64_syms_spec_title; 3705aefb655Srie Dbg32_syms_updated; 3715aefb655Srie Dbg64_syms_updated; 3725aefb655Srie Dbg32_syms_up_title; 3735aefb655Srie Dbg64_syms_up_title; 3745aefb655Srie 3757c478bd9Sstevel@tonic-gate Dbg_tls_modactivity; 3767c478bd9Sstevel@tonic-gate Dbg_tls_static_block; 377d326b23bSrie Dbg_tls_static_resv; 3785aefb655Srie 3795aefb655Srie Dbg32_util_broadcast; 3805aefb655Srie Dbg64_util_broadcast; 3815aefb655Srie Dbg32_util_call_array; 3825aefb655Srie Dbg64_util_call_array; 3835aefb655Srie Dbg32_util_call_fini; 3845aefb655Srie Dbg64_util_call_fini; 3855aefb655Srie Dbg32_util_call_init; 3865aefb655Srie Dbg64_util_call_init; 3875aefb655Srie Dbg32_util_call_main; 3885aefb655Srie Dbg64_util_call_main; 3895aefb655Srie Dbg32_util_collect; 3905aefb655Srie Dbg64_util_collect; 3915aefb655Srie Dbg32_util_dbnotify; 3925aefb655Srie Dbg64_util_dbnotify; 3935aefb655Srie Dbg32_util_edge_in; 3945aefb655Srie Dbg64_util_edge_in; 3955aefb655Srie Dbg32_util_edge_out; 3965aefb655Srie Dbg64_util_edge_out; 39710a4fa49Srie Dbg32_util_lcinterface; 39810a4fa49Srie Dbg64_util_lcinterface; 3995aefb655Srie Dbg32_util_intoolate; 4005aefb655Srie Dbg64_util_intoolate; 4015aefb655Srie Dbg32_util_nl; 4025aefb655Srie Dbg64_util_nl; 4035aefb655Srie Dbg32_util_no_init; 4045aefb655Srie Dbg64_util_no_init; 4055aefb655Srie Dbg32_util_scc_entry; 4065aefb655Srie Dbg64_util_scc_entry; 4075aefb655Srie Dbg32_util_scc_title; 4085aefb655Srie Dbg64_util_scc_title; 4095aefb655Srie Dbg32_util_str; 4105aefb655Srie Dbg64_util_str; 4115aefb655Srie Dbg32_util_wait; 4125aefb655Srie Dbg64_util_wait; 4135aefb655Srie 4145aefb655Srie Dbg32_unused_file; 4155aefb655Srie Dbg64_unused_file; 41610a4fa49Srie Dbg32_unused_lcinterface; 41710a4fa49Srie Dbg64_unused_lcinterface; 4189aa23310Srie Dbg32_unused_path; 4199aa23310Srie Dbg64_unused_path; 4205aefb655Srie Dbg32_unused_sec; 4215aefb655Srie Dbg64_unused_sec; 4225aefb655Srie Dbg32_unused_unref; 4235aefb655Srie Dbg64_unused_unref; 4245aefb655Srie 4255aefb655Srie Dbg32_ver_avail_entry; 4265aefb655Srie Dbg64_ver_avail_entry; 4275aefb655Srie Dbg32_ver_avail_title; 4285aefb655Srie Dbg64_ver_avail_title; 4295aefb655Srie Dbg32_ver_def_title; 4305aefb655Srie Dbg64_ver_def_title; 4315aefb655Srie Dbg32_ver_desc_entry; 4325aefb655Srie Dbg64_ver_desc_entry; 4335aefb655Srie Dbg32_ver_need_entry; 4345aefb655Srie Dbg64_ver_need_entry; 4355aefb655Srie Dbg32_ver_need_title; 4365aefb655Srie Dbg64_ver_need_title; 4375aefb655Srie Dbg32_ver_nointerface; 4385aefb655Srie Dbg64_ver_nointerface; 4395aefb655Srie Dbg32_ver_symbol; 4405aefb655Srie Dbg64_ver_symbol; 4415aefb655Srie 442d840867fSab196087} SUNWprivate_3.23; 4437c478bd9Sstevel@tonic-gate 4447c478bd9Sstevel@tonic-gate 4457c478bd9Sstevel@tonic-gate# The following interfaces are used by various parts of the link-editors and 446d579eb63Sab196087# elfdump(1). The link-editors are always packaged together but there 4477c478bd9Sstevel@tonic-gate# seems to be a variety of old elfdump's lying around. elfdump only uses 4487c478bd9Sstevel@tonic-gate# this interface, and thus by separating in from the ever changing Dbg_* 44933eb6ee1Sab196087# interfaces we can provide a stable versioning environment for this utility. 4507c478bd9Sstevel@tonic-gate 451d840867fSab196087SUNWprivate_3.23 { 4527c478bd9Sstevel@tonic-gate global: 4535aefb655Srie Elf_syminfo_entry; 4545aefb655Srie Elf_syminfo_title; 4555aefb655Srie 4565aefb655Srie Elf32_cap_entry; 4575aefb655Srie Elf64_cap_entry; 4585aefb655Srie Elf32_cap_title; 4595aefb655Srie Elf64_cap_title; 4605aefb655Srie 4615aefb655Srie Elf32_demangle_name; 4625aefb655Srie Elf64_demangle_name; 4635aefb655Srie Elf32_dyn_entry; 4645aefb655Srie Elf64_dyn_entry; 4653244bcaaSab196087 Elf32_dyn_null_entry; 4663244bcaaSab196087 Elf64_dyn_null_entry; 4675aefb655Srie Elf32_dyn_title; 4685aefb655Srie Elf64_dyn_title; 4695aefb655Srie 4705aefb655Srie Elf32_ehdr; 4715aefb655Srie Elf64_ehdr; 4725aefb655Srie 4735aefb655Srie Elf32_got_entry; 4745aefb655Srie Elf64_got_entry; 4755aefb655Srie Elf32_got_title; 4765aefb655Srie Elf64_got_title; 4775aefb655Srie 4785aefb655Srie Elf32_phdr; 4795aefb655Srie Elf64_phdr; 4805aefb655Srie 4815aefb655Srie Elf32_reloc_apply_reg; 4825aefb655Srie Elf64_reloc_apply_reg; 4835aefb655Srie Elf32_reloc_apply_val; 4845aefb655Srie Elf64_reloc_apply_val; 4855aefb655Srie Elf32_reloc_entry_1; 4865aefb655Srie Elf64_reloc_entry_1; 4875aefb655Srie Elf32_reloc_entry_2; 4885aefb655Srie Elf64_reloc_entry_2; 4895aefb655Srie Elf32_reloc_title; 4905aefb655Srie Elf64_reloc_title; 4915aefb655Srie 4925aefb655Srie Elf32_shdr; 4935aefb655Srie Elf64_shdr; 4945aefb655Srie 4955aefb655Srie Elf32_syms_table_title; 4965aefb655Srie Elf64_syms_table_title; 4975aefb655Srie Elf32_syms_table_entry; 4985aefb655Srie Elf64_syms_table_entry; 4995aefb655Srie 5005aefb655Srie Elf32_ver_def_title; 5015aefb655Srie Elf64_ver_def_title; 5025aefb655Srie Elf32_ver_line_1; 5035aefb655Srie Elf64_ver_line_1; 5045aefb655Srie Elf32_ver_line_2; 5055aefb655Srie Elf64_ver_line_2; 5065aefb655Srie Elf32_ver_line_3; 5075aefb655Srie Elf64_ver_line_3; 5085aefb655Srie Elf32_ver_line_4; 5095aefb655Srie Elf64_ver_line_4; 5105aefb655Srie Elf32_ver_line_5; 5115aefb655Srie Elf64_ver_line_5; 5125aefb655Srie Elf32_ver_need_title; 5135aefb655Srie Elf64_ver_need_title; 5147c478bd9Sstevel@tonic-gate 5157c478bd9Sstevel@tonic-gate local: 5167c478bd9Sstevel@tonic-gate *; 5177c478bd9Sstevel@tonic-gate}; 5187c478bd9Sstevel@tonic-gate 5197c478bd9Sstevel@tonic-gate# The following functions must be provided by our caller, or one of the callers 5207c478bd9Sstevel@tonic-gate# dependencies. When used with ld.so.1 all functions are provided from ld.so.1, 5217c478bd9Sstevel@tonic-gate# but when used with ld, many of the functions fall back to libc. Presently we 5227c478bd9Sstevel@tonic-gate# don't build liblddbg with a libc dependency simply to avoid having to load it 5237c478bd9Sstevel@tonic-gate# with ld.so.1 which already offers the required interfaces (from libc_pic.a). 5247c478bd9Sstevel@tonic-gate# Distinguishing between `parent' and `extern' symbols offers a small 5257c478bd9Sstevel@tonic-gate# performance advantage with direct bindings, but this is mainly a test of what 5267c478bd9Sstevel@tonic-gate# we're capable of doing, rather than an admission that its really worth it :-). 5277c478bd9Sstevel@tonic-gate 5287c478bd9Sstevel@tonic-gate{ 5297c478bd9Sstevel@tonic-gate _close = FUNCTION extern; 5307c478bd9Sstevel@tonic-gate _open = FUNCTION extern; 5317c478bd9Sstevel@tonic-gate _write = FUNCTION extern; 532*7257d1b4Sraf dgettext = FUNCTION extern; 5337c478bd9Sstevel@tonic-gate dlopen = FUNCTION extern; 5347c478bd9Sstevel@tonic-gate dlsym = FUNCTION extern; 5355aefb655Srie free = FUNCTION parent; 5365aefb655Srie malloc = FUNCTION parent; 5377c478bd9Sstevel@tonic-gate memcpy = FUNCTION extern; 5387c478bd9Sstevel@tonic-gate qsort = FUNCTION extern; 5397c478bd9Sstevel@tonic-gate snprintf = FUNCTION extern; 5407c478bd9Sstevel@tonic-gate sprintf = FUNCTION extern; 5417c478bd9Sstevel@tonic-gate strcat = FUNCTION extern; 5427c478bd9Sstevel@tonic-gate strcmp = FUNCTION extern; 5437c478bd9Sstevel@tonic-gate strcpy = FUNCTION extern; 5447c478bd9Sstevel@tonic-gate strlen = FUNCTION extern; 5457c478bd9Sstevel@tonic-gate strrchr = FUNCTION extern; 5467c478bd9Sstevel@tonic-gate strtok_r = FUNCTION extern; 5477c478bd9Sstevel@tonic-gate}; 548