xref: /titanic_50/usr/src/cmd/sgs/liblddbg/common/mapfile-vers (revision 5797170a6d0f645128884c864c6920747318e414)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21
22#
23# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26#
27# Generic interface definition for usr/src/cmd/sgs/liblddbg.
28#
29
30#
31# MAPFILE HEADER START
32#
33# WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
34# Object versioning must comply with the rules detailed in
35#
36#	usr/src/lib/README.mapfiles
37#
38# You should not be making modifications here until you've read the most current
39# copy of that file. If you need help, contact a gatekeeper for guidance.
40#
41# MAPFILE HEADER END
42#
43
44SUNWprivate_4.70 {
45	global:
46		dbg_desc = NODIRECT;	# interposed - ld.so.1(1)
47		dbg_print = NODIRECT;	# interposed - ld(1) and ld.so.1(1)
48
49		Dbg_args_files;
50		Dbg_args_opts;
51		Dbg_args_str2chr;
52		Dbg_args_Wldel;
53		Dbg_audit_ignore;
54		Dbg_audit_interface;
55		Dbg_audit_lib;
56		Dbg_audit_object;
57		Dbg_audit_symval;
58		Dbg_audit_skip;
59		Dbg_audit_terminate;
60		Dbg_audit_version;
61
62		Dbg_setup;
63
64		Dbg32_bind_global;
65		Dbg64_bind_global;
66		Dbg32_bind_plt_summary;
67		Dbg64_bind_plt_summary;
68		Dbg64_bind_pltpad_from;
69		Dbg64_bind_pltpad_to;
70		Dbg32_bind_reject;
71		Dbg64_bind_reject;
72		Dbg32_bind_weak;
73		Dbg64_bind_weak;
74
75		Dbg32_cap_hw_candidate;
76		Dbg64_cap_hw_candidate;
77		Dbg32_cap_hw_filter;
78		Dbg64_cap_hw_filter;
79		Dbg32_cap_mapfile;
80		Dbg64_cap_mapfile;
81		Dbg32_cap_sec_entry;
82		Dbg64_cap_sec_entry;
83		Dbg32_cap_sec_title;
84		Dbg64_cap_sec_title;
85		Dbg32_cap_val_hw1;
86		Dbg64_cap_val_hw1;
87
88		Dbg32_demangle_name;
89		Dbg64_demangle_name;
90
91		Dbg32_ent_print;
92		Dbg64_ent_print;
93
94		Dbg32_file_analyze;
95		Dbg64_file_analyze;
96		Dbg32_file_aout;
97		Dbg64_file_aout;
98		Dbg32_file_ar;
99		Dbg64_file_ar;
100		Dbg32_file_ar_rescan;
101		Dbg64_file_ar_rescan;
102		Dbg32_file_bind_entry;
103		Dbg64_file_bind_entry;
104		Dbg32_file_bindings;
105		Dbg64_file_bindings;
106		Dbg32_file_cntl;
107		Dbg64_file_cntl;
108		Dbg32_file_config_dis;
109		Dbg64_file_config_dis;
110		Dbg32_file_config_obj;
111		Dbg64_file_config_obj;
112		Dbg32_file_del_rescan;
113		Dbg64_file_del_rescan;
114		Dbg32_file_delete;
115		Dbg64_file_delete;
116		Dbg32_file_dlclose;
117		Dbg64_file_dlclose;
118		Dbg32_file_dldump;
119		Dbg64_file_dldump;
120		Dbg32_file_dlopen;
121		Dbg64_file_dlopen;
122		Dbg32_file_elf;
123		Dbg64_file_elf;
124		Dbg32_file_cleanup;
125		Dbg64_file_cleanup;
126		Dbg32_file_filtee;
127		Dbg64_file_filtee;
128		Dbg32_file_filter;
129		Dbg64_file_filter;
130		Dbg32_file_fixname;
131		Dbg64_file_fixname;
132		Dbg32_file_generic;
133		Dbg64_file_generic;
134		Dbg32_file_hdl_action;
135		Dbg64_file_hdl_action;
136		Dbg32_file_hdl_collect;
137		Dbg64_file_hdl_collect;
138		Dbg32_file_hdl_title;
139		Dbg64_file_hdl_title;
140		Dbg32_file_lazyload;
141		Dbg64_file_lazyload;
142		Dbg32_file_ldso;
143		Dbg64_file_ldso;
144		Dbg32_file_mmapobj;
145		Dbg64_file_mmapobj;
146		Dbg32_file_mode_promote;
147		Dbg64_file_mode_promote;
148		Dbg32_file_modified;
149		Dbg64_file_modified;
150		Dbg32_file_needed;
151		Dbg64_file_needed;
152		Dbg32_file_output;
153		Dbg64_file_output;
154		Dbg32_file_preload;
155		Dbg64_file_preload;
156		Dbg32_file_prot;
157		Dbg64_file_prot;
158		Dbg32_file_rejected;
159		Dbg64_file_rejected;
160		Dbg32_file_reuse;
161		Dbg64_file_reuse;
162		Dbg32_file_skip;
163		Dbg64_file_skip;
164
165		Dbg32_got_display;
166		Dbg64_got_display;
167
168		Dbg32_libs_audit;
169		Dbg64_libs_audit;
170		Dbg32_libs_find;
171		Dbg64_libs_find;
172		Dbg32_libs_found;
173		Dbg64_libs_found;
174		Dbg32_libs_insecure;
175		Dbg64_libs_insecure;
176		Dbg32_libs_init;
177		Dbg64_libs_init;
178		Dbg32_libs_l;
179		Dbg64_libs_l;
180		Dbg32_libs_path;
181		Dbg64_libs_path;
182		Dbg32_libs_req;
183		Dbg64_libs_req;
184		Dbg32_libs_update;
185		Dbg64_libs_update;
186		Dbg32_libs_yp;
187		Dbg64_libs_yp;
188		Dbg32_libs_ylu;
189		Dbg64_libs_ylu;
190
191		Dbg32_map_dash;
192		Dbg64_map_dash;
193		Dbg32_map_ent;
194		Dbg64_map_ent;
195		Dbg32_map_parse;
196		Dbg64_map_parse;
197		Dbg32_map_pipe;
198		Dbg64_map_pipe;
199		Dbg32_map_set_atsign;
200		Dbg64_map_set_atsign;
201		Dbg32_map_seg;
202		Dbg64_map_seg;
203		Dbg32_map_set_equal;
204		Dbg64_map_set_equal;
205		Dbg32_map_size_new;
206		Dbg64_map_size_new;
207		Dbg32_map_size_old;
208		Dbg64_map_size_old;
209		Dbg32_map_sort;
210		Dbg64_map_sort;
211		Dbg32_map_sort_seg;
212		Dbg64_map_sort_seg;
213		Dbg32_map_symbol;
214		Dbg64_map_symbol;
215		Dbg32_map_version;
216		Dbg64_map_version;
217
218		Dbg32_move_adjexpandreloc;
219		Dbg64_move_adjexpandreloc;
220		Dbg32_move_adjmovereloc;
221		Dbg64_move_adjmovereloc;
222		Dbg32_move_bad;
223		Dbg64_move_bad;
224		Dbg32_move_data;
225		Dbg64_move_data;
226		Dbg32_move_entry1;
227		Dbg64_move_entry1;
228		Dbg32_move_entry2;
229		Dbg64_move_entry2;
230		Dbg32_move_expand;
231		Dbg64_move_expand;
232		Dbg32_move_input;
233		Dbg64_move_input;
234		Dbg32_move_outmove;
235		Dbg64_move_outmove;
236		Dbg32_move_outsctadj;
237		Dbg64_move_outsctadj;
238		Dbg32_move_parexpn;
239		Dbg64_move_parexpn;
240
241		Dbg32_reloc_apply_reg;
242		Dbg64_reloc_apply_reg;
243		Dbg32_reloc_apply_val;
244		Dbg64_reloc_apply_val;
245		Dbg32_reloc_ars_entry;
246		Dbg64_reloc_ars_entry;
247		Dbg32_reloc_copy;
248		Dbg64_reloc_copy;
249		Dbg32_reloc_discard;
250		Dbg64_reloc_discard;
251		Dbg32_reloc_doact;
252		Dbg64_reloc_doact;
253		Dbg32_reloc_doact_title;
254		Dbg64_reloc_doact_title;
255		Dbg32_reloc_dooutrel;
256		Dbg64_reloc_dooutrel;
257		Dbg32_reloc_entry;
258		Dbg64_reloc_entry;
259		Dbg32_reloc_error;
260		Dbg64_reloc_error;
261		Dbg32_reloc_generate;
262		Dbg64_reloc_generate;
263		Dbg32_reloc_in;
264		Dbg64_reloc_in;
265		Dbg32_reloc_ors_entry;
266		Dbg64_reloc_ors_entry;
267		Dbg32_reloc_out;
268		Dbg64_reloc_out;
269		Dbg32_reloc_proc;
270		Dbg64_reloc_proc;
271		Dbg32_reloc_run;
272		Dbg64_reloc_run;
273		Dbg32_reloc_sloppycomdat;
274		Dbg64_reloc_sloppycomdat;
275		Dbg32_reloc_transition;
276		Dbg64_reloc_transition;
277
278		Dbg32_sec_added;
279		Dbg64_sec_added;
280		Dbg32_sec_backing;
281		Dbg64_sec_backing;
282		Dbg32_sec_created;
283		Dbg64_sec_created;
284		Dbg32_sec_discarded;
285		Dbg64_sec_discarded;
286		Dbg32_sec_genstr_compress;
287		Dbg64_sec_genstr_compress;
288		Dbg32_sec_group;
289		Dbg64_sec_group;
290		Dbg32_sec_gnu_comdat;
291		Dbg64_sec_gnu_comdat;
292		Dbg32_sec_in;
293		Dbg64_sec_in;
294		Dbg32_sec_order_error;
295		Dbg64_sec_order_error;
296		Dbg32_sec_order_list;
297		Dbg64_sec_order_list;
298		Dbg32_sec_redirected;
299		Dbg64_sec_redirected;
300		Dbg32_sec_strtab;
301		Dbg64_sec_strtab;
302		Dbg32_sec_unsup_strmerge;
303		Dbg64_sec_unsup_strmerge;
304
305		Dbg32_seg_entry;
306		Dbg64_seg_entry;
307		Dbg32_seg_list;
308		Dbg64_seg_list;
309		Dbg32_seg_os;
310		Dbg64_seg_os;
311		Dbg32_seg_title;
312		Dbg64_seg_title;
313
314		Dbg32_shdr_modified;
315		Dbg64_shdr_modified;
316
317		Dbg32_statistics_ar;
318		Dbg64_statistics_ar;
319		Dbg32_statistics_ld;
320		Dbg64_statistics_ld;
321
322		Dbg32_support_action;
323		Dbg64_support_action;
324		Dbg32_support_load;
325		Dbg64_support_load;
326		Dbg32_support_req;
327		Dbg64_support_req;
328		Dbg32_support_vnone;
329		Dbg64_support_vnone;
330
331		Dbg32_syminfo_entry;
332		Dbg64_syminfo_entry;
333		Dbg32_syminfo_title;
334		Dbg64_syminfo_title;
335
336		Dbg32_syms_ar_checking;
337		Dbg64_syms_ar_checking;
338		Dbg32_syms_ar_entry;
339		Dbg64_syms_ar_entry;
340		Dbg32_syms_ar_resolve;
341		Dbg64_syms_ar_resolve;
342		Dbg32_syms_ar_title;
343		Dbg64_syms_ar_title;
344		Dbg32_syms_created;
345		Dbg64_syms_created;
346		Dbg32_syms_discarded;
347		Dbg64_syms_discarded;
348		Dbg32_syms_dup_discarded;
349		Dbg64_syms_dup_discarded;
350		Dbg32_syms_dlsym;
351		Dbg64_syms_dlsym;
352		Dbg32_syms_dup_sort_addr;
353		Dbg64_syms_dup_sort_addr;
354		Dbg32_syms_entered;
355		Dbg64_syms_entered;
356		Dbg32_syms_entry;
357		Dbg64_syms_entry;
358		Dbg32_syms_global;
359		Dbg64_syms_global;
360		Dbg32_syms_ignore;
361		Dbg64_syms_ignore;
362		Dbg32_syms_ignore_gnuver;
363		Dbg64_syms_ignore_gnuver;
364		Dbg32_syms_lazy_rescan;
365		Dbg64_syms_lazy_rescan;
366		Dbg32_syms_lookup;
367		Dbg64_syms_lookup;
368		Dbg32_syms_lookup_aout;
369		Dbg32_syms_new;
370		Dbg64_syms_new;
371		Dbg32_syms_old;
372		Dbg64_syms_old;
373		Dbg32_syms_process;
374		Dbg64_syms_process;
375		Dbg32_syms_reduce;
376		Dbg64_syms_reduce;
377		Dbg32_syms_reloc;
378		Dbg64_syms_reloc;
379		Dbg32_syms_resolved;
380		Dbg64_syms_resolved;
381		Dbg32_syms_resolving;
382		Dbg64_syms_resolving;
383		Dbg32_syms_sec_entry;
384		Dbg64_syms_sec_entry;
385		Dbg32_syms_sec_title;
386		Dbg64_syms_sec_title;
387		Dbg32_syms_spec_title;
388		Dbg64_syms_spec_title;
389		Dbg32_syms_updated;
390		Dbg64_syms_updated;
391		Dbg32_syms_up_title;
392		Dbg64_syms_up_title;
393
394		Dbg_tls_modactivity;
395		Dbg_tls_static_block;
396		Dbg_tls_static_resv;
397
398		Dbg32_util_call_array;
399		Dbg64_util_call_array;
400		Dbg32_util_call_fini;
401		Dbg64_util_call_fini;
402		Dbg32_util_call_init;
403		Dbg64_util_call_init;
404		Dbg32_util_call_main;
405		Dbg64_util_call_main;
406		Dbg32_util_collect;
407		Dbg64_util_collect;
408		Dbg32_util_dbnotify;
409		Dbg64_util_dbnotify;
410		Dbg32_util_edge_in;
411		Dbg64_util_edge_in;
412		Dbg32_util_edge_out;
413		Dbg64_util_edge_out;
414		Dbg32_util_lcinterface;
415		Dbg64_util_lcinterface;
416		Dbg32_util_intoolate;
417		Dbg64_util_intoolate;
418		Dbg32_util_nl;
419		Dbg64_util_nl;
420		Dbg32_util_no_init;
421		Dbg64_util_no_init;
422		Dbg32_util_scc_entry;
423		Dbg64_util_scc_entry;
424		Dbg32_util_scc_title;
425		Dbg64_util_scc_title;
426		Dbg32_util_str;
427		Dbg64_util_str;
428
429		Dbg32_unused_file;
430		Dbg64_unused_file;
431		Dbg32_unused_lcinterface;
432		Dbg64_unused_lcinterface;
433		Dbg32_unused_path;
434		Dbg64_unused_path;
435		Dbg32_unused_sec;
436		Dbg64_unused_sec;
437		Dbg32_unused_unref;
438		Dbg64_unused_unref;
439
440		Dbg32_ver_avail_entry;
441		Dbg64_ver_avail_entry;
442		Dbg32_ver_avail_title;
443		Dbg64_ver_avail_title;
444		Dbg32_ver_def_title;
445		Dbg64_ver_def_title;
446		Dbg32_ver_desc_entry;
447		Dbg64_ver_desc_entry;
448		Dbg32_ver_need_entry;
449		Dbg64_ver_need_entry;
450		Dbg32_ver_need_title;
451		Dbg64_ver_need_title;
452		Dbg32_ver_nointerface;
453		Dbg64_ver_nointerface;
454		Dbg32_ver_symbol;
455		Dbg64_ver_symbol;
456
457} SUNWprivate_3.23;
458
459
460# The following interfaces are used by various parts of the link-editors and
461# elfdump(1).  The link-editors are always packaged together but there
462# seems to be a variety of old elfdump's lying around.  elfdump only uses
463# this interface, and thus by separating in from the ever changing Dbg_*
464# interfaces we can provide a stable versioning environment for this utility.
465
466SUNWprivate_3.23 {
467	global:
468		Elf_syminfo_entry;
469		Elf_syminfo_title;
470
471		Elf32_cap_entry;
472		Elf64_cap_entry;
473		Elf32_cap_title;
474		Elf64_cap_title;
475
476		Elf32_demangle_name;
477		Elf64_demangle_name;
478		Elf32_dyn_entry;
479		Elf64_dyn_entry;
480		Elf32_dyn_null_entry;
481		Elf64_dyn_null_entry;
482		Elf32_dyn_title;
483		Elf64_dyn_title;
484
485		Elf32_ehdr;
486		Elf64_ehdr;
487
488		Elf32_got_entry;
489		Elf64_got_entry;
490		Elf32_got_title;
491		Elf64_got_title;
492
493		Elf32_phdr;
494		Elf64_phdr;
495
496		Elf32_reloc_apply_reg;
497		Elf64_reloc_apply_reg;
498		Elf32_reloc_apply_val;
499		Elf64_reloc_apply_val;
500		Elf32_reloc_entry_1;
501		Elf64_reloc_entry_1;
502		Elf32_reloc_entry_2;
503		Elf64_reloc_entry_2;
504		Elf32_reloc_title;
505		Elf64_reloc_title;
506
507		Elf32_shdr;
508		Elf64_shdr;
509
510		Elf32_syms_table_title;
511		Elf64_syms_table_title;
512		Elf32_syms_table_entry;
513		Elf64_syms_table_entry;
514
515		Elf32_ver_def_title;
516		Elf64_ver_def_title;
517		Elf32_ver_line_1;
518		Elf64_ver_line_1;
519		Elf32_ver_line_2;
520		Elf64_ver_line_2;
521		Elf32_ver_line_3;
522		Elf64_ver_line_3;
523		Elf32_ver_line_4;
524		Elf64_ver_line_4;
525		Elf32_ver_line_5;
526		Elf64_ver_line_5;
527		Elf32_ver_need_title;
528		Elf64_ver_need_title;
529
530	local:
531		*;
532};
533
534# The following functions must be provided by our caller, or one of the callers
535# dependencies.  When used with ld.so.1 all functions are provided from ld.so.1,
536# but when used with ld, many of the functions fall back to libc.  Presently we
537# don't build liblddbg with a libc dependency simply to avoid having to load it
538# with ld.so.1 which already offers the required interfaces (from libc_pic.a).
539# Distinguishing between `parent' and `extern' symbols offers a small
540# performance advantage with direct bindings, but this is mainly a test of what
541# we're capable of doing, rather than an admission that its really worth it :-).
542
543{
544		_close =	FUNCTION extern;
545		_open =		FUNCTION extern;
546		_write =	FUNCTION extern;
547		dgettext =	FUNCTION extern;
548		dlopen =	FUNCTION extern;
549		dlsym =		FUNCTION extern;
550		free =		FUNCTION parent;
551		malloc =	FUNCTION parent;
552		memcpy =	FUNCTION extern;
553		qsort =		FUNCTION extern;
554		snprintf =	FUNCTION extern;
555		sprintf =	FUNCTION extern;
556		strcat =	FUNCTION extern;
557		strcmp =	FUNCTION extern;
558		strcpy =	FUNCTION extern;
559		strlen =	FUNCTION extern;
560		strrchr =	FUNCTION extern;
561		strtok_r =	FUNCTION extern;
562};
563