summaryrefslogtreecommitdiff
path: root/usr/src/ucblib/libucb/port/mapfile-vers
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/ucblib/libucb/port/mapfile-vers')
-rw-r--r--usr/src/ucblib/libucb/port/mapfile-vers140
1 files changed, 135 insertions, 5 deletions
diff --git a/usr/src/ucblib/libucb/port/mapfile-vers b/usr/src/ucblib/libucb/port/mapfile-vers
index ca9c676016..09dd708502 100644
--- a/usr/src/ucblib/libucb/port/mapfile-vers
+++ b/usr/src/ucblib/libucb/port/mapfile-vers
@@ -19,8 +19,7 @@
# CDDL HEADER END
#
#
-# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
+# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
#
#
@@ -37,7 +36,9 @@
# MAPFILE HEADER END
#
-SUNW_1.3 {
+$mapfile_version 2
+
+SYMBOL_VERSION SUNW_1.3 {
global:
_siguhandler;
} SUNW_1.2;
@@ -46,12 +47,119 @@ SUNW_1.3 {
# no SUNW_1.2 symbols, but the version is now kept as a placeholder.
# Don't add any symbols to this version.
-SUNW_1.2 {
+SYMBOL_VERSION SUNW_1.2 {
global:
SUNW_1.2;
} SUNW_1.1;
-SUNWprivate_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;
@@ -67,6 +175,28 @@ SUNWprivate_1.1 {
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:
*;
};
+
+