xref: /illumos-gate/usr/src/cmd/sgs/liblddbg/common/mapfile-vers (revision 09f67678c27dda8a89f87f1f408a87dd49ceb0e1)
1#
2# ident	"%Z%%M%	%I%	%E% SMI"
3#
4# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
5# Use is subject to license terms.
6#
7# CDDL HEADER START
8#
9# The contents of this file are subject to the terms of the
10# Common Development and Distribution License, Version 1.0 only
11# (the "License").  You may not use this file except in compliance
12# with the License.
13#
14# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15# or http://www.opensolaris.org/os/licensing.
16# See the License for the specific language governing permissions
17# and limitations under the License.
18#
19# When distributing Covered Code, include this CDDL HEADER in each
20# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21# If applicable, add the following below this CDDL HEADER, with the
22# fields enclosed by brackets "[]" replaced with your own identifying
23# information: Portions Copyright [yyyy] [name of copyright owner]
24#
25# CDDL HEADER END
26#
27# Generic interface definition for usr/src/cmd/sgs/liblddbg.
28#
29# For information regarding the establishment of versioned definitions see:
30#	The Linker and Libraries Manual (version 2.5 or greater)
31# This is part of the Developers Guide in the Answerbook.  Specifically refer
32# to Chapter 2 under section "Defining Additional Symbols" through section
33# "Reducing Symbol Scope", and Chapter 5 "Versioning".
34#
35# For specific OSNET rules for the modification (evolution) of these version
36# definitions see:
37#	Policy for Shared Library Version Names and Interface Definitions
38
39
40SUNWprivate_4.45 {
41	global:
42		Dbg_args_files;
43		Dbg_args_flags;
44		Dbg_audit_interface;
45		Dbg_audit_lib;
46		Dbg_audit_object;
47		Dbg_audit_symval;
48		Dbg_audit_version;
49		Dbg_bind_global;
50		Dbg_bind_profile;
51		Dbg_bind_weak;
52		Dbg_bind_plt_summary;
53		Dbg_cap_hw_candidate;
54		Dbg_cap_hw_filter;
55		Dbg_cap_hw_1;
56		Dbg_cap_hw_164;
57		Dbg_cap_mapfile;
58		Dbg_cap_mapfile64;
59		Dbg_cap_sec_entry;
60		Dbg_cap_sec_entry64;
61		Dbg_cap_sec_title;
62		Dbg_ent_print;
63		Dbg_file_analyze;
64		Dbg_file_aout;
65		Dbg_file_archive;
66		Dbg_file_ar_rescan;
67		Dbg_file_bind_entry;
68		Dbg_file_cntl;
69		Dbg_file_config_dis;
70		Dbg_file_config_obj;
71		Dbg_file_delete;
72		Dbg_file_dlclose;
73		Dbg_file_dldump;
74		Dbg_file_dlopen;
75		Dbg_file_elf;
76		Dbg_file_filtee;
77		Dbg_file_filter;
78		Dbg_file_fixname;
79		Dbg_file_generic;
80		Dbg_file_hdl_action;
81		Dbg_file_hdl_collect;
82		Dbg_file_hdl_title;
83		Dbg_file_lazyload;
84		Dbg_file_ldso;
85		Dbg_file_mode_promote;
86		Dbg_file_needed;
87		Dbg_file_nl;
88		Dbg_file_output;
89		Dbg_file_preload;
90		Dbg_file_prot;
91		Dbg_file_rejected;
92		Dbg_file_del_rescan;
93		Dbg_file_reuse;
94		Dbg_file_skip;
95		Dbg_got_display;
96		Dbg_libs_audit;
97		Dbg_libs_ignore;
98		Dbg_libs_init;
99		Dbg_libs_l;
100		Dbg_libs_path;
101		Dbg_libs_req;
102		Dbg_libs_update;
103		Dbg_libs_yp;
104		Dbg_libs_ylu;
105		Dbg_libs_find;
106		Dbg_libs_found;
107		Dbg_map_atsign;
108		Dbg_map_dash;
109		Dbg_map_ent;
110		Dbg_map_equal;
111		Dbg_map_parse;
112		Dbg_map_pipe;
113		Dbg_map_seg;
114		Dbg_map_size_new;
115		Dbg_map_size_old;
116		Dbg_map_sort_fini;
117		Dbg_map_sort_orig;
118		Dbg_map_symbol;
119		Dbg_map_version;
120		Dbg_move_adjexpandreloc;
121		Dbg_move_adjmovereloc;
122		Dbg_move_data;
123		Dbg_move_expanding;
124		Dbg_move_input1;
125		Dbg_move_outsctadj;
126		Dbg_move_outsctadj64;
127		Dbg_move_outmove;
128		Dbg_move_mventry;
129		Dbg_move_mventry64;
130		Dbg_move_mventry2;
131		Dbg_move_mventry264;
132		Dbg_move_parexpn;
133		Dbg_reloc_apply;
134		Dbg_reloc_ars_entry;
135		Dbg_reloc_copy;
136		Dbg_reloc_discard;
137		Dbg_reloc_doact;
138		Dbg_reloc_doactiverel;
139		Dbg_reloc_dooutrel;
140		Dbg_reloc_error;
141		Dbg_reloc_generate;
142		Dbg_reloc_in;
143		Dbg_reloc_ors_entry;
144		Dbg_reloc_out;
145		Dbg_reloc_proc;
146		Dbg_reloc_reg_apply;
147		Dbg_reloc_run;
148		Dbg_reloc_transition;
149		Dbg_sec_added;
150		Dbg_sec_created;
151		Dbg_sec_discarded;
152		Dbg_sec_group;
153		Dbg_sec_in;
154		Dbg_sec_order_list;
155		Dbg_sec_order_error;
156		Dbg_sec_strtab;
157		Dbg_seg_entry;
158		Dbg_seg_list;
159		Dbg_seg_os;
160		Dbg_seg_title;
161		Dbg_setup;
162		Dbg_statistics_ar;
163		Dbg_statistics_ld;
164		Dbg_syms_ar_checking;
165		Dbg_syms_ar_entry;
166		Dbg_syms_ar_resolve;
167		Dbg_syms_ar_title;
168		Dbg_syms_created;
169		Dbg_syms_discarded;
170		Dbg_syms_entered;
171		Dbg_syms_entry;
172		Dbg_syms_global;
173		Dbg_syms_ignore;
174		Dbg_syms_lazy_rescan;
175		Dbg_syms_new;
176		Dbg_syms_nl;
177		Dbg_syms_old;
178		Dbg_syms_process;
179		Dbg_syms_reduce;
180		Dbg_syms_reloc;
181		Dbg_syms_resolved;
182		Dbg_syms_resolving1;
183		Dbg_syms_resolving2;
184		Dbg_syms_sec_entry;
185		Dbg_syms_sec_title;
186		Dbg_syms_spec_title;
187		Dbg_syms_up_title;
188		Dbg_syms_updated;
189		Dbg_syms_dlsym;
190		Dbg_syms_lookup_aout;
191		Dbg_syms_lookup;
192		Dbg_syminfo_entry;
193		Dbg_syminfo_title;
194		Dbg_support_action;
195		Dbg_support_load;
196		Dbg_support_req;
197		Dbg_scc_title;
198		Dbg_scc_entry;
199		Dbg_tls_modactivity;
200		Dbg_tls_static_block;
201		Dbg_unused_file;
202		Dbg_unused_rtldinfo;
203		Dbg_unused_sec;
204		Dbg_unused_unref;
205		Dbg_util_broadcast;
206		Dbg_util_call_array;
207		Dbg_util_call_fini;
208		Dbg_util_call_init;
209		Dbg_util_call_main;
210		Dbg_util_dbnotify;
211		Dbg_util_intoolate;
212		Dbg_util_nl;
213		Dbg_util_no_init;
214		Dbg_util_str;
215		Dbg_util_wait;
216		Dbg_ver_avail_entry;
217		Dbg_ver_avail_entry64;
218		Dbg_ver_avail_title;
219		Dbg_ver_def_title;
220		Dbg_ver_desc_entry;
221		Dbg_ver_desc_entry64;
222		Dbg_ver_need_title;
223		Dbg_ver_need_entry;
224		Dbg_ver_nointerface;
225		Dbg_ver_symbol;
226		Dbg_audit_interface64;
227		Dbg_audit_lib64;
228		Dbg_audit_object64;
229		Dbg_audit_symval64;
230		Dbg_audit_version64;
231		Dbg_file_analyze64;
232		Dbg_file_aout64;
233		Dbg_file_archive64;
234		Dbg_file_bind_entry64;
235		Dbg_file_config_dis64;
236		Dbg_file_config_obj64;
237		Dbg_file_delete64;
238		Dbg_file_dlclose64;
239		Dbg_file_dldump64;
240		Dbg_file_dlopen64;
241		Dbg_file_elf64;
242		Dbg_file_filtee64;
243		Dbg_file_filter64;
244		Dbg_file_fixname64;
245		Dbg_file_generic64;
246		Dbg_file_hdl_action64;
247		Dbg_file_hdl_collect64;
248		Dbg_file_hdl_title64;
249		Dbg_file_lazyload64;
250		Dbg_file_ldso64;
251		Dbg_file_needed64;
252		Dbg_file_nl64;
253		Dbg_file_output64;
254		Dbg_file_preload64;
255		Dbg_file_prot64;
256		Dbg_file_reuse64;
257		Dbg_file_skip64;
258		Dbg_got_display64;
259		Dbg_map_atsign64;
260		Dbg_map_dash64;
261		Dbg_map_ent64;
262		Dbg_map_equal64;
263		Dbg_map_parse64;
264		Dbg_map_pipe64;
265		Dbg_map_seg64;
266		Dbg_map_size_new64;
267		Dbg_map_size_old64;
268		Dbg_map_sort_fini64;
269		Dbg_map_sort_orig64;
270		Dbg_map_symbol64;
271		Dbg_map_version64;
272		Dbg_pltpad_bindto64;
273		Dbg_pltpad_boundto64;
274		Dbg_reloc_ars_entry64;
275		Dbg_reloc_discard64;
276		Dbg_reloc_doact64;
277		Dbg_reloc_dooutrel64;
278		Dbg_reloc_error64;
279		Dbg_reloc_generate64;
280		Dbg_reloc_in64;
281		Dbg_reloc_ors_entry64;
282		Dbg_reloc_out64;
283		Dbg_reloc_proc64;
284		Dbg_reloc_reg_apply64;
285		Dbg_reloc_transition64;
286		Dbg_sec_added64;
287		Dbg_sec_created64;
288		Dbg_sec_discarded64;
289		Dbg_sec_group64;
290		Dbg_sec_in64;
291		Dbg_sec_order_list64;
292		Dbg_sec_order_error64;
293		Dbg_sec_strtab64;
294		Dbg_seg_entry64;
295		Dbg_seg_list64;
296		Dbg_seg_os64;
297		Dbg_seg_title64;
298		Dbg_statistics_ar64;
299		Dbg_statistics_ld64;
300		Dbg_syminfo_entry64;
301		Dbg_syminfo_title64;
302		Dbg_syms_ar_entry64;
303		Dbg_syms_ar_resolve64;
304		Dbg_syms_ar_checking64;
305		Dbg_syms_created64;
306		Dbg_syms_discarded64;
307		Dbg_syms_entered64;
308		Dbg_syms_entry64;
309		Dbg_syms_global64;
310		Dbg_syms_ignore64;
311		Dbg_syms_new64;
312		Dbg_syms_nl64;
313		Dbg_syms_old64;
314		Dbg_syms_process64;
315		Dbg_syms_reduce64;
316		Dbg_syms_reloc64;
317		Dbg_syms_resolved64;
318		Dbg_syms_resolving164;
319		Dbg_syms_resolving264;
320		Dbg_syms_sec_entry64;
321		Dbg_syms_sec_title64;
322		Dbg_syms_spec_title64;
323		Dbg_syms_up_title64;
324		Dbg_syms_updated64;
325		Dbg_syms_dlsym64;
326		Dbg_syms_lookup_aout64;
327		Dbg_syms_lookup64;
328		Dbg_tls_modactivity64;
329		Dbg_tls_static_block64;
330		Dbg_unused_sec64;
331} SUNWprivate_3.10;
332
333
334# The following interfaces are used by various parts of the link-editors and
335# the elfdump(1).  The link-editors are always packaged together but there
336# seems to be a variety of old elfdump's lying around.  elfdump only uses
337# this interface, and thus by separating in from the ever changing Dbg_*
338# interfaces we can provide a stable verioning environment for this utility.
339
340SUNWprivate_3.10 {
341	global:
342		Dbg_set;
343		Gelf_cap_print;
344		Gelf_cap_title;
345		Gelf_dyn_print;
346		Gelf_dyn_title;
347		Gelf_elf_data_title;
348		Gelf_elf_header;
349		Gelf_got_entry;
350		Gelf_got_title;
351		Gelf_phdr_entry;
352		Gelf_reloc_entry;
353		Gelf_shdr_entry;
354		Gelf_sym_dem;
355		Gelf_sym_table_entry;
356		Gelf_syminfo_entry;
357		Gelf_syminfo_title;
358		Gelf_sym_table_title;
359		Gelf_ver_def_title;
360		Gelf_ver_need_title;
361		Gelf_ver_line_1;
362		Gelf_ver_line_2;
363		Gelf_ver_line_3;
364
365	local:
366		*;
367};
368
369# The following functions must be provided by our caller, or one of the callers
370# dependencies.  When used with ld.so.1 all functions are provided from ld.so.1,
371# but when used with ld, many of the functions fall back to libc.  Presently we
372# don't build liblddbg with a libc dependency simply to avoid having to load it
373# with ld.so.1 which already offers the required interfaces (from libc_pic.a).
374# Distinguishing between `parent' and `extern' symbols offers a small
375# performance advantage with direct bindings, but this is mainly a test of what
376# we're capable of doing, rather than an admission that its really worth it :-).
377
378{
379		dbg_print =	FUNCTION parent;
380		free =		FUNCTION parent;
381		malloc =	FUNCTION parent;
382
383		_dgettext =	FUNCTION extern;
384		_close =	FUNCTION extern;
385		_open =		FUNCTION extern;
386		_write =	FUNCTION extern;
387		dlopen =	FUNCTION extern;
388		dlsym =		FUNCTION extern;
389		memcpy =	FUNCTION extern;
390		qsort =		FUNCTION extern;
391		snprintf =	FUNCTION extern;
392		sprintf =	FUNCTION extern;
393		strcat =	FUNCTION extern;
394		strcmp =	FUNCTION extern;
395		strcpy =	FUNCTION extern;
396		strlen =	FUNCTION extern;
397		strrchr =	FUNCTION extern;
398		strtok_r =	FUNCTION extern;
399};
400