xref: /illumos-gate/usr/src/cmd/sgs/liblddbg/common/mapfile-vers (revision 3906e0c22bea9bf690c20f62b0575c1b1d0ace2e)
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#
235aefb655Srie# Copyright 2006 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
41*3906e0c2SrieSUNWprivate_4.54 {
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;
487c478bd9Sstevel@tonic-gate		Dbg_audit_interface;
497c478bd9Sstevel@tonic-gate		Dbg_audit_lib;
507c478bd9Sstevel@tonic-gate		Dbg_audit_object;
517c478bd9Sstevel@tonic-gate		Dbg_audit_symval;
527c478bd9Sstevel@tonic-gate		Dbg_audit_version;
535aefb655Srie
547c478bd9Sstevel@tonic-gate		Dbg_setup;
555aefb655Srie
565aefb655Srie		Dbg32_bind_global;
575aefb655Srie		Dbg64_bind_global;
585aefb655Srie		Dbg32_bind_plt_summary;
595aefb655Srie		Dbg64_bind_plt_summary;
605aefb655Srie		Dbg64_bind_pltpad_from;
615aefb655Srie		Dbg64_bind_pltpad_to;
625aefb655Srie		Dbg32_bind_weak;
635aefb655Srie		Dbg64_bind_weak;
645aefb655Srie
655aefb655Srie		Dbg32_cap_hw_candidate;
665aefb655Srie		Dbg64_cap_hw_candidate;
675aefb655Srie		Dbg32_cap_hw_filter;
685aefb655Srie		Dbg64_cap_hw_filter;
695aefb655Srie		Dbg32_cap_mapfile;
705aefb655Srie		Dbg64_cap_mapfile;
715aefb655Srie		Dbg32_cap_sec_entry;
725aefb655Srie		Dbg64_cap_sec_entry;
735aefb655Srie		Dbg32_cap_sec_title;
745aefb655Srie		Dbg64_cap_sec_title;
755aefb655Srie		Dbg32_cap_val_hw1;
765aefb655Srie		Dbg64_cap_val_hw1;
775aefb655Srie
785aefb655Srie		Dbg32_demangle_name;
795aefb655Srie		Dbg64_demangle_name;
805aefb655Srie
815aefb655Srie		Dbg32_ent_print;
825aefb655Srie		Dbg64_ent_print;
835aefb655Srie
845aefb655Srie		Dbg32_file_analyze;
855aefb655Srie		Dbg64_file_analyze;
865aefb655Srie		Dbg32_file_aout;
875aefb655Srie		Dbg64_file_aout;
885aefb655Srie		Dbg32_file_ar;
895aefb655Srie		Dbg64_file_ar;
905aefb655Srie		Dbg32_file_ar_rescan;
915aefb655Srie		Dbg64_file_ar_rescan;
925aefb655Srie		Dbg32_file_bind_entry;
935aefb655Srie		Dbg64_file_bind_entry;
945aefb655Srie		Dbg32_file_bindings;
955aefb655Srie		Dbg64_file_bindings;
965aefb655Srie		Dbg32_file_cntl;
975aefb655Srie		Dbg64_file_cntl;
985aefb655Srie		Dbg32_file_config_dis;
995aefb655Srie		Dbg64_file_config_dis;
1005aefb655Srie		Dbg32_file_config_obj;
1015aefb655Srie		Dbg64_file_config_obj;
1025aefb655Srie		Dbg32_file_del_rescan;
1035aefb655Srie		Dbg64_file_del_rescan;
1045aefb655Srie		Dbg32_file_delete;
1055aefb655Srie		Dbg64_file_delete;
1065aefb655Srie		Dbg32_file_dlclose;
1075aefb655Srie		Dbg64_file_dlclose;
1085aefb655Srie		Dbg32_file_dldump;
1095aefb655Srie		Dbg64_file_dldump;
1105aefb655Srie		Dbg32_file_dlopen;
1115aefb655Srie		Dbg64_file_dlopen;
1125aefb655Srie		Dbg32_file_elf;
1135aefb655Srie		Dbg64_file_elf;
1145aefb655Srie		Dbg32_file_filtee;
1155aefb655Srie		Dbg64_file_filtee;
1165aefb655Srie		Dbg32_file_filter;
1175aefb655Srie		Dbg64_file_filter;
1185aefb655Srie		Dbg32_file_fixname;
1195aefb655Srie		Dbg64_file_fixname;
1205aefb655Srie		Dbg32_file_generic;
1215aefb655Srie		Dbg64_file_generic;
1225aefb655Srie		Dbg32_file_hdl_action;
1235aefb655Srie		Dbg64_file_hdl_action;
1245aefb655Srie		Dbg32_file_hdl_collect;
1255aefb655Srie		Dbg64_file_hdl_collect;
1265aefb655Srie		Dbg32_file_hdl_title;
1275aefb655Srie		Dbg64_file_hdl_title;
1285aefb655Srie		Dbg32_file_lazyload;
1295aefb655Srie		Dbg64_file_lazyload;
1305aefb655Srie		Dbg32_file_ldso;
1315aefb655Srie		Dbg64_file_ldso;
1325aefb655Srie		Dbg32_file_mode_promote;
1335aefb655Srie		Dbg64_file_mode_promote;
134*3906e0c2Srie		Dbg32_file_modified;
135*3906e0c2Srie		Dbg64_file_modified;
1365aefb655Srie		Dbg32_file_needed;
1375aefb655Srie		Dbg64_file_needed;
1385aefb655Srie		Dbg32_file_output;
1395aefb655Srie		Dbg64_file_output;
1405aefb655Srie		Dbg32_file_preload;
1415aefb655Srie		Dbg64_file_preload;
1425aefb655Srie		Dbg32_file_prot;
1435aefb655Srie		Dbg64_file_prot;
1445aefb655Srie		Dbg32_file_rejected;
1455aefb655Srie		Dbg64_file_rejected;
1465aefb655Srie		Dbg32_file_reuse;
1475aefb655Srie		Dbg64_file_reuse;
1485aefb655Srie		Dbg32_file_skip;
1495aefb655Srie		Dbg64_file_skip;
1505aefb655Srie
1515aefb655Srie		Dbg32_got_display;
1525aefb655Srie		Dbg64_got_display;
1535aefb655Srie
1545aefb655Srie		Dbg32_libs_audit;
1555aefb655Srie		Dbg64_libs_audit;
1565aefb655Srie		Dbg32_libs_find;
1575aefb655Srie		Dbg64_libs_find;
1585aefb655Srie		Dbg32_libs_found;
1595aefb655Srie		Dbg64_libs_found;
1605aefb655Srie		Dbg32_libs_ignore;
1615aefb655Srie		Dbg64_libs_ignore;
1625aefb655Srie		Dbg32_libs_init;
1635aefb655Srie		Dbg64_libs_init;
1645aefb655Srie		Dbg32_libs_l;
1655aefb655Srie		Dbg64_libs_l;
1665aefb655Srie		Dbg32_libs_path;
1675aefb655Srie		Dbg64_libs_path;
1685aefb655Srie		Dbg32_libs_req;
1695aefb655Srie		Dbg64_libs_req;
1705aefb655Srie		Dbg32_libs_update;
1715aefb655Srie		Dbg64_libs_update;
1725aefb655Srie		Dbg32_libs_yp;
1735aefb655Srie		Dbg64_libs_yp;
1745aefb655Srie		Dbg32_libs_ylu;
1755aefb655Srie		Dbg64_libs_ylu;
1765aefb655Srie
1775aefb655Srie		Dbg32_map_dash;
1785aefb655Srie		Dbg64_map_dash;
1795aefb655Srie		Dbg32_map_ent;
1805aefb655Srie		Dbg64_map_ent;
1815aefb655Srie		Dbg32_map_parse;
1825aefb655Srie		Dbg64_map_parse;
1835aefb655Srie		Dbg32_map_pipe;
1845aefb655Srie		Dbg64_map_pipe;
1855aefb655Srie		Dbg32_map_set_atsign;
1865aefb655Srie		Dbg64_map_set_atsign;
1875aefb655Srie		Dbg32_map_seg;
1885aefb655Srie		Dbg64_map_seg;
1895aefb655Srie		Dbg32_map_set_equal;
1905aefb655Srie		Dbg64_map_set_equal;
1915aefb655Srie		Dbg32_map_size_new;
1925aefb655Srie		Dbg64_map_size_new;
1935aefb655Srie		Dbg32_map_size_old;
1945aefb655Srie		Dbg64_map_size_old;
1955aefb655Srie		Dbg32_map_sort_fini;
1965aefb655Srie		Dbg64_map_sort_fini;
1975aefb655Srie		Dbg32_map_sort_orig;
1985aefb655Srie		Dbg64_map_sort_orig;
1995aefb655Srie		Dbg32_map_symbol;
2005aefb655Srie		Dbg64_map_symbol;
2015aefb655Srie		Dbg32_map_version;
2025aefb655Srie		Dbg64_map_version;
2035aefb655Srie
2045aefb655Srie		Dbg32_move_adjexpandreloc;
2055aefb655Srie		Dbg64_move_adjexpandreloc;
2065aefb655Srie		Dbg32_move_adjmovereloc;
2075aefb655Srie		Dbg64_move_adjmovereloc;
2085aefb655Srie		Dbg32_move_data;
2095aefb655Srie		Dbg64_move_data;
2105aefb655Srie		Dbg32_move_entry1;
2115aefb655Srie		Dbg64_move_entry1;
2125aefb655Srie		Dbg32_move_entry2;
2135aefb655Srie		Dbg64_move_entry2;
2145aefb655Srie		Dbg32_move_expand;
2155aefb655Srie		Dbg64_move_expand;
2165aefb655Srie		Dbg32_move_input;
2175aefb655Srie		Dbg64_move_input;
2185aefb655Srie		Dbg32_move_outmove;
2195aefb655Srie		Dbg64_move_outmove;
2205aefb655Srie		Dbg32_move_outsctadj;
2215aefb655Srie		Dbg64_move_outsctadj;
2225aefb655Srie		Dbg32_move_parexpn;
2235aefb655Srie		Dbg64_move_parexpn;
2245aefb655Srie
2255aefb655Srie		Dbg32_reloc_apply_reg;
2265aefb655Srie		Dbg64_reloc_apply_reg;
2275aefb655Srie		Dbg32_reloc_apply_val;
2285aefb655Srie		Dbg64_reloc_apply_val;
2295aefb655Srie		Dbg32_reloc_ars_entry;
2305aefb655Srie		Dbg64_reloc_ars_entry;
2315aefb655Srie		Dbg32_reloc_copy;
2325aefb655Srie		Dbg64_reloc_copy;
2335aefb655Srie		Dbg32_reloc_discard;
2345aefb655Srie		Dbg64_reloc_discard;
2355aefb655Srie		Dbg32_reloc_doact;
2365aefb655Srie		Dbg64_reloc_doact;
2375aefb655Srie		Dbg32_reloc_doact_title;
2385aefb655Srie		Dbg64_reloc_doact_title;
2395aefb655Srie		Dbg32_reloc_dooutrel;
2405aefb655Srie		Dbg64_reloc_dooutrel;
2415aefb655Srie		Dbg32_reloc_entry;
2425aefb655Srie		Dbg64_reloc_entry;
2435aefb655Srie		Dbg32_reloc_error;
2445aefb655Srie		Dbg64_reloc_error;
2455aefb655Srie		Dbg32_reloc_generate;
2465aefb655Srie		Dbg64_reloc_generate;
2475aefb655Srie		Dbg32_reloc_in;
2485aefb655Srie		Dbg64_reloc_in;
2495aefb655Srie		Dbg32_reloc_ors_entry;
2505aefb655Srie		Dbg64_reloc_ors_entry;
2515aefb655Srie		Dbg32_reloc_out;
2525aefb655Srie		Dbg64_reloc_out;
2535aefb655Srie		Dbg32_reloc_proc;
2545aefb655Srie		Dbg64_reloc_proc;
2555aefb655Srie		Dbg32_reloc_run;
2565aefb655Srie		Dbg64_reloc_run;
257d2ef9fe9Sab196087		Dbg32_reloc_sloppycomdat;
258d2ef9fe9Sab196087		Dbg64_reloc_sloppycomdat;
2595aefb655Srie		Dbg32_reloc_transition;
2605aefb655Srie		Dbg64_reloc_transition;
2615aefb655Srie
2625aefb655Srie		Dbg32_sec_added;
2635aefb655Srie		Dbg64_sec_added;
2645aefb655Srie		Dbg32_sec_created;
2655aefb655Srie		Dbg64_sec_created;
2665aefb655Srie		Dbg32_sec_discarded;
2675aefb655Srie		Dbg64_sec_discarded;
2685aefb655Srie		Dbg32_sec_group;
2695aefb655Srie		Dbg64_sec_group;
2705aefb655Srie		Dbg32_sec_in;
2715aefb655Srie		Dbg64_sec_in;
2725aefb655Srie		Dbg32_sec_order_error;
2735aefb655Srie		Dbg64_sec_order_error;
2745aefb655Srie		Dbg32_sec_order_list;
2755aefb655Srie		Dbg64_sec_order_list;
2765aefb655Srie		Dbg32_sec_strtab;
2775aefb655Srie		Dbg64_sec_strtab;
2785aefb655Srie
2795aefb655Srie		Dbg32_seg_entry;
2805aefb655Srie		Dbg64_seg_entry;
2815aefb655Srie		Dbg32_seg_list;
2825aefb655Srie		Dbg64_seg_list;
2835aefb655Srie		Dbg32_seg_os;
2845aefb655Srie		Dbg64_seg_os;
2855aefb655Srie		Dbg32_seg_title;
2865aefb655Srie		Dbg64_seg_title;
2875aefb655Srie
2887010c12aSrie		Dbg32_shdr_modified;
2897010c12aSrie		Dbg64_shdr_modified;
2907010c12aSrie
2915aefb655Srie		Dbg32_statistics_ar;
2925aefb655Srie		Dbg64_statistics_ar;
2935aefb655Srie		Dbg32_statistics_ld;
2945aefb655Srie		Dbg64_statistics_ld;
2955aefb655Srie
2965aefb655Srie		Dbg32_support_action;
2975aefb655Srie		Dbg64_support_action;
2985aefb655Srie		Dbg32_support_load;
2995aefb655Srie		Dbg64_support_load;
3005aefb655Srie		Dbg32_support_req;
3015aefb655Srie		Dbg64_support_req;
3025aefb655Srie
3035aefb655Srie		Dbg32_syminfo_entry;
3045aefb655Srie		Dbg64_syminfo_entry;
3055aefb655Srie		Dbg32_syminfo_title;
3065aefb655Srie		Dbg64_syminfo_title;
3075aefb655Srie
3085aefb655Srie		Dbg32_syms_ar_checking;
3095aefb655Srie		Dbg64_syms_ar_checking;
3105aefb655Srie		Dbg32_syms_ar_entry;
3115aefb655Srie		Dbg64_syms_ar_entry;
3125aefb655Srie		Dbg32_syms_ar_resolve;
3135aefb655Srie		Dbg64_syms_ar_resolve;
3145aefb655Srie		Dbg32_syms_ar_title;
3155aefb655Srie		Dbg64_syms_ar_title;
3165aefb655Srie		Dbg32_syms_created;
3175aefb655Srie		Dbg64_syms_created;
3185aefb655Srie		Dbg32_syms_discarded;
3195aefb655Srie		Dbg64_syms_discarded;
3205aefb655Srie		Dbg32_syms_dlsym;
3215aefb655Srie		Dbg64_syms_dlsym;
3225aefb655Srie		Dbg32_syms_entered;
3235aefb655Srie		Dbg64_syms_entered;
3245aefb655Srie		Dbg32_syms_entry;
3255aefb655Srie		Dbg64_syms_entry;
3265aefb655Srie		Dbg32_syms_global;
3275aefb655Srie		Dbg64_syms_global;
3285aefb655Srie		Dbg32_syms_ignore;
3295aefb655Srie		Dbg64_syms_ignore;
3305aefb655Srie		Dbg32_syms_lazy_rescan;
3315aefb655Srie		Dbg64_syms_lazy_rescan;
3325aefb655Srie		Dbg32_syms_lookup;
3335aefb655Srie		Dbg64_syms_lookup;
3345aefb655Srie		Dbg32_syms_lookup_aout;
3355aefb655Srie		Dbg32_syms_new;
3365aefb655Srie		Dbg64_syms_new;
3375aefb655Srie		Dbg32_syms_old;
3385aefb655Srie		Dbg64_syms_old;
3395aefb655Srie		Dbg32_syms_process;
3405aefb655Srie		Dbg64_syms_process;
3415aefb655Srie		Dbg32_syms_reduce;
3425aefb655Srie		Dbg64_syms_reduce;
3435aefb655Srie		Dbg32_syms_reloc;
3445aefb655Srie		Dbg64_syms_reloc;
3455aefb655Srie		Dbg32_syms_resolved;
3465aefb655Srie		Dbg64_syms_resolved;
3475aefb655Srie		Dbg32_syms_resolving;
3485aefb655Srie		Dbg64_syms_resolving;
3495aefb655Srie		Dbg32_syms_sec_entry;
3505aefb655Srie		Dbg64_syms_sec_entry;
3515aefb655Srie		Dbg32_syms_sec_title;
3525aefb655Srie		Dbg64_syms_sec_title;
3535aefb655Srie		Dbg32_syms_spec_title;
3545aefb655Srie		Dbg64_syms_spec_title;
3555aefb655Srie		Dbg32_syms_updated;
3565aefb655Srie		Dbg64_syms_updated;
3575aefb655Srie		Dbg32_syms_up_title;
3585aefb655Srie		Dbg64_syms_up_title;
3595aefb655Srie
3607c478bd9Sstevel@tonic-gate		Dbg_tls_modactivity;
3617c478bd9Sstevel@tonic-gate		Dbg_tls_static_block;
362d326b23bSrie		Dbg_tls_static_resv;
3635aefb655Srie
3645aefb655Srie		Dbg32_util_broadcast;
3655aefb655Srie		Dbg64_util_broadcast;
3665aefb655Srie		Dbg32_util_call_array;
3675aefb655Srie		Dbg64_util_call_array;
3685aefb655Srie		Dbg32_util_call_fini;
3695aefb655Srie		Dbg64_util_call_fini;
3705aefb655Srie		Dbg32_util_call_init;
3715aefb655Srie		Dbg64_util_call_init;
3725aefb655Srie		Dbg32_util_call_main;
3735aefb655Srie		Dbg64_util_call_main;
3745aefb655Srie		Dbg32_util_collect;
3755aefb655Srie		Dbg64_util_collect;
3765aefb655Srie		Dbg32_util_dbnotify;
3775aefb655Srie		Dbg64_util_dbnotify;
3785aefb655Srie		Dbg32_util_edge_in;
3795aefb655Srie		Dbg64_util_edge_in;
3805aefb655Srie		Dbg32_util_edge_out;
3815aefb655Srie		Dbg64_util_edge_out;
38210a4fa49Srie		Dbg32_util_lcinterface;
38310a4fa49Srie		Dbg64_util_lcinterface;
3845aefb655Srie		Dbg32_util_intoolate;
3855aefb655Srie		Dbg64_util_intoolate;
3865aefb655Srie		Dbg32_util_nl;
3875aefb655Srie		Dbg64_util_nl;
3885aefb655Srie		Dbg32_util_no_init;
3895aefb655Srie		Dbg64_util_no_init;
3905aefb655Srie		Dbg32_util_scc_entry;
3915aefb655Srie		Dbg64_util_scc_entry;
3925aefb655Srie		Dbg32_util_scc_title;
3935aefb655Srie		Dbg64_util_scc_title;
3945aefb655Srie		Dbg32_util_str;
3955aefb655Srie		Dbg64_util_str;
3965aefb655Srie		Dbg32_util_wait;
3975aefb655Srie		Dbg64_util_wait;
3985aefb655Srie
3995aefb655Srie		Dbg32_unused_file;
4005aefb655Srie		Dbg64_unused_file;
40110a4fa49Srie		Dbg32_unused_lcinterface;
40210a4fa49Srie		Dbg64_unused_lcinterface;
4035aefb655Srie		Dbg32_unused_sec;
4045aefb655Srie		Dbg64_unused_sec;
4055aefb655Srie		Dbg32_unused_unref;
4065aefb655Srie		Dbg64_unused_unref;
4075aefb655Srie
4085aefb655Srie		Dbg32_ver_avail_entry;
4095aefb655Srie		Dbg64_ver_avail_entry;
4105aefb655Srie		Dbg32_ver_avail_title;
4115aefb655Srie		Dbg64_ver_avail_title;
4125aefb655Srie		Dbg32_ver_def_title;
4135aefb655Srie		Dbg64_ver_def_title;
4145aefb655Srie		Dbg32_ver_desc_entry;
4155aefb655Srie		Dbg64_ver_desc_entry;
4165aefb655Srie		Dbg32_ver_need_entry;
4175aefb655Srie		Dbg64_ver_need_entry;
4185aefb655Srie		Dbg32_ver_need_title;
4195aefb655Srie		Dbg64_ver_need_title;
4205aefb655Srie		Dbg32_ver_nointerface;
4215aefb655Srie		Dbg64_ver_nointerface;
4225aefb655Srie		Dbg32_ver_symbol;
4235aefb655Srie		Dbg64_ver_symbol;
4245aefb655Srie
4255aefb655Srie} SUNWprivate_3.20;
4267c478bd9Sstevel@tonic-gate
4277c478bd9Sstevel@tonic-gate
4287c478bd9Sstevel@tonic-gate# The following interfaces are used by various parts of the link-editors and
4297c478bd9Sstevel@tonic-gate# the elfdump(1).  The link-editors are always packaged together but there
4307c478bd9Sstevel@tonic-gate# seems to be a variety of old elfdump's lying around.  elfdump only uses
4317c478bd9Sstevel@tonic-gate# this interface, and thus by separating in from the ever changing Dbg_*
4327c478bd9Sstevel@tonic-gate# interfaces we can provide a stable verioning environment for this utility.
4337c478bd9Sstevel@tonic-gate
4345aefb655SrieSUNWprivate_3.20 {
4357c478bd9Sstevel@tonic-gate	global:
4365aefb655Srie		Elf_syminfo_entry;
4375aefb655Srie		Elf_syminfo_title;
4385aefb655Srie
4395aefb655Srie		Elf32_cap_entry;
4405aefb655Srie		Elf64_cap_entry;
4415aefb655Srie		Elf32_cap_title;
4425aefb655Srie		Elf64_cap_title;
4435aefb655Srie
4445aefb655Srie		Elf32_demangle_name;
4455aefb655Srie		Elf64_demangle_name;
4465aefb655Srie		Elf32_dyn_entry;
4475aefb655Srie		Elf64_dyn_entry;
4485aefb655Srie		Elf32_dyn_title;
4495aefb655Srie		Elf64_dyn_title;
4505aefb655Srie
4515aefb655Srie		Elf32_ehdr;
4525aefb655Srie		Elf64_ehdr;
4535aefb655Srie
4545aefb655Srie		Elf32_got_entry;
4555aefb655Srie		Elf64_got_entry;
4565aefb655Srie		Elf32_got_title;
4575aefb655Srie		Elf64_got_title;
4585aefb655Srie
4595aefb655Srie		Elf32_phdr;
4605aefb655Srie		Elf64_phdr;
4615aefb655Srie
4625aefb655Srie		Elf32_reloc_apply_reg;
4635aefb655Srie		Elf64_reloc_apply_reg;
4645aefb655Srie		Elf32_reloc_apply_val;
4655aefb655Srie		Elf64_reloc_apply_val;
4665aefb655Srie		Elf32_reloc_entry_1;
4675aefb655Srie		Elf64_reloc_entry_1;
4685aefb655Srie		Elf32_reloc_entry_2;
4695aefb655Srie		Elf64_reloc_entry_2;
4705aefb655Srie		Elf32_reloc_title;
4715aefb655Srie		Elf64_reloc_title;
4725aefb655Srie
4735aefb655Srie		Elf32_shdr;
4745aefb655Srie		Elf64_shdr;
4755aefb655Srie
4765aefb655Srie		Elf32_syms_table_title;
4775aefb655Srie		Elf64_syms_table_title;
4785aefb655Srie		Elf32_syms_table_entry;
4795aefb655Srie		Elf64_syms_table_entry;
4805aefb655Srie
4815aefb655Srie		Elf32_ver_def_title;
4825aefb655Srie		Elf64_ver_def_title;
4835aefb655Srie		Elf32_ver_line_1;
4845aefb655Srie		Elf64_ver_line_1;
4855aefb655Srie		Elf32_ver_line_2;
4865aefb655Srie		Elf64_ver_line_2;
4875aefb655Srie		Elf32_ver_line_3;
4885aefb655Srie		Elf64_ver_line_3;
4895aefb655Srie		Elf32_ver_line_4;
4905aefb655Srie		Elf64_ver_line_4;
4915aefb655Srie		Elf32_ver_line_5;
4925aefb655Srie		Elf64_ver_line_5;
4935aefb655Srie		Elf32_ver_need_title;
4945aefb655Srie		Elf64_ver_need_title;
4957c478bd9Sstevel@tonic-gate
4967c478bd9Sstevel@tonic-gate	local:
4977c478bd9Sstevel@tonic-gate		*;
4987c478bd9Sstevel@tonic-gate};
4997c478bd9Sstevel@tonic-gate
5007c478bd9Sstevel@tonic-gate# The following functions must be provided by our caller, or one of the callers
5017c478bd9Sstevel@tonic-gate# dependencies.  When used with ld.so.1 all functions are provided from ld.so.1,
5027c478bd9Sstevel@tonic-gate# but when used with ld, many of the functions fall back to libc.  Presently we
5037c478bd9Sstevel@tonic-gate# don't build liblddbg with a libc dependency simply to avoid having to load it
5047c478bd9Sstevel@tonic-gate# with ld.so.1 which already offers the required interfaces (from libc_pic.a).
5057c478bd9Sstevel@tonic-gate# Distinguishing between `parent' and `extern' symbols offers a small
5067c478bd9Sstevel@tonic-gate# performance advantage with direct bindings, but this is mainly a test of what
5077c478bd9Sstevel@tonic-gate# we're capable of doing, rather than an admission that its really worth it :-).
5087c478bd9Sstevel@tonic-gate
5097c478bd9Sstevel@tonic-gate{
5107c478bd9Sstevel@tonic-gate		_dgettext =	FUNCTION extern;
5117c478bd9Sstevel@tonic-gate		_close =	FUNCTION extern;
5127c478bd9Sstevel@tonic-gate		_open =		FUNCTION extern;
5137c478bd9Sstevel@tonic-gate		_write =	FUNCTION extern;
5147c478bd9Sstevel@tonic-gate		dlopen =	FUNCTION extern;
5157c478bd9Sstevel@tonic-gate		dlsym =		FUNCTION extern;
5165aefb655Srie		free =		FUNCTION parent;
5175aefb655Srie		malloc =	FUNCTION parent;
5187c478bd9Sstevel@tonic-gate		memcpy =	FUNCTION extern;
5197c478bd9Sstevel@tonic-gate		qsort =		FUNCTION extern;
5207c478bd9Sstevel@tonic-gate		snprintf =	FUNCTION extern;
5217c478bd9Sstevel@tonic-gate		sprintf =	FUNCTION extern;
5227c478bd9Sstevel@tonic-gate		strcat =	FUNCTION extern;
5237c478bd9Sstevel@tonic-gate		strcmp =	FUNCTION extern;
5247c478bd9Sstevel@tonic-gate		strcpy =	FUNCTION extern;
5257c478bd9Sstevel@tonic-gate		strlen =	FUNCTION extern;
5267c478bd9Sstevel@tonic-gate		strrchr =	FUNCTION extern;
5277c478bd9Sstevel@tonic-gate		strtok_r =	FUNCTION extern;
5287c478bd9Sstevel@tonic-gate};
529