diff options
Diffstat (limited to 'usr/src/ucblib/libucb/port/mapfile-vers')
| -rw-r--r-- | usr/src/ucblib/libucb/port/mapfile-vers | 140 |
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: *; }; + + |
