#
# 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
# 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) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
#
#
# MAPFILE HEADER START
#
# WARNING: STOP NOW. DO NOT MODIFY THIS FILE.
# Object versioning must comply with the rules detailed in
#
#
# 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
SYMBOL_VERSION SUNW_1.3 {
global:
_siguhandler;
} SUNW_1.2;
# Due to mistakes made early in the history of this library, there are
# no SUNW_1.2 symbols, but the version is now kept as a placeholder.
# Don't add any symbols to this version.
SYMBOL_VERSION SUNW_1.2 {
global:
SUNW_1.2;
} SUNW_1.1;
# SUNW_1.1 inherits SUNW_0.7 on all platforms, encapsulating the same
# set of symbols. However, the assignment of symbol to version varies
# between platforms:
# amd64: SUNW_1.1 is empty, and SUNW_0.7 contains everything.
# i386, sparc: SUNW_1.1 contains 5 largefile API routines, and everything
# else in in SUNW_0.7.
# sparcv9: Everything is in SUNW_1.1, and SUNW_0.7 is empty
SYMBOL_VERSION SUNW_1.1 {
global:
$if _ELF32 # largefile APIs
alphasort64;
fopen64;
freopen64;
readdir64;
scandir64;
$endif
$if _x86 && _ELF64
SUNW_1.1;
$endif
$if !(_sparc && _ELF64)
} SUNW_0.7;
SYMBOL_VERSION SUNW_0.7 {
$endif
global:
alphasort;
bcmp;
bcopy;
bzero;
flock;
fopen;
fprintf;
freopen;
fstatfs;
ftime;
getdtablesize;
gethostid;
gethostname;
getpagesize;
getrusage { TYPE = FUNCTION; FILTER = libc.so.1 };
gettimeofday;
getwd;
index;
killpg;
mctl;
nice;
nlist;
printf;
psignal;
rand;
readdir;
reboot;
re_comp;
re_exec;
rindex;
scandir;
setbuffer;
sethostname;
setlinebuf;
setpgrp;
settimeofday;
sigblock;
siginterrupt;
signal;
sigpause;
sigsetmask;
sigstack;
sigvec;
sigvechandler;
sleep { TYPE = FUNCTION; FILTER = libc.so.1 };
sprintf;
srand;
statfs;
sys_siglist;
times;
ualarm { TYPE = FUNCTION; FILTER = libc.so.1 };
usignal;
usigpause;
usleep { TYPE = FUNCTION; FILTER = libc.so.1 };
vfprintf;
vprintf;
vsprintf;
wait3;
wait4;
# The longjmp/setjmp story is complex:
# - On sparc, they are supplied by the library
# - On 32-bit x86, they are filters on libc
# - On amd64, they are not present in this library
$if _sparc
longjmp;
setjmp;
$elif _x86 && _ELF32
longjmp { TYPE = FUNCTION; FILTER = libc.so.1 };
setjmp { TYPE = FUNCTION; FILTER = libc.so.1 };
$endif
$if _sparc && _ELF64
} SUNW_0.7;
SYMBOL_VERSION SUNW_0.7 {
global:
SUNW_0.7;
$endif
};
SYMBOL_VERSION SUNWprivate_1.1 {
global:
_doprnt;
_getarg;
_mkarglst;
_sigblock;
_siginterrupt;
_sigsetmask;
_sigstack;
_sigvec;
_sigvechandler;
ucbsigblock;
ucbsiginterrupt;
ucbsigpause;
ucbsigsetmask;
ucbsigvec;
# Handle per-platform variations
$if _sparc
_longjmp;
_setjmp;
__sigcleanup;
$if _ELF32
syscall { TYPE = FUNCTION; FILTER = libc.so.1 };
$endif
$endif
$if _x86 && _ELF32
_longjmp { TYPE = FUNCTION; FILTER = libc.so.1 };
_setjmp { TYPE = FUNCTION; FILTER = libc.so.1 };
_syscall { TYPE = FUNCTION; FILTER = libc.so.1 };
_times { TYPE = FUNCTION; FILTER = libc.so.1 };
$endif
local:
*;
};