summaryrefslogtreecommitdiff
path: root/usr/src/cmd/sgs/rtld/common/mapfile-vers
blob: 0a9e5c3e5ba366c78fe7f0fb6fc4480f8db493e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
#
# Generic interface definition for usr/src/cmd/sgs/rtld.
#

#
# MAPFILE HEADER START
#
# WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
# Object versioning must comply with the rules detailed in
#
#	usr/src/lib/README.mapfiles
#
# You should not be making modifications here until you've read the most current
# copy of that file. If you need help, contact a gatekeeper for guidance.
#
# MAPFILE HEADER END
#

$mapfile_version 2

#
# All symbols in ld.so.1 are private as no-one should bind to these directly.
#
SYMBOL_VERSION SUNWprivate_1.3 {
	protected:
		 dladdr;		# Standard dlopen(3x) family
		 dladdr1;
		 dldump;
		 dlclose;
		 dlerror;
		 dlinfo;
		 dlopen;
		 dlmopen;
		 dlsym;

		_dladdr;		# these should not exist
		_dladdr1;
		_dldump;
		_dlclose;
		_dlerror;
		_dlinfo;
		_dlopen;
		_dlmopen;
		_dlsym;

		_ld_libc;		# provides libc initialization

		_elf_rtbndr;		# dbx expects to find these
		 elf_rtbndr;
		_rt_boot;		# Provides basic adb symbol offsets

		 rtld_db_dlactivity;	# Required to support librtld_db
		 rtld_db_preinit;
		 rtld_db_postinit;
		 r_debug;

		 elf_plt_write;
		 is_so_loaded;
		 lml_main;
		 lookup_sym;

		 alist_append;		# librtld support
		 ld_entry_cnt;
		 dbg_desc;		# Diagnostic support
		 dbg_print;
		 eprintf;		# Error message printing
		 veprintf;

		 dgettext;		# Messaging support
		 strerror;

		 calloc;		# Memory management (mapmalloc).
		 free;
		 malloc;
		 realloc;

		_environ;		# PLT tracing getenv() support.
		 environ;

		 memcpy;		# Some routines are useful for support
		 snprintf;		# libraries such as liblddbg.
		 sprintf;		# Note that some of these functions
		 strcat;		# (like sprintf) may have reduced
		 strcmp;		# functionality over libc, as a simpler
		 strcpy;		# implementation is provided in ld.so.1.
		 strlen;
		 strrchr;
		 strtok_r;
	      ___errno;
		 qsort;
		dl_iterate_phdr;

$if _x86 && _ELF64
		# amd64 ABI exception unwinding
		_dlamd64getunwind;
		dlamd64getunwind;
$endif

		# doXX_reloc_rtld and relocXX_table are required to
		# support librtld.so.
$if _ELF32
		do32_reloc_rtld;
		reloc32_table;
$elif _ELF64
		do64_reloc_rtld;
		reloc64_table;
$else
$error unknown ELFCLASS
$endif
	local:
		*;
};