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