xref: /illumos-gate/usr/src/cmd/sgs/rtld/common/mapfile-vers (revision 915894ef19890baaed00080f85f6b69e225cda98)
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		 veprintf;
91
92		 dgettext;		# Messaging support
93		 strerror;
94
95		 calloc;		# Memory management (mapmalloc).
96		 free;
97		 malloc;
98		 realloc;
99
100		_environ;		# PLT tracing getenv() support.
101		 environ;
102
103		 memcpy;		# Some routines are useful for support
104		 snprintf;		# libraries such as liblddbg.
105		 sprintf;		# Note that some of these functions
106		 strcat;		# (like sprintf) may have reduced
107		 strcmp;		# functionality over libc, as a simpler
108		 strcpy;		# implementation is provided in ld.so.1.
109		 strlen;
110		 strrchr;
111		 strtok_r;
112	      ___errno;
113		 qsort;
114		dl_iterate_phdr;
115
116$if _x86 && _ELF64
117		# amd64 ABI exception unwinding
118		_dlamd64getunwind;
119		dlamd64getunwind;
120$endif
121
122		# doXX_reloc_rtld and relocXX_table are required to
123		# support librtld.so.
124$if _ELF32
125		do32_reloc_rtld;
126		reloc32_table;
127$elif _ELF64
128		do64_reloc_rtld;
129		reloc64_table;
130$else
131$error unknown ELFCLASS
132$endif
133	local:
134		*;
135};
136