xref: /illumos-gate/usr/src/cmd/sgs/rtld/common/mapfile-vers (revision 794f0adb050e571bbfde4d2a19b9f88b852079dd)
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 (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
24#
25# Generic interface definition for usr/src/cmd/sgs/rtld.
26#
27
28#
29# MAPFILE HEADER START
30#
31# WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
32# Object versioning must comply with the rules detailed in
33#
34#	usr/src/lib/README.mapfiles
35#
36# You should not be making modifications here until you've read the most current
37# copy of that file. If you need help, contact a gatekeeper for guidance.
38#
39# MAPFILE HEADER END
40#
41
42$mapfile_version 2
43
44#
45# All symbols in ld.so.1 are private as no-one should bind to these directly.
46#
47SYMBOL_VERSION SUNWprivate_1.3 {
48	protected:
49		 dladdr;		# Standard dlopen(3x) family
50		 dladdr1;
51		 dldump;
52		 dlclose;
53		 dlerror;
54		 dlinfo;
55		 dlopen;
56		 dlmopen;
57		 dlsym;
58
59		_dladdr;		# these should not exist
60		_dladdr1;
61		_dldump;
62		_dlclose;
63		_dlerror;
64		_dlinfo;
65		_dlopen;
66		_dlmopen;
67		_dlsym;
68
69		_ld_libc;		# provides libc initialization
70
71		_elf_rtbndr;		# dbx expects to find these
72		 elf_rtbndr;
73		_rt_boot;		# Provides basic adb symbol offsets
74
75		 rtld_db_dlactivity;	# Required to support librtld_db
76		 rtld_db_preinit;
77		 rtld_db_postinit;
78		 r_debug;
79
80		 elf_plt_write;
81		 is_so_loaded;
82		 lml_main;
83		 lookup_sym;
84
85		 alist_append;		# librtld support
86		 ld_entry_cnt;
87		 dbg_desc;		# Diagnostic support
88		 dbg_print;
89		 eprintf;		# Error message printing
90
91		 dgettext;		# Messaging support
92		 strerror;
93
94		 calloc;		# Memory management (mapmalloc).
95		 free;
96		 malloc;
97		 realloc;
98
99		_environ;		# PLT tracing getenv() support.
100		 environ;
101
102		 memcpy;		# Some routines are useful for support
103		 snprintf;		# libraries such as liblddbg.
104		 sprintf;		# Note that some of these functions
105		 strcat;		# (like sprintf) may have reduced
106		 strcmp;		# functionality over libc, as a simpler
107		 strcpy;		# implementation is provided in ld.so.1.
108		 strlen;
109		 strrchr;
110		 strtok_r;
111	      ___errno;
112		 qsort;
113		dl_iterate_phdr;
114
115$if _x86 && _ELF64
116		# amd64 ABI exception unwinding
117		_dlamd64getunwind;
118		dlamd64getunwind;
119$endif
120
121		# doXX_reloc_rtld and relocXX_table are required to
122		# support librtld.so.
123$if _ELF32
124		do32_reloc_rtld;
125		reloc32_table;
126$elif _ELF64
127		do64_reloc_rtld;
128		reloc64_table;
129$else
130$error unknown ELFCLASS
131$endif
132	local:
133		*;
134};
135