xref: /illumos-gate/usr/src/ucblib/libucb/port/mapfile-vers (revision 4f364e7c95ee7fd9d5bbeddc1940e92405bb0e72)
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} SUNW_1.2;
45
46# Due to mistakes made early in the history of this library, there are
47# no SUNW_1.2 symbols, but the version is now kept as a placeholder.
48# Don't add any symbols to this version.
49
50SYMBOL_VERSION SUNW_1.2 {
51    global:
52	SUNW_1.2;
53} SUNW_1.1;
54
55# SUNW_1.1 inherits SUNW_0.7 on all platforms, encapsulating the same
56# set of symbols. However, the assignment of symbol to version varies
57# between platforms:
58#    amd64:  SUNW_1.1 is empty, and SUNW_0.7 contains everything.
59#    i386, sparc: SUNW_1.1 contains 5 largefile API routines, and everything
60#        else in in SUNW_0.7.
61#    sparcv9: Everything is in SUNW_1.1, and SUNW_0.7 is empty
62
63SYMBOL_VERSION SUNW_1.1 {
64    global:
65$if _ELF32		# largefile APIs
66	alphasort64;
67	fopen64;
68	freopen64;
69	readdir64;
70	scandir64;
71$endif
72$if _x86 && _ELF64
73	SUNW_1.1;
74$endif
75$if !(_sparc && _ELF64)
76} SUNW_0.7;
77
78SYMBOL_VERSION SUNW_0.7 {
79$endif
80    global:
81	alphasort;
82	bcmp;
83	bcopy;
84	bzero;
85	flock;
86	fopen;
87	fprintf;
88	freopen;
89	fstatfs;
90	ftime;
91	getdtablesize;
92	gethostid;
93	gethostname;
94	getpagesize;
95	getrusage		{ TYPE = FUNCTION; FILTER = libc.so.1 };
96	gettimeofday;
97	getwd;
98	index;
99	killpg;
100	mctl;
101	nice;
102	nlist;
103	printf;
104	psignal;
105	rand;
106	readdir;
107	reboot;
108	re_comp;
109	re_exec;
110	rindex;
111	scandir;
112	setbuffer;
113	sethostname;
114	setlinebuf;
115	setpgrp;
116	settimeofday;
117	sigblock;
118	siginterrupt;
119	signal;
120	sigpause;
121	sigsetmask;
122	sigstack;
123	sigvec;
124	sigvechandler;
125	sleep			{ TYPE = FUNCTION; FILTER = libc.so.1 };
126	sprintf;
127	srand;
128	statfs;
129	sys_siglist;
130	times;
131	ualarm			{ TYPE = FUNCTION; FILTER = libc.so.1 };
132	usignal;
133	usigpause;
134	usleep			{ TYPE = FUNCTION; FILTER = libc.so.1 };
135	vfprintf;
136	vprintf;
137	vsprintf;
138	wait3;
139	wait4;
140
141	# The longjmp/setjmp story is complex:
142	# - On sparc, they are supplied by the library
143	# - On 32-bit x86, they are filters on libc
144	# - On amd64, they are not present in this library
145$if _sparc
146	longjmp;
147	setjmp;
148$elif _x86 && _ELF32
149	longjmp			{ TYPE = FUNCTION; FILTER = libc.so.1 };
150	setjmp			{ TYPE = FUNCTION; FILTER = libc.so.1 };
151$endif
152
153$if _sparc && _ELF64
154} SUNW_0.7;
155
156SYMBOL_VERSION SUNW_0.7 {
157    global:
158	SUNW_0.7;
159$endif
160};
161
162SYMBOL_VERSION SUNWprivate_1.1 {
163    global:
164	_doprnt;
165	_getarg;
166	_mkarglst;
167	_sigblock;
168	_siginterrupt;
169	_sigsetmask;
170	_sigstack;
171	_sigvec;
172	_sigvechandler;
173	ucbsigblock;
174	ucbsiginterrupt;
175	ucbsigpause;
176	ucbsigsetmask;
177	ucbsigvec;
178
179
180	# Handle per-platform variations
181$if _sparc
182	_longjmp;
183	_setjmp;
184	__sigcleanup;
185$if _ELF32
186	syscall			{ TYPE = FUNCTION; FILTER = libc.so.1 };
187$endif
188$endif
189
190$if _x86 && _ELF32
191	_longjmp		{ TYPE = FUNCTION; FILTER = libc.so.1 };
192	_setjmp			{ TYPE = FUNCTION; FILTER = libc.so.1 };
193	_syscall		{ TYPE = FUNCTION; FILTER = libc.so.1 };
194	_times			{ TYPE = FUNCTION; FILTER = libc.so.1 };
195$endif
196
197
198    local:
199	*;
200};
201
202
203