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