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# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
23#
24
25#
26# MAPFILE HEADER START
27#
28# WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
29# Object versioning must comply with the rules detailed in
30#
31#	usr/src/lib/README.mapfiles
32#
33# You should not be making modifications here until you've read the most current
34# copy of that file. If you need help, contact a gatekeeper for guidance.
35#
36# MAPFILE HEADER END
37#
38
39$mapfile_version 2
40
41SYMBOL_VERSION SUNW_1.3 {
42    global:
43	_siguhandler	{
44			  ASSERT = {
45				  TYPE = OBJECT;
46				  SIZE = addrsize[34];
47				};
48			};
49} SUNW_1.2;
50
51# Due to mistakes made early in the history of this library, there are
52# no SUNW_1.2 symbols, but the version is now kept as a placeholder.
53# Don't add any symbols to this version.
54
55SYMBOL_VERSION SUNW_1.2 {
56    global:
57	SUNW_1.2;
58} SUNW_1.1;
59
60# SUNW_1.1 inherits SUNW_0.7 on all platforms, encapsulating the same
61# set of symbols. However, the assignment of symbol to version varies
62# between platforms:
63#    amd64:  SUNW_1.1 is empty, and SUNW_0.7 contains everything.
64#    i386, sparc: SUNW_1.1 contains 5 largefile API routines, and everything
65#	 else in in SUNW_0.7.
66#    sparcv9: Everything is in SUNW_1.1, and SUNW_0.7 is empty
67
68SYMBOL_VERSION SUNW_1.1 {
69    global:
70$if _ELF32		# largefile APIs
71	alphasort64;
72	fopen64;
73	freopen64;
74	readdir64;
75	scandir64;
76$endif
77$if _x86 && _ELF64
78	SUNW_1.1;
79$endif
80$if !(_sparc && _ELF64)
81} SUNW_0.7;
82
83SYMBOL_VERSION SUNW_0.7 {
84$endif
85    global:
86	alphasort;
87	bcmp;
88	bcopy;
89	bzero;
90	flock;
91	fopen;
92	fprintf;
93	freopen;
94	fstatfs;
95	ftime;
96	getdtablesize;
97	gethostid;
98	gethostname;
99	getpagesize;
100	getrusage	{ TYPE = FUNCTION; FILTER = libc.so.1; };
101	gettimeofday;
102	getwd;
103	index;
104	killpg;
105	mctl;
106	nice;
107	nlist;
108	printf;
109	psignal;
110	rand;
111	readdir;
112	reboot;
113	re_comp;
114	re_exec;
115	rindex;
116	scandir;
117	setbuffer;
118	sethostname;
119	setlinebuf;
120	setpgrp;
121	settimeofday;
122	sigblock;
123	siginterrupt;
124	signal;
125	sigpause;
126	sigsetmask;
127	sigstack;
128	sigvec;
129	sigvechandler;
130	sleep		{ TYPE = FUNCTION; FILTER = libc.so.1; };
131	sprintf;
132	srand;
133	statfs;
134	sys_siglist	{
135			  ASSERT = {
136				  TYPE = OBJECT;
137				  SIZE = addrsize[34];
138				};
139			};
140	times;
141	ualarm		{ TYPE = FUNCTION; FILTER = libc.so.1; };
142	usignal;
143	usigpause;
144	usleep		{ TYPE = FUNCTION; FILTER = libc.so.1; };
145	vfprintf;
146	vprintf;
147	vsprintf;
148	wait3;
149	wait4;
150
151	# The longjmp/setjmp story is complex:
152	# - On sparc, they are supplied by the library
153	# - On 32-bit x86, they are filters on libc
154	# - On amd64, they are not present in this library
155$if _sparc
156	longjmp;
157	setjmp;
158$elif _x86 && _ELF32
159	longjmp		{ TYPE = FUNCTION; FILTER = libc.so.1; };
160	setjmp		{ TYPE = FUNCTION; FILTER = libc.so.1; };
161$endif
162
163$if _sparc && _ELF64
164} SUNW_0.7;
165
166SYMBOL_VERSION SUNW_0.7 {
167    global:
168	SUNW_0.7;
169$endif
170};
171
172SYMBOL_VERSION SUNWprivate_1.1 {
173    global:
174	_doprnt;
175	_getarg;
176	_mkarglst;
177	_sigblock;
178	_siginterrupt;
179	_sigsetmask;
180	_sigstack;
181	_sigvec;
182	_sigvechandler;
183	ucbsigblock;
184	ucbsiginterrupt;
185	ucbsigpause;
186	ucbsigsetmask;
187	ucbsigvec;
188
189
190	# Handle per-platform variations
191$if _sparc
192	_longjmp;
193	_setjmp;
194	__sigcleanup;
195$if _ELF32
196	syscall		{ TYPE = FUNCTION; FILTER = libc.so.1; };
197$endif
198$endif
199
200$if _x86 && _ELF32
201	_longjmp	{ TYPE = FUNCTION; FILTER = libc.so.1; };
202	_setjmp		{ TYPE = FUNCTION; FILTER = libc.so.1; };
203	_syscall	{ TYPE = FUNCTION; FILTER = libc.so.1; };
204	_times		{ TYPE = FUNCTION; FILTER = libc.so.1; };
205$endif
206
207    local:
208	*;
209};
210