xref: /titanic_41/usr/src/cmd/sgs/liblddbg/common/mapfile-vers (revision 8eea8e29cc4374d1ee24c25a07f45af132db3499)
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.44 {
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_group_discarded;
154		Dbg_sec_in;
155		Dbg_sec_order_list;
156		Dbg_sec_order_error;
157		Dbg_sec_strtab;
158		Dbg_seg_entry;
159		Dbg_seg_list;
160		Dbg_seg_os;
161		Dbg_seg_title;
162		Dbg_setup;
163		Dbg_statistics_ar;
164		Dbg_statistics_ld;
165		Dbg_syms_ar_checking;
166		Dbg_syms_ar_entry;
167		Dbg_syms_ar_resolve;
168		Dbg_syms_ar_title;
169		Dbg_syms_created;
170		Dbg_syms_discarded;
171		Dbg_syms_entered;
172		Dbg_syms_entry;
173		Dbg_syms_global;
174		Dbg_syms_ignore;
175		Dbg_syms_lazy_rescan;
176		Dbg_syms_new;
177		Dbg_syms_nl;
178		Dbg_syms_old;
179		Dbg_syms_process;
180		Dbg_syms_reduce;
181		Dbg_syms_reloc;
182		Dbg_syms_resolved;
183		Dbg_syms_resolving1;
184		Dbg_syms_resolving2;
185		Dbg_syms_sec_entry;
186		Dbg_syms_sec_title;
187		Dbg_syms_spec_title;
188		Dbg_syms_up_title;
189		Dbg_syms_updated;
190		Dbg_syms_dlsym;
191		Dbg_syms_lookup_aout;
192		Dbg_syms_lookup;
193		Dbg_syminfo_entry;
194		Dbg_syminfo_title;
195		Dbg_support_action;
196		Dbg_support_load;
197		Dbg_support_req;
198		Dbg_scc_title;
199		Dbg_scc_entry;
200		Dbg_tls_modactivity;
201		Dbg_tls_static_block;
202		Dbg_unused_file;
203		Dbg_unused_rtldinfo;
204		Dbg_unused_sec;
205		Dbg_unused_unref;
206		Dbg_util_broadcast;
207		Dbg_util_call_array;
208		Dbg_util_call_fini;
209		Dbg_util_call_init;
210		Dbg_util_call_main;
211		Dbg_util_dbnotify;
212		Dbg_util_intoolate;
213		Dbg_util_nl;
214		Dbg_util_no_init;
215		Dbg_util_str;
216		Dbg_util_wait;
217		Dbg_ver_avail_entry;
218		Dbg_ver_avail_entry64;
219		Dbg_ver_avail_title;
220		Dbg_ver_def_title;
221		Dbg_ver_desc_entry;
222		Dbg_ver_desc_entry64;
223		Dbg_ver_need_title;
224		Dbg_ver_need_entry;
225		Dbg_ver_nointerface;
226		Dbg_ver_symbol;
227		Dbg_audit_interface64;
228		Dbg_audit_lib64;
229		Dbg_audit_object64;
230		Dbg_audit_symval64;
231		Dbg_audit_version64;
232		Dbg_file_analyze64;
233		Dbg_file_aout64;
234		Dbg_file_archive64;
235		Dbg_file_bind_entry64;
236		Dbg_file_config_dis64;
237		Dbg_file_config_obj64;
238		Dbg_file_delete64;
239		Dbg_file_dlclose64;
240		Dbg_file_dldump64;
241		Dbg_file_dlopen64;
242		Dbg_file_elf64;
243		Dbg_file_filtee64;
244		Dbg_file_filter64;
245		Dbg_file_fixname64;
246		Dbg_file_generic64;
247		Dbg_file_hdl_action64;
248		Dbg_file_hdl_collect64;
249		Dbg_file_hdl_title64;
250		Dbg_file_lazyload64;
251		Dbg_file_ldso64;
252		Dbg_file_needed64;
253		Dbg_file_nl64;
254		Dbg_file_output64;
255		Dbg_file_preload64;
256		Dbg_file_prot64;
257		Dbg_file_reuse64;
258		Dbg_file_skip64;
259		Dbg_got_display64;
260		Dbg_map_atsign64;
261		Dbg_map_dash64;
262		Dbg_map_ent64;
263		Dbg_map_equal64;
264		Dbg_map_parse64;
265		Dbg_map_pipe64;
266		Dbg_map_seg64;
267		Dbg_map_size_new64;
268		Dbg_map_size_old64;
269		Dbg_map_sort_fini64;
270		Dbg_map_sort_orig64;
271		Dbg_map_symbol64;
272		Dbg_map_version64;
273		Dbg_pltpad_bindto64;
274		Dbg_pltpad_boundto64;
275		Dbg_reloc_ars_entry64;
276		Dbg_reloc_discard64;
277		Dbg_reloc_doact64;
278		Dbg_reloc_dooutrel64;
279		Dbg_reloc_error64;
280		Dbg_reloc_generate64;
281		Dbg_reloc_in64;
282		Dbg_reloc_ors_entry64;
283		Dbg_reloc_out64;
284		Dbg_reloc_proc64;
285		Dbg_reloc_reg_apply64;
286		Dbg_reloc_transition64;
287		Dbg_sec_added64;
288		Dbg_sec_created64;
289		Dbg_sec_discarded64;
290		Dbg_sec_group64;
291		Dbg_sec_group_discarded64;
292		Dbg_sec_in64;
293		Dbg_sec_order_list64;
294		Dbg_sec_order_error64;
295		Dbg_sec_strtab64;
296		Dbg_seg_entry64;
297		Dbg_seg_list64;
298		Dbg_seg_os64;
299		Dbg_seg_title64;
300		Dbg_statistics_ar64;
301		Dbg_statistics_ld64;
302		Dbg_syminfo_entry64;
303		Dbg_syminfo_title64;
304		Dbg_syms_ar_entry64;
305		Dbg_syms_ar_resolve64;
306		Dbg_syms_ar_checking64;
307		Dbg_syms_created64;
308		Dbg_syms_discarded64;
309		Dbg_syms_entered64;
310		Dbg_syms_entry64;
311		Dbg_syms_global64;
312		Dbg_syms_ignore64;
313		Dbg_syms_new64;
314		Dbg_syms_nl64;
315		Dbg_syms_old64;
316		Dbg_syms_process64;
317		Dbg_syms_reduce64;
318		Dbg_syms_reloc64;
319		Dbg_syms_resolved64;
320		Dbg_syms_resolving164;
321		Dbg_syms_resolving264;
322		Dbg_syms_sec_entry64;
323		Dbg_syms_sec_title64;
324		Dbg_syms_spec_title64;
325		Dbg_syms_up_title64;
326		Dbg_syms_updated64;
327		Dbg_syms_dlsym64;
328		Dbg_syms_lookup_aout64;
329		Dbg_syms_lookup64;
330		Dbg_tls_modactivity64;
331		Dbg_tls_static_block64;
332		Dbg_unused_sec64;
333} SUNWprivate_3.10;
334
335
336# The following interfaces are used by various parts of the link-editors and
337# the elfdump(1).  The link-editors are always packaged together but there
338# seems to be a variety of old elfdump's lying around.  elfdump only uses
339# this interface, and thus by separating in from the ever changing Dbg_*
340# interfaces we can provide a stable verioning environment for this utility.
341
342SUNWprivate_3.10 {
343	global:
344		Dbg_set;
345		Gelf_cap_print;
346		Gelf_cap_title;
347		Gelf_dyn_print;
348		Gelf_dyn_title;
349		Gelf_elf_data_title;
350		Gelf_elf_header;
351		Gelf_got_entry;
352		Gelf_got_title;
353		Gelf_phdr_entry;
354		Gelf_reloc_entry;
355		Gelf_shdr_entry;
356		Gelf_sym_dem;
357		Gelf_sym_table_entry;
358		Gelf_syminfo_entry;
359		Gelf_syminfo_title;
360		Gelf_sym_table_title;
361		Gelf_ver_def_title;
362		Gelf_ver_need_title;
363		Gelf_ver_line_1;
364		Gelf_ver_line_2;
365		Gelf_ver_line_3;
366
367	local:
368		*;
369};
370
371# The following functions must be provided by our caller, or one of the callers
372# dependencies.  When used with ld.so.1 all functions are provided from ld.so.1,
373# but when used with ld, many of the functions fall back to libc.  Presently we
374# don't build liblddbg with a libc dependency simply to avoid having to load it
375# with ld.so.1 which already offers the required interfaces (from libc_pic.a).
376# Distinguishing between `parent' and `extern' symbols offers a small
377# performance advantage with direct bindings, but this is mainly a test of what
378# we're capable of doing, rather than an admission that its really worth it :-).
379
380{
381		dbg_print =	FUNCTION parent;
382		free =		FUNCTION parent;
383		malloc =	FUNCTION parent;
384
385		_dgettext =	FUNCTION extern;
386		_close =	FUNCTION extern;
387		_open =		FUNCTION extern;
388		_write =	FUNCTION extern;
389		dlopen =	FUNCTION extern;
390		dlsym =		FUNCTION extern;
391		memcpy =	FUNCTION extern;
392		qsort =		FUNCTION extern;
393		snprintf =	FUNCTION extern;
394		sprintf =	FUNCTION extern;
395		strcat =	FUNCTION extern;
396		strcmp =	FUNCTION extern;
397		strcpy =	FUNCTION extern;
398		strlen =	FUNCTION extern;
399		strrchr =	FUNCTION extern;
400		strtok_r =	FUNCTION extern;
401};
402