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 # Copyright 2010 Nexenta Systems, Inc. All rights reserved.
25 # Use is subject to license terms.
26 #
27 # Copyright (c) 2012 by Delphix. All rights reserved.
28 # Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
29
30 #
31 # MAPFILE HEADER START
32 #
33 # WARNING: STOP NOW. DO NOT MODIFY THIS FILE.
34 # Object versioning must comply with the rules detailed in
35 #
36 # usr/src/lib/README.mapfiles
37 #
38 # You should not be making modifications here until you've read the most current
39 # copy of that file. If you need help, contact a gatekeeper for guidance.
40 #
41 # MAPFILE HEADER END
42 #
43
44 $mapfile_version 2
45
46 #
47 # All function names added to this or any other libc mapfile
48 # must be placed under the 'protected:' designation.
49 # The 'global:' designation is used *only* for data
50 # items and for the members of the malloc() family.
51 #
52
53 #
54 # README README README README README README: how to update this file
55 # 1) each version of Solaris/OpenSolaris gets a version number.
56 # (Actually since Solaris is actually a series of OpenSolaris releases
57 # we'll just use OpenSolaris for this exercise.)
58 # OpenSolaris 2008.11 gets 1.23
59 # OpenSolaris 2009.04 gets 1.24
60 # etc.
61 # 2) each project integration uses a unique version number.
62 # PSARC/2008/123 gets 1.24.1
63 # PSARC/2008/456 gets 1.24.2
64 # etc.
65 #
66
67
68 # Mnemonic conditional input identifiers:
69 #
70 # - amd64, i386, sparc32, sparcv9: Correspond to ISA subdirectories used to
71 # hold per-platform code. Note however that we use 'sparc32' instead of
72 # 'sparc'. Since '_sparc' is predefined to apply to, all sparc platforms,
73 # naming the 32-bit version 'sparc' would be too likely to cause errors.
74 #
75 # - lf64: Defined on platforms that offer the 32-bit largefile APIs
76 #
77 $if _ELF32
78 $add lf64
79 $endif
80 $if _sparc && _ELF32
81 $add sparc32
82 $endif
83 $if _sparc && _ELF64
84 $add sparcv9
85 $endif
86 $if _x86 && _ELF32
87 $add i386
88 $endif
89 $if _x86 && _ELF64
90 $add amd64
91 $endif
92
93 SYMBOL_VERSION ILLUMOS_0.5 { # common C++ ABI exit handlers
94 protected:
95 __cxa_atexit;
96 __cxa_finalize;
97 } ILLUMOS_0.4;
98
99 SYMBOL_VERSION ILLUMOS_0.4 { # Illumos additions
100 protected:
101 pipe2;
102 dup3;
103 mkostemp;
104 mkostemps;
105
106 $if lf64
107 mkostemp64;
108 mkostemps64;
109 $endif
110 } ILLUMOS_0.3;
111
112 SYMBOL_VERSION ILLUMOS_0.3 { # Illumos additions
113 protected:
114 assfail3;
115 } ILLUMOS_0.2;
116
117 SYMBOL_VERSION ILLUMOS_0.2 { # Illumos additions
118 protected:
119 posix_spawn_pipe_np;
120 } ILLUMOS_0.1;
121
122 SYMBOL_VERSION ILLUMOS_0.1 { # Illumos additions
123 protected:
124 timegm;
125 } SUNW_1.23;
126
127 SYMBOL_VERSION SUNW_1.23 { # SunOS 5.11 (Solaris 11)
128 global:
129 _nl_domain_bindings;
130 _nl_msg_cat_cntr;
131
132 $if _ELF32
133 dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
134 $elif sparcv9
135 dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
136 $elif amd64
137 dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
138 $else
139 $error unknown platform
140 $endif
141
142 protected:
143
144 $if sparc32
145 __align_cpy_1;
146 $endif
147
148 addrtosymstr;
149 aio_cancel;
150 aiocancel;
151 aio_error;
152 aio_fsync;
153 aio_read;
154 aioread;
155 aio_return;
156 aio_suspend;
157 aiowait;
158 aio_waitn;
159 aio_write;
160 aiowrite;
161 asprintf;
162 assfail;
163 backtrace;
164 backtrace_symbols;
165 backtrace_symbols_fd;
166 canonicalize_file_name;
167 clearenv;
168 clock_getres;
169 clock_gettime;
170 clock_nanosleep;
171 clock_settime;
172 daemon;
173 dirfd;
174 door_bind;
175 door_call;
176 door_create;
177 door_cred;
178 door_getparam;
179 door_info;
180 door_return;
181 door_revoke;
182 door_server_create;
183 door_setparam;
184 door_ucred;
185 door_unbind;
186 door_xcreate;
187 err;
188 errx;
189 faccessat;
190 fchmodat;
191 fcloseall;
192 fdatasync;
193 ffsl;
194 ffsll;
195 fgetattr;
196 fls;
197 flsl;
198 flsll;
199 forkallx;
200 forkx;
201 fsetattr;
202 getattrat;
203 getdelim;
204 getline;
205 get_nprocs;
206 get_nprocs_conf;
207 getprogname;
208 htonl;
209 htonll;
210 htons;
211 linkat;
212 lio_listio;
213 memmem;
214 mkdirat;
215 mkdtemp;
216 mkfifoat;
217 mknodat;
218 mkstemps;
219 mmapobj;
220 mq_close;
221 mq_getattr;
222 mq_notify;
223 mq_open;
224 mq_receive;
225 mq_reltimedreceive_np;
226 mq_reltimedsend_np;
227 mq_send;
228 mq_setattr;
229 mq_timedreceive;
230 mq_timedsend;
231 mq_unlink;
232 nanosleep;
233 ntohl;
234 ntohll;
235 ntohs;
236 posix_fadvise;
237 posix_fallocate;
238 posix_madvise;
239 posix_memalign;
240 posix_spawn_file_actions_addclosefrom_np;
241 posix_spawnattr_getsigignore_np;
242 posix_spawnattr_setsigignore_np;
243 ppoll;
244 priv_basicset;
245 pthread_key_create_once_np;
246 pthread_mutexattr_getrobust;
247 pthread_mutexattr_setrobust;
248 pthread_mutex_consistent;
249 readlinkat;
250 sched_getparam;
251 sched_get_priority_max;
252 sched_get_priority_min;
253 sched_getscheduler;
254 sched_rr_get_interval;
255 sched_setparam;
256 sched_setscheduler;
257 sched_yield;
258 sem_close;
259 sem_destroy;
260 sem_getvalue;
261 sem_init;
262 sem_open;
263 sem_post;
264 sem_reltimedwait_np;
265 sem_timedwait;
266 sem_trywait;
267 sem_unlink;
268 sem_wait;
269 setattrat;
270 setprogname;
271 _sharefs;
272 shm_open;
273 shm_unlink;
274 sigqueue;
275 sigtimedwait;
276 sigwaitinfo;
277 smt_pause;
278 stpcpy;
279 stpncpy;
280 strcasestr;
281 strchrnul;
282 strndup;
283 strnlen;
284 strnstr;
285 strsep;
286 symlinkat;
287 thr_keycreate_once;
288 timer_create;
289 timer_delete;
290 timer_getoverrun;
291 timer_gettime;
292 timer_settime;
293 u8_strcmp;
294 u8_validate;
295 uconv_u16tou32;
296 uconv_u16tou8;
297 uconv_u32tou16;
298 uconv_u32tou8;
299 uconv_u8tou16;
300 uconv_u8tou32;
301 vasprintf;
302 verr;
303 verrx;
304 vforkx;
305 vwarn;
306 vwarnx;
307 warn;
308 warnx;
309 wcpcpy;
310 wcpncpy;
311 wcscasecmp;
312 wcsdup;
313 wcsncasecmp;
314 wcsnlen;
315
316 $if lf64
317 aio_cancel64;
318 aio_error64;
319 aio_fsync64;
320 aio_read64;
321 aioread64;
322 aio_return64;
323 aio_suspend64;
324 aio_waitn64;
325 aio_write64;
326 aiowrite64;
327 lio_listio64;
328 mkstemps64;
329 posix_fadvise64;
330 posix_fallocate64;
331 $endif
332 } SUNW_1.22.6;
333
334 SYMBOL_VERSION SUNW_1.22.6 { # s10u9 - SunOS 5.10 (Solaris 10) patch additions
335 protected:
336 futimens;
337 utimensat;
338 } SUNW_1.22.5;
339
340 SYMBOL_VERSION SUNW_1.22.5 { # s10u8 - SunOS 5.10 (Solaris 10) patch additions
341 protected:
342 getpagesizes2;
343 } SUNW_1.22.4;
344
345 SYMBOL_VERSION SUNW_1.22.4 { # s10u7 - SunOS 5.10 (Solaris 10) patch additions
346 protected:
347 SUNW_1.22.4;
348 } SUNW_1.22.3;
349
350 SYMBOL_VERSION SUNW_1.22.3 { # SunOS 5.10 (Solaris 10) patch additions
351 protected:
352 mutex_consistent;
353 u8_textprep_str;
354 uucopy;
355 uucopystr;
356 } SUNW_1.22.2;
357
358 SYMBOL_VERSION SUNW_1.22.2 { # SunOS 5.10 (Solaris 10) patch additions
359 protected:
360 is_system_labeled;
361 ucred_getlabel;
362 _ucred_getlabel;
363 } SUNW_1.22.1;
364
365 SYMBOL_VERSION SUNW_1.22.1 { # SunOS 5.10 (Solaris 10) patch additions
366 protected:
367 atomic_add_8;
368 atomic_add_8_nv;
369 atomic_add_char { FLAGS = NODYNSORT };
370 atomic_add_char_nv { FLAGS = NODYNSORT };
371 atomic_add_int { FLAGS = NODYNSORT };
372 atomic_add_int_nv { FLAGS = NODYNSORT };
373 atomic_add_ptr { FLAGS = NODYNSORT };
374 atomic_add_ptr_nv { FLAGS = NODYNSORT };
375 atomic_add_short { FLAGS = NODYNSORT };
376 atomic_add_short_nv { FLAGS = NODYNSORT };
377 atomic_and_16;
378 atomic_and_16_nv;
379 atomic_and_32_nv;
380 atomic_and_64;
381 atomic_and_64_nv;
382 atomic_and_8;
383 atomic_and_8_nv;
384 atomic_and_uchar { FLAGS = NODYNSORT };
385 atomic_and_uchar_nv { FLAGS = NODYNSORT };
386 atomic_and_uint_nv { FLAGS = NODYNSORT };
387 atomic_and_ulong { FLAGS = NODYNSORT };
388 atomic_and_ulong_nv { FLAGS = NODYNSORT };
389 atomic_and_ushort { FLAGS = NODYNSORT };
390 atomic_and_ushort_nv { FLAGS = NODYNSORT };
391 atomic_cas_16;
392 atomic_cas_32;
393 atomic_cas_64;
394 atomic_cas_8;
395 atomic_cas_ptr { FLAGS = NODYNSORT };
396 atomic_cas_uchar { FLAGS = NODYNSORT };
397 atomic_cas_uint { FLAGS = NODYNSORT };
398 atomic_cas_ulong { FLAGS = NODYNSORT };
399 atomic_cas_ushort { FLAGS = NODYNSORT };
400 atomic_clear_long_excl { FLAGS = NODYNSORT };
401 atomic_dec_16;
402 atomic_dec_16_nv;
403 atomic_dec_32;
404 atomic_dec_32_nv;
405 atomic_dec_64;
406 atomic_dec_64_nv;
407 atomic_dec_8;
408 atomic_dec_8_nv;
409 atomic_dec_uchar { FLAGS = NODYNSORT };
410 atomic_dec_uchar_nv { FLAGS = NODYNSORT };
411 atomic_dec_uint { FLAGS = NODYNSORT };
412 atomic_dec_uint_nv { FLAGS = NODYNSORT };
413 atomic_dec_ulong { FLAGS = NODYNSORT };
414 atomic_dec_ulong_nv { FLAGS = NODYNSORT };
415 atomic_dec_ushort { FLAGS = NODYNSORT };
416 atomic_dec_ushort_nv { FLAGS = NODYNSORT };
417 atomic_inc_16;
418 atomic_inc_16_nv;
419 atomic_inc_32;
420 atomic_inc_32_nv;
421 atomic_inc_64;
422 atomic_inc_64_nv;
423 atomic_inc_8;
424 atomic_inc_8_nv;
425 atomic_inc_uchar { FLAGS = NODYNSORT };
426 atomic_inc_uchar_nv { FLAGS = NODYNSORT };
427 atomic_inc_uint { FLAGS = NODYNSORT };
428 atomic_inc_uint_nv { FLAGS = NODYNSORT };
429 atomic_inc_ulong { FLAGS = NODYNSORT };
430 atomic_inc_ulong_nv { FLAGS = NODYNSORT };
431 atomic_inc_ushort { FLAGS = NODYNSORT };
432 atomic_inc_ushort_nv { FLAGS = NODYNSORT };
433 atomic_or_16;
434 atomic_or_16_nv;
435 atomic_or_32_nv;
436 atomic_or_64;
437 atomic_or_64_nv;
438 atomic_or_8;
439 atomic_or_8_nv;
440 atomic_or_uchar { FLAGS = NODYNSORT };
441 atomic_or_uchar_nv { FLAGS = NODYNSORT };
442 atomic_or_uint_nv { FLAGS = NODYNSORT };
443 atomic_or_ulong { FLAGS = NODYNSORT };
444 atomic_or_ulong_nv { FLAGS = NODYNSORT };
445 atomic_or_ushort { FLAGS = NODYNSORT };
446 atomic_or_ushort_nv { FLAGS = NODYNSORT };
447 atomic_set_long_excl { FLAGS = NODYNSORT };
448 atomic_swap_16;
449 atomic_swap_32;
450 atomic_swap_64;
451 atomic_swap_8;
452 atomic_swap_ptr { FLAGS = NODYNSORT };
453 atomic_swap_uchar { FLAGS = NODYNSORT };
454 atomic_swap_uint { FLAGS = NODYNSORT };
455 atomic_swap_ulong { FLAGS = NODYNSORT };
456 atomic_swap_ushort { FLAGS = NODYNSORT };
457 membar_consumer;
458 membar_enter;
459 membar_exit;
460 membar_producer;
461
462 $if _ELF32
463 enable_extended_FILE_stdio;
464 $endif
465
466 $if i386
467 # Note: atomic_[and,dec,inc,or]_64_nv are also defined above. Here,
468 # we add the NODYNSORT attribute to them. On this platform, they are
469 # aliases for the non-_nv versions. If that is changed, these lines
470 # should be removed.
471 atomic_and_64_nv { FLAGS = NODYNSORT };
472 atomic_dec_64_nv { FLAGS = NODYNSORT };
473 atomic_inc_64_nv { FLAGS = NODYNSORT };
474 atomic_or_64_nv { FLAGS = NODYNSORT };
475 $endif
476 $if _sparc
477 # Note: atomic_OP_WIDTH_nv symbols are also defined above. Here,
478 # we add the NODYNSORT attribute to them. On this platform, they are
479 # aliases for the non-_nv versions. If that is changed, these lines
480 # should be removed.
481 atomic_add_8_nv { FLAGS = NODYNSORT };
482 atomic_and_8_nv { FLAGS = NODYNSORT };
483 atomic_and_16_nv { FLAGS = NODYNSORT };
484 atomic_and_32_nv { FLAGS = NODYNSORT };
485 atomic_and_64_nv { FLAGS = NODYNSORT };
486 atomic_dec_8_nv { FLAGS = NODYNSORT };
487 atomic_dec_16_nv { FLAGS = NODYNSORT };
488 atomic_dec_32_nv { FLAGS = NODYNSORT };
489 atomic_dec_64_nv { FLAGS = NODYNSORT };
490 atomic_inc_8_nv { FLAGS = NODYNSORT };
491 atomic_inc_16_nv { FLAGS = NODYNSORT };
492 atomic_inc_32_nv { FLAGS = NODYNSORT };
493 atomic_inc_64_nv { FLAGS = NODYNSORT };
494 atomic_or_8_nv { FLAGS = NODYNSORT };
495 atomic_or_16_nv { FLAGS = NODYNSORT };
496 atomic_or_32_nv { FLAGS = NODYNSORT };
497 atomic_or_64_nv { FLAGS = NODYNSORT };
498 $endif
499 } SUNW_1.22;
500
501 SYMBOL_VERSION SUNW_1.22 { # SunOS 5.10 (Solaris 10)
502 global:
503 $if _ELF32
504 dladdr { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
505 dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
506 dlclose { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
507 dldump { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
508 dlerror { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
509 dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
510 dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
511 dlopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
512 dlsym { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
513 $elif sparcv9
514 dladdr { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
515 dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
516 dlclose { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
517 dldump { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
518 dlerror { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
519 dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
520 dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
521 dlopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
522 dlsym { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
523 $elif amd64
524 dladdr { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
525 dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
526 dlamd64getunwind { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
527 dlclose { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
528 dldump { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
529 dlerror { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
530 dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
531 dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
532 dlopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
533 dlsym { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
534 $else
535 $error unknown platform
536 $endif
537
538 protected:
539 alphasort;
540 _alphasort;
541 atomic_add_16;
542 atomic_add_16_nv;
543 atomic_add_32;
544 atomic_add_32_nv;
545 atomic_add_64;
546 atomic_add_64_nv;
547 atomic_add_long { FLAGS = NODYNSORT };
548 atomic_add_long_nv { FLAGS = NODYNSORT };
549 atomic_and_32;
550 atomic_and_uint { FLAGS = NODYNSORT };
551 atomic_or_32;
552 atomic_or_uint { FLAGS = NODYNSORT };
553 _Exit;
554 getisax;
555 _getisax;
556 getopt_clip;
557 _getopt_clip;
558 getopt_long;
559 _getopt_long;
560 getopt_long_only;
561 _getopt_long_only;
562 getpeerucred;
563 _getpeerucred;
564 getpflags;
565 _getpflags;
566 getppriv;
567 _getppriv;
568 getprivimplinfo;
569 _getprivimplinfo;
570 getzoneid;
571 getzoneidbyname;
572 getzonenamebyid;
573 imaxabs;
574 imaxdiv;
575 isblank;
576 iswblank;
577 port_alert;
578 port_associate;
579 port_create;
580 port_dissociate;
581 port_get;
582 port_getn;
583 port_send;
584 port_sendn;
585 posix_openpt;
586 posix_spawn;
587 posix_spawnattr_destroy;
588 posix_spawnattr_getflags;
589 posix_spawnattr_getpgroup;
590 posix_spawnattr_getschedparam;
591 posix_spawnattr_getschedpolicy;
592 posix_spawnattr_getsigdefault;
593 posix_spawnattr_getsigmask;
594 posix_spawnattr_init;
595 posix_spawnattr_setflags;
596 posix_spawnattr_setpgroup;
597 posix_spawnattr_setschedparam;
598 posix_spawnattr_setschedpolicy;
599 posix_spawnattr_setsigdefault;
600 posix_spawnattr_setsigmask;
601 posix_spawn_file_actions_addclose;
602 posix_spawn_file_actions_adddup2;
603 posix_spawn_file_actions_addopen;
604 posix_spawn_file_actions_destroy;
605 posix_spawn_file_actions_init;
606 posix_spawnp;
607 priv_addset;
608 _priv_addset;
609 priv_allocset;
610 _priv_allocset;
611 priv_copyset;
612 _priv_copyset;
613 priv_delset;
614 _priv_delset;
615 priv_emptyset;
616 _priv_emptyset;
617 priv_fillset;
618 _priv_fillset;
619 __priv_free_info;
620 priv_freeset;
621 _priv_freeset;
622 priv_getbyname;
623 _priv_getbyname;
624 __priv_getbyname;
625 priv_getbynum;
626 _priv_getbynum;
627 __priv_getbynum;
628 __priv_getdata;
629 priv_getsetbyname;
630 _priv_getsetbyname;
631 __priv_getsetbyname;
632 priv_getsetbynum;
633 _priv_getsetbynum;
634 __priv_getsetbynum;
635 priv_gettext;
636 _priv_gettext;
637 priv_ineffect;
638 _priv_ineffect;
639 priv_intersect;
640 _priv_intersect;
641 priv_inverse;
642 _priv_inverse;
643 priv_isemptyset;
644 _priv_isemptyset;
645 priv_isequalset;
646 _priv_isequalset;
647 priv_isfullset;
648 _priv_isfullset;
649 priv_ismember;
650 _priv_ismember;
651 priv_issubset;
652 _priv_issubset;
653 __priv_parse_info;
654 priv_set;
655 _priv_set;
656 priv_set_to_str;
657 _priv_set_to_str;
658 __priv_set_to_str;
659 priv_str_to_set;
660 _priv_str_to_set;
661 priv_union;
662 _priv_union;
663 pselect;
664 pthread_attr_getstack;
665 pthread_attr_setstack;
666 pthread_barrierattr_destroy;
667 pthread_barrierattr_getpshared;
668 pthread_barrierattr_init;
669 pthread_barrierattr_setpshared;
670 pthread_barrier_destroy;
671 pthread_barrier_init;
672 pthread_barrier_wait;
673 pthread_condattr_getclock;
674 pthread_condattr_setclock;
675 pthread_mutexattr_getrobust_np { FLAGS = NODYNSORT };
676 pthread_mutexattr_setrobust_np { FLAGS = NODYNSORT };
677 pthread_mutex_consistent_np { FLAGS = NODYNSORT };
678 pthread_mutex_reltimedlock_np;
679 pthread_mutex_timedlock;
680 pthread_rwlock_reltimedrdlock_np;
681 pthread_rwlock_reltimedwrlock_np;
682 pthread_rwlock_timedrdlock;
683 pthread_rwlock_timedwrlock;
684 pthread_setschedprio;
685 pthread_spin_destroy;
686 pthread_spin_init;
687 pthread_spin_lock;
688 pthread_spin_trylock;
689 pthread_spin_unlock;
690 rctlblk_set_recipient_pid;
691 scandir;
692 _scandir;
693 schedctl_exit;
694 schedctl_init;
695 schedctl_lookup;
696 sema_reltimedwait;
697 sema_timedwait;
698 setenv;
699 setpflags;
700 _setpflags;
701 setppriv;
702 _setppriv;
703 strerror_r;
704 strtof;
705 strtoimax;
706 strtold;
707 strtoumax;
708 ucred_free;
709 _ucred_free;
710 ucred_get;
711 _ucred_get;
712 ucred_getegid;
713 _ucred_getegid;
714 ucred_geteuid;
715 _ucred_geteuid;
716 ucred_getgroups;
717 _ucred_getgroups;
718 ucred_getpflags;
719 _ucred_getpflags;
720 ucred_getpid;
721 _ucred_getpid;
722 ucred_getprivset;
723 _ucred_getprivset;
724 ucred_getprojid;
725 _ucred_getprojid;
726 ucred_getrgid;
727 _ucred_getrgid;
728 ucred_getruid;
729 _ucred_getruid;
730 ucred_getsgid;
731 _ucred_getsgid;
732 ucred_getsuid;
733 _ucred_getsuid;
734 ucred_getzoneid;
735 _ucred_getzoneid;
736 ucred_size;
737 _ucred_size;
738 unsetenv;
739 wcstof;
740 wcstoimax;
741 wcstold;
742 wcstoll;
743 wcstoull;
744 wcstoumax;
745
746 $if lf64
747 alphasort64;
748 _alphasort64;
749 pselect_large_fdset;
750 scandir64;
751 _scandir64;
752 $endif
753
754 $if _ELF64
755 walkcontext;
756 $endif
757
758 $if _sparc
759 # Note: atomic_add_[16,32,64]_nv are also defined above. Here, we add
760 # the NODYNSORT attribute to them. On this platform, they are aliases
761 # for the non-_nv versions. If that is changed, these lines should be
762 # removed.
763 atomic_add_16_nv { FLAGS = NODYNSORT };
764 atomic_add_32_nv { FLAGS = NODYNSORT };
765 atomic_add_64_nv { FLAGS = NODYNSORT };
766 $endif
767
768 $if i386
769 # Note: atomic_add_64_nv is also defined above. Here, we add the
770 # NODYNSORT attribute to it. On this platform, it is an aliases for
771 # atomic_add_64. If that is changed, this line should be removed.
772 atomic_add_64_nv { FLAGS = NODYNSORT };
773 $endif
774
775 $if amd64
776 # Exception unwind APIs required by the amd64 ABI
777 _SUNW_Unwind_DeleteException;
778 _SUNW_Unwind_ForcedUnwind;
779 _SUNW_Unwind_GetCFA;
780 _SUNW_Unwind_GetGR;
781 _SUNW_Unwind_GetIP;
782 _SUNW_Unwind_GetLanguageSpecificData;
783 _SUNW_Unwind_GetRegionStart;
784 _SUNW_Unwind_RaiseException;
785 _SUNW_Unwind_Resume;
786 _SUNW_Unwind_SetGR;
787 _SUNW_Unwind_SetIP;
788 _UA_CLEANUP_PHASE;
789 _UA_FORCE_UNWIND;
790 _UA_HANDLER_FRAME;
791 _UA_SEARCH_PHASE;
792 _Unwind_DeleteException;
793 _Unwind_ForcedUnwind;
794 _Unwind_GetCFA;
795 _Unwind_GetGR;
796 _Unwind_GetIP;
797 _Unwind_GetLanguageSpecificData;
798 _Unwind_GetRegionStart;
799 _Unwind_RaiseException;
800 _Unwind_Resume;
801 _Unwind_SetGR;
802 _Unwind_SetIP;
803 $endif
804 } SUNW_1.21.3;
805
806 SYMBOL_VERSION SUNW_1.21.3 { # SunOS 5.9 (Solaris 9) patch additions
807 protected:
808 forkall;
809 } SUNW_1.21.2;
810
811 SYMBOL_VERSION SUNW_1.21.2 { # SunOS 5.9 (Solaris 9) patch additions
812 protected:
813 getustack;
814 _getustack;
815 setustack;
816 _setustack;
817 stack_getbounds;
818 _stack_getbounds;
819 _stack_grow;
820 stack_inbounds;
821 _stack_inbounds;
822 stack_setbounds;
823 _stack_setbounds;
824 stack_violation;
825 _stack_violation;
826
827 $if _sparc
828 __makecontext_v2;
829 ___makecontext_v2;
830 $endif
831 } SUNW_1.21.1;
832
833 SYMBOL_VERSION SUNW_1.21.1 { # SunOS 5.9 (Solaris 9) patch additions
834 protected:
835 crypt_gensalt;
836 } SUNW_1.21;
837
838 SYMBOL_VERSION SUNW_1.21 { # SunOS 5.9 (Solaris 9)
839 protected:
840 attropen;
841 _attropen;
842 bind_textdomain_codeset;
843 closefrom;
844 _closefrom;
845 cond_reltimedwait;
846 dcngettext;
847 dngettext;
848 fchownat;
849 _fchownat;
850 fdopendir;
851 _fdopendir;
852 fdwalk;
853 _fdwalk;
854 fstatat;
855 _fstatat;
856 futimesat;
857 _futimesat;
858 getcpuid;
859 _getcpuid;
860 gethomelgroup;
861 _gethomelgroup { FLAGS = NODYNSORT };
862 getpagesizes;
863 getrctl;
864 _getrctl;
865 issetugid;
866 _issetugid;
867 _lwp_cond_reltimedwait;
868 meminfo;
869 _meminfo;
870 ngettext;
871 openat;
872 _openat;
873 printstack;
874 priocntl;
875 priocntlset;
876 pset_getattr;
877 pset_getloadavg;
878 pset_list;
879 pset_setattr;
880 pthread_cond_reltimedwait_np;
881 rctlblk_get_enforced_value;
882 rctlblk_get_firing_time;
883 rctlblk_get_global_action;
884 rctlblk_get_global_flags;
885 rctlblk_get_local_action;
886 rctlblk_get_local_flags;
887 rctlblk_get_privilege;
888 rctlblk_get_recipient_pid;
889 rctlblk_get_value;
890 rctlblk_set_local_action;
891 rctlblk_set_local_flags;
892 rctlblk_set_privilege;
893 rctlblk_set_value;
894 rctlblk_size;
895 rctl_walk;
896 renameat;
897 setrctl;
898 _setrctl;
899 unlinkat;
900 _unlinkat;
901 vfscanf;
902 _vfscanf;
903 vfwscanf;
904 vscanf;
905 _vscanf;
906 vsscanf;
907 _vsscanf;
908 vswscanf;
909 vwscanf;
910
911 $if _ELF32
912 walkcontext;
913 $endif
914
915 $if lf64
916 attropen64;
917 _attropen64;
918 fstatat64;
919 _fstatat64;
920 openat64;
921 _openat64;
922 $endif
923 } SUNW_1.20.4;
924
925 SYMBOL_VERSION SUNW_1.20.4 { # SunOS 5.8 (Solaris 8) patch additions
926 protected:
927 semtimedop;
928 _semtimedop;
929 } SUNW_1.20.1;
930
931 SYMBOL_VERSION SUNW_1.20.1 { # SunOS 5.8 (Solaris 8) patch additions
932 protected:
933 getacct;
934 _getacct;
935 getprojid;
936 _getprojid;
937 gettaskid;
938 _gettaskid;
939 msgids;
940 _msgids;
941 msgsnap;
942 _msgsnap;
943 putacct;
944 _putacct;
945 semids;
946 _semids;
947 settaskid;
948 _settaskid;
949 shmids;
950 _shmids;
951 wracct;
952 _wracct;
953 } SUNW_1.20;
954
955 SYMBOL_VERSION SUNW_1.20 { # SunOS 5.8 (Solaris 8)
956 protected:
957 getextmntent;
958 resetmnttab;
959 } SUNW_1.19;
960
961 SYMBOL_VERSION SUNW_1.19 {
962 protected:
963 strlcat;
964 strlcpy;
965 umount2;
966 _umount2;
967 } SUNW_1.18.1;
968
969 SYMBOL_VERSION SUNW_1.18.1 {
970 protected:
971 __fsetlocking;
972 } SUNW_1.18;
973
974 SYMBOL_VERSION SUNW_1.18 { # SunOS 5.7 (Solaris 7)
975 protected:
976 btowc;
977 __fbufsize;
978 __flbf;
979 _flushlbf;
980 __fpending;
981 __fpurge;
982 __freadable;
983 __freading;
984 fwide;
985 fwprintf;
986 __fwritable;
987 __fwriting;
988 fwscanf;
989 getloadavg;
990 isaexec;
991 mbrlen;
992 mbrtowc;
993 mbsinit;
994 mbsrtowcs;
995 pcsample;
996 pthread_attr_getguardsize;
997 pthread_attr_setguardsize;
998 pthread_getconcurrency;
999 pthread_mutexattr_gettype;
1000 pthread_mutexattr_settype;
1001 pthread_rwlockattr_destroy;
1002 pthread_rwlockattr_getpshared;
1003 pthread_rwlockattr_init;
1004 pthread_rwlockattr_setpshared;
1005 pthread_rwlock_destroy;
1006 pthread_rwlock_init;
1007 pthread_rwlock_rdlock;
1008 pthread_rwlock_tryrdlock;
1009 pthread_rwlock_trywrlock;
1010 pthread_rwlock_unlock;
1011 pthread_rwlock_wrlock;
1012 pthread_setconcurrency;
1013 swprintf;
1014 swscanf;
1015 __sysconf_xpg5;
1016 vfwprintf;
1017 vswprintf;
1018 vwprintf;
1019 wcrtomb;
1020 wcsrtombs;
1021 wcsstr;
1022 wctob;
1023 wmemchr;
1024 wmemcmp;
1025 wmemcpy;
1026 wmemmove;
1027 wmemset;
1028 wprintf;
1029 wscanf;
1030
1031 $if _ELF32
1032 select_large_fdset;
1033 $endif
1034 } SUNW_1.17;
1035
1036 # The empty versions SUNW_1.2 through SUNW_1.17 must be preserved because
1037 # applications built on Solaris 2.6 Beta (when they did contain symbols)
1038 # may depend on them. All symbol content for SunOS 5.6 is now in SUNW_1.1
1039
1040 SYMBOL_VERSION SUNW_1.17 {
1041 protected:
1042 SUNW_1.17;
1043 } SUNW_1.16;
1044
1045 SYMBOL_VERSION SUNW_1.16 {
1046 protected:
1047 SUNW_1.16;
1048 } SUNW_1.15;
1049
1050 SYMBOL_VERSION SUNW_1.15 {
1051 protected:
1052 SUNW_1.15;
1053 } SUNW_1.14;
1054
1055 SYMBOL_VERSION SUNW_1.14 {
1056 protected:
1057 SUNW_1.14;
1058 } SUNW_1.13;
1059
1060 SYMBOL_VERSION SUNW_1.13 {
1061 protected:
1062 SUNW_1.13;
1063 } SUNW_1.12;
1064
1065 SYMBOL_VERSION SUNW_1.12 {
1066 protected:
1067 SUNW_1.12;
1068 } SUNW_1.11;
1069
1070 SYMBOL_VERSION SUNW_1.11 {
1071 protected:
1072 SUNW_1.11;
1073 } SUNW_1.10;
1074
1075 SYMBOL_VERSION SUNW_1.10 {
1076 protected:
1077 SUNW_1.10;
1078 } SUNW_1.9;
1079
1080 SYMBOL_VERSION SUNW_1.9 {
1081 protected:
1082 SUNW_1.9;
1083 } SUNW_1.8;
1084
1085 SYMBOL_VERSION SUNW_1.8 {
1086 protected:
1087 SUNW_1.8;
1088 } SUNW_1.7;
1089
1090 SYMBOL_VERSION SUNW_1.7 {
1091 protected:
1092 SUNW_1.7;
1093 } SUNW_1.6;
1094
1095 SYMBOL_VERSION SUNW_1.6 {
1096 protected:
1097 SUNW_1.6;
1098 } SUNW_1.5;
1099
1100 SYMBOL_VERSION SUNW_1.5 {
1101 protected:
1102 SUNW_1.5;
1103 } SUNW_1.4;
1104
1105 SYMBOL_VERSION SUNW_1.4 {
1106 protected:
1107 SUNW_1.4;
1108 } SUNW_1.3;
1109
1110 SYMBOL_VERSION SUNW_1.3 {
1111 protected:
1112 SUNW_1.3;
1113 } SUNW_1.2;
1114
1115 SYMBOL_VERSION SUNW_1.2 {
1116 protected:
1117 SUNW_1.2;
1118 } SUNW_1.1;
1119
1120 SYMBOL_VERSION SUNW_1.1 { # SunOS 5.6 (Solaris 2.6)
1121 global:
1122 __loc1;
1123 protected:
1124 basename;
1125 bindtextdomain;
1126 bsd_signal;
1127 dbm_clearerr;
1128 dbm_error;
1129 dcgettext;
1130 dgettext;
1131 directio;
1132 dirname;
1133 endusershell;
1134 _exithandle;
1135 fgetwc;
1136 fgetws;
1137 fpgetround;
1138 fpsetround;
1139 fputwc;
1140 fputws;
1141 fseeko;
1142 ftello;
1143 ftrylockfile;
1144 getexecname;
1145 _getexecname;
1146 getpassphrase;
1147 gettext;
1148 getusershell;
1149 getwc;
1150 getwchar;
1151 getws;
1152 isenglish;
1153 isideogram;
1154 isnumber;
1155 isphonogram;
1156 isspecial;
1157 iswalnum;
1158 iswalpha;
1159 iswcntrl;
1160 iswctype;
1161 iswdigit;
1162 iswgraph;
1163 iswlower;
1164 iswprint;
1165 iswpunct;
1166 iswspace;
1167 iswupper;
1168 iswxdigit;
1169 ____loc1;
1170 _longjmp;
1171 _lwp_sema_trywait;
1172 ntp_adjtime;
1173 _ntp_adjtime;
1174 ntp_gettime;
1175 _ntp_gettime;
1176 __posix_asctime_r;
1177 __posix_ctime_r;
1178 __posix_getgrgid_r;
1179 __posix_getgrnam_r;
1180 __posix_getlogin_r;
1181 __posix_getpwnam_r;
1182 __posix_getpwuid_r;
1183 __posix_sigwait;
1184 __posix_ttyname_r;
1185 pset_assign;
1186 pset_bind;
1187 pset_create;
1188 pset_destroy;
1189 pset_info;
1190 pthread_atfork;
1191 pthread_attr_destroy;
1192 pthread_attr_getdetachstate;
1193 pthread_attr_getinheritsched;
1194 pthread_attr_getschedparam;
1195 pthread_attr_getschedpolicy;
1196 pthread_attr_getscope;
1197 pthread_attr_getstackaddr;
1198 pthread_attr_getstacksize;
1199 pthread_attr_init;
1200 pthread_attr_setdetachstate;
1201 pthread_attr_setinheritsched;
1202 pthread_attr_setschedparam;
1203 pthread_attr_setschedpolicy;
1204 pthread_attr_setscope;
1205 pthread_attr_setstackaddr;
1206 pthread_attr_setstacksize;
1207 pthread_cancel;
1208 __pthread_cleanup_pop;
1209 __pthread_cleanup_push;
1210 pthread_create;
1211 pthread_detach;
1212 pthread_equal;
1213 pthread_exit;
1214 pthread_getschedparam;
1215 pthread_getspecific;
1216 pthread_join;
1217 pthread_key_create;
1218 pthread_key_delete;
1219 pthread_kill;
1220 pthread_once;
1221 pthread_self;
1222 pthread_setcancelstate;
1223 pthread_setcanceltype;
1224 pthread_setschedparam;
1225 pthread_setspecific;
1226 pthread_sigmask;
1227 pthread_testcancel;
1228 putwc;
1229 putwchar;
1230 putws;
1231 regcmp;
1232 regex;
1233 resolvepath;
1234 _resolvepath;
1235 rwlock_destroy { FLAGS = NODYNSORT };
1236 _rwlock_destroy { FLAGS = NODYNSORT };
1237 sema_destroy;
1238 _sema_destroy;
1239 _setjmp;
1240 setusershell;
1241 siginterrupt;
1242 sigstack;
1243 snprintf;
1244 strtows;
1245 sync_instruction_memory;
1246 textdomain;
1247 thr_main;
1248 towctrans;
1249 towlower;
1250 towupper;
1251 ungetwc;
1252 vsnprintf;
1253 watoll;
1254 wcscat;
1255 wcschr;
1256 wcscmp;
1257 wcscoll;
1258 wcscpy;
1259 wcscspn;
1260 wcsftime;
1261 wcslen;
1262 wcsncat;
1263 wcsncmp;
1264 wcsncpy;
1265 wcspbrk;
1266 wcsrchr;
1267 wcsspn;
1268 wcstod;
1269 wcstok;
1270 wcstol;
1271 wcstoul;
1272 wcswcs;
1273 wcswidth;
1274 wcsxfrm;
1275 wctrans;
1276 wctype;
1277 wcwidth;
1278 wscasecmp;
1279 wscat;
1280 wschr;
1281 wscmp;
1282 wscol;
1283 wscoll;
1284 wscpy;
1285 wscspn;
1286 wsdup;
1287 wslen;
1288 wsncasecmp;
1289 wsncat;
1290 wsncmp;
1291 wsncpy;
1292 wspbrk;
1293 wsprintf;
1294 wsrchr;
1295 wsscanf;
1296 wsspn;
1297 wstod;
1298 wstok;
1299 wstol;
1300 wstoll;
1301 wstostr;
1302 wsxfrm;
1303 __xpg4_putmsg;
1304 __xpg4_putpmsg;
1305
1306 $if lf64
1307 creat64;
1308 _creat64;
1309 fgetpos64;
1310 fopen64;
1311 freopen64;
1312 fseeko64;
1313 fsetpos64;
1314 fstat64;
1315 _fstat64;
1316 fstatvfs64;
1317 _fstatvfs64;
1318 ftello64;
1319 ftruncate64;
1320 _ftruncate64;
1321 ftw64;
1322 _ftw64;
1323 getdents64;
1324 _getdents64;
1325 getrlimit64;
1326 _getrlimit64;
1327 lockf64;
1328 _lockf64;
1329 lseek64;
1330 _lseek64;
1331 lstat64;
1332 _lstat64;
1333 mkstemp64;
1334 _mkstemp64;
1335 mmap64;
1336 _mmap64;
1337 nftw64;
1338 _nftw64;
1339 open64;
1340 _open64;
1341 __posix_readdir_r;
1342 pread64;
1343 _pread64;
1344 pwrite64;
1345 _pwrite64;
1346 readdir64;
1347 _readdir64;
1348 readdir64_r;
1349 _readdir64_r;
1350 setrlimit64;
1351 _setrlimit64;
1352 s_fcntl;
1353 _s_fcntl { FLAGS = NODYNSORT };
1354 s_ioctl;
1355 stat64;
1356 _stat64;
1357 statvfs64;
1358 _statvfs64;
1359 tell64;
1360 _tell64;
1361 tmpfile64;
1362 truncate64;
1363 _truncate64;
1364 _xftw64;
1365 $endif
1366
1367 $if _sparc
1368 __flt_rounds;
1369 $endif
1370 } SUNW_0.9;
1371
1372 SYMBOL_VERSION SUNW_0.9 { # SunOS 5.5 (Solaris 2.5)
1373 protected:
1374 acl;
1375 bcmp;
1376 bcopy;
1377 bzero;
1378 facl;
1379 ftime;
1380 getdtablesize;
1381 gethostid;
1382 gethostname;
1383 getpagesize;
1384 getpriority;
1385 getrusage;
1386 getwd;
1387 index;
1388 initstate;
1389 killpg;
1390 _nsc_trydoorcall;
1391 pthread_condattr_destroy;
1392 pthread_condattr_getpshared;
1393 pthread_condattr_init;
1394 pthread_condattr_setpshared;
1395 pthread_cond_broadcast;
1396 pthread_cond_destroy;
1397 pthread_cond_init;
1398 pthread_cond_signal;
1399 pthread_cond_timedwait;
1400 pthread_cond_wait;
1401 pthread_mutexattr_destroy;
1402 pthread_mutexattr_getprioceiling;
1403 pthread_mutexattr_getprotocol;
1404 pthread_mutexattr_getpshared;
1405 pthread_mutexattr_init;
1406 pthread_mutexattr_setprioceiling;
1407 pthread_mutexattr_setprotocol;
1408 pthread_mutexattr_setpshared;
1409 pthread_mutex_destroy;
1410 pthread_mutex_getprioceiling;
1411 pthread_mutex_init;
1412 pthread_mutex_lock;
1413 pthread_mutex_setprioceiling;
1414 pthread_mutex_trylock;
1415 pthread_mutex_unlock;
1416 random;
1417 reboot;
1418 re_comp;
1419 re_exec;
1420 rindex;
1421 setbuffer;
1422 sethostname;
1423 setlinebuf;
1424 setpriority;
1425 setregid;
1426 setreuid;
1427 setstate;
1428 srandom;
1429 thr_min_stack;
1430 thr_stksegment;
1431 ualarm;
1432 usleep;
1433 wait3;
1434 wait4;
1435 } SUNW_0.8;
1436
1437 SYMBOL_VERSION SUNW_0.8 { # SunOS 5.4 (Solaris 2.4)
1438 global:
1439 __xpg4 { FLAGS = NODIRECT };
1440 protected:
1441 addsev;
1442 cond_broadcast { FLAGS = NODYNSORT };
1443 cond_destroy { FLAGS = NODYNSORT };
1444 cond_init;
1445 cond_signal { FLAGS = NODYNSORT };
1446 cond_timedwait;
1447 cond_wait;
1448 confstr;
1449 fnmatch;
1450 _getdate_err_addr;
1451 glob;
1452 globfree;
1453 iconv;
1454 iconv_close;
1455 iconv_open;
1456 lfmt;
1457 mutex_destroy { FLAGS = NODYNSORT };
1458 mutex_init;
1459 mutex_lock { FLAGS = NODYNSORT };
1460 mutex_trylock { FLAGS = NODYNSORT };
1461 mutex_unlock { FLAGS = NODYNSORT };
1462 pfmt;
1463 regcomp;
1464 regerror;
1465 regexec;
1466 regfree;
1467 rwlock_init;
1468 rw_rdlock { FLAGS = NODYNSORT };
1469 rw_read_held;
1470 rw_tryrdlock { FLAGS = NODYNSORT };
1471 rw_trywrlock { FLAGS = NODYNSORT };
1472 rw_unlock { FLAGS = NODYNSORT };
1473 rw_write_held;
1474 rw_wrlock { FLAGS = NODYNSORT };
1475 sema_held;
1476 sema_init;
1477 sema_post;
1478 sema_trywait;
1479 sema_wait;
1480 setcat;
1481 sigfpe;
1482 strfmon;
1483 strptime;
1484 thr_continue;
1485 thr_create;
1486 thr_exit;
1487 thr_getconcurrency;
1488 thr_getprio;
1489 thr_getspecific;
1490 thr_join;
1491 thr_keycreate;
1492 thr_kill;
1493 thr_self { FLAGS = NODYNSORT };
1494 thr_setconcurrency;
1495 thr_setprio;
1496 thr_setspecific;
1497 thr_sigsetmask;
1498 thr_suspend;
1499 thr_yield;
1500 vlfmt;
1501 vpfmt;
1502 wordexp;
1503 wordfree;
1504 } SUNW_0.7;
1505
1506 SYMBOL_VERSION SUNW_0.7 { # SunOS 5.3 (Solaris 2.3)
1507 global:
1508 altzone;
1509 _ctype;
1510 isnanf { TYPE = FUNCTION; FILTER = libm.so.2 };
1511 lone;
1512 lten;
1513 lzero;
1514 memalign { FLAGS = NODIRECT };
1515 modff { TYPE = FUNCTION; FILTER = libm.so.2 };
1516 nss_default_finders;
1517 _sibuf;
1518 _sobuf;
1519 _sys_buslist;
1520 _sys_cldlist;
1521 _sys_fpelist;
1522 _sys_illlist;
1523 _sys_segvlist;
1524 _sys_siginfolistp;
1525 _sys_siglist;
1526 _sys_siglistn;
1527 _sys_siglistp;
1528 _sys_traplist;
1529 valloc { FLAGS = NODIRECT };
1530
1531 $if _ELF32
1532 _bufendtab;
1533 _lastbuf;
1534 sys_errlist;
1535 sys_nerr;
1536 _sys_nsig;
1537 $endif
1538
1539 protected:
1540 a64l;
1541 adjtime;
1542 ascftime;
1543 _assert;
1544 atoll;
1545 brk;
1546 __builtin_alloca;
1547 cftime;
1548 closelog;
1549 csetcol;
1550 csetlen;
1551 ctermid_r;
1552 dbm_close;
1553 dbm_delete;
1554 dbm_fetch;
1555 dbm_firstkey;
1556 dbm_nextkey;
1557 dbm_open;
1558 dbm_store;
1559 decimal_to_double;
1560 decimal_to_extended;
1561 decimal_to_quadruple;
1562 decimal_to_single;
1563 double_to_decimal;
1564 drand48;
1565 econvert;
1566 ecvt;
1567 endnetgrent;
1568 endspent;
1569 endutent;
1570 endutxent;
1571 erand48;
1572 euccol;
1573 euclen;
1574 eucscol;
1575 extended_to_decimal;
1576 fchroot;
1577 fconvert;
1578 fcvt;
1579 ffs;
1580 fgetspent;
1581 fgetspent_r;
1582 _filbuf;
1583 file_to_decimal;
1584 finite;
1585 _flsbuf;
1586 fork1 { FLAGS = NODYNSORT };
1587 fpclass;
1588 fpgetmask;
1589 fpgetsticky;
1590 fpsetmask;
1591 fpsetsticky;
1592 fstatfs;
1593 ftruncate;
1594 ftw;
1595 func_to_decimal;
1596 gconvert;
1597 gcvt;
1598 getdents;
1599 gethrtime;
1600 gethrvtime;
1601 getmntany;
1602 getmntent;
1603 getnetgrent;
1604 getnetgrent_r;
1605 getpw;
1606 getspent;
1607 getspent_r;
1608 getspnam;
1609 getspnam_r;
1610 getutent;
1611 getutid;
1612 getutline;
1613 getutmp;
1614 getutmpx;
1615 getutxent;
1616 getutxid;
1617 getutxline;
1618 getvfsany;
1619 getvfsent;
1620 getvfsfile;
1621 getvfsspec;
1622 getwidth;
1623 gsignal;
1624 hasmntopt;
1625 innetgr;
1626 insque;
1627 _insque;
1628 jrand48;
1629 l64a;
1630 ladd;
1631 lckpwdf;
1632 lcong48;
1633 ldivide;
1634 lexp10;
1635 llabs;
1636 lldiv;
1637 llog10;
1638 llseek;
1639 lltostr;
1640 lmul;
1641 lrand48;
1642 lshiftl;
1643 lsub;
1644 _lwp_cond_broadcast;
1645 _lwp_cond_signal;
1646 _lwp_cond_timedwait;
1647 _lwp_cond_wait;
1648 _lwp_continue;
1649 _lwp_info;
1650 _lwp_kill;
1651 _lwp_mutex_lock;
1652 _lwp_mutex_trylock;
1653 _lwp_mutex_unlock;
1654 _lwp_self;
1655 _lwp_sema_init;
1656 _lwp_sema_post;
1657 _lwp_sema_wait;
1658 _lwp_suspend;
1659 madvise;
1660 __major;
1661 __makedev;
1662 mincore;
1663 __minor;
1664 mkstemp;
1665 _mkstemp;
1666 mlockall;
1667 mrand48;
1668 munlockall;
1669 _mutex_held { FLAGS = NODYNSORT };
1670 _mutex_lock { FLAGS = NODYNSORT };
1671 nrand48;
1672 _nss_netdb_aliases;
1673 _nss_XbyY_buf_alloc;
1674 _nss_XbyY_buf_free;
1675 __nsw_extended_action;
1676 __nsw_freeconfig;
1677 __nsw_getconfig;
1678 openlog;
1679 plock;
1680 p_online;
1681 pread;
1682 __priocntl;
1683 __priocntlset;
1684 processor_bind;
1685 processor_info;
1686 psiginfo;
1687 psignal;
1688 putpwent;
1689 putspent;
1690 pututline;
1691 pututxline;
1692 pwrite;
1693 qeconvert;
1694 qecvt;
1695 qfconvert;
1696 qfcvt;
1697 qgconvert;
1698 qgcvt;
1699 quadruple_to_decimal;
1700 realpath;
1701 remque;
1702 _remque;
1703 _rw_read_held;
1704 _rw_write_held;
1705 seconvert;
1706 seed48;
1707 select;
1708 _sema_held;
1709 setegid;
1710 seteuid;
1711 setlogmask;
1712 setnetgrent;
1713 setspent;
1714 settimeofday;
1715 setutent;
1716 setutxent;
1717 sfconvert;
1718 sgconvert;
1719 sig2str;
1720 sigwait;
1721 single_to_decimal;
1722 srand48;
1723 ssignal;
1724 statfs;
1725 str2sig;
1726 strcasecmp;
1727 string_to_decimal;
1728 strncasecmp;
1729 strsignal;
1730 strtoll;
1731 strtoull;
1732 swapctl;
1733 _syscall;
1734 sysfs;
1735 syslog;
1736 _syslog;
1737 tmpnam_r;
1738 truncate;
1739 ttyslot;
1740 uadmin;
1741 ulckpwdf;
1742 ulltostr;
1743 unordered;
1744 updwtmp;
1745 updwtmpx;
1746 ustat;
1747 utimes;
1748 utmpname;
1749 utmpxname;
1750 vfork;
1751 vhangup;
1752 vsyslog;
1753 yield;
1754
1755 $if i386
1756 # Note: _syscall is also defined above. Here, we add the NODYNSORT
1757 # attribute to it. On this platform, it is an alias to syscall.
1758 # If that is changed, this lines should be removed.
1759 _syscall { FLAGS = NODYNSORT };
1760 $endif
1761
1762 # The 32-bit sparc ABI requires SISCD_2.3. On other platforms, those symbols
1763 # go directly into SUNW_0.7.
1764 $if sparc32
1765 } SISCD_2.3;
1766
1767 SYMBOL_VERSION SISCD_2.3 {
1768 $endif
1769
1770 global:
1771 errno { FLAGS = NODIRECT };
1772 _iob;
1773
1774 protected:
1775 addseverity;
1776 _addseverity;
1777 asctime_r;
1778 crypt;
1779 _crypt;
1780 ctime_r;
1781 encrypt;
1782 _encrypt;
1783 endgrent;
1784 endpwent;
1785 ___errno;
1786 fgetgrent;
1787 fgetgrent_r;
1788 fgetpwent;
1789 fgetpwent_r;
1790 flockfile;
1791 funlockfile;
1792 getchar_unlocked;
1793 getc_unlocked;
1794 getgrent;
1795 getgrent_r;
1796 getgrgid_r;
1797 getgrnam_r;
1798 getitimer;
1799 _getitimer;
1800 getlogin_r;
1801 getpwent;
1802 getpwent_r;
1803 getpwnam_r;
1804 getpwuid_r;
1805 gettimeofday;
1806 _gettimeofday;
1807 gmtime_r;
1808 localtime_r;
1809 putchar_unlocked;
1810 putc_unlocked;
1811 rand_r;
1812 readdir_r;
1813 setgrent;
1814 setitimer;
1815 _setitimer;
1816 setkey;
1817 _setkey;
1818 setpwent;
1819 strtok_r;
1820 sysinfo;
1821 _sysinfo;
1822 ttyname_r;
1823
1824 $if _ELF32
1825 __div64;
1826 __mul64;
1827 __rem64;
1828 __udiv64;
1829 __urem64;
1830 $endif
1831
1832 $if sparc32
1833 __dtoll;
1834 __dtoull;
1835 __ftoll;
1836 __ftoull;
1837 _Q_lltoq;
1838 _Q_qtoll;
1839 _Q_qtoull;
1840 _Q_ulltoq;
1841 sbrk;
1842 _sbrk;
1843 __umul64 { FLAGS = NODYNSORT }; # Same address as __mul64
1844 $endif
1845
1846 # On 32-bit platforms, the following symbols go into SYSVABI_1.3, but on
1847 # other platforms they go directly into the current version (which will be
1848 # either SUNW_0.7, or SISCD_2.3, depending on the similar issue described above.
1849 $if _ELF32
1850 } SYSVABI_1.3;
1851
1852 SYMBOL_VERSION SYSVABI_1.3 {
1853 $endif
1854
1855 global:
1856 _altzone;
1857 calloc { FLAGS = NODIRECT };
1858 __ctype;
1859 daylight;
1860 _daylight;
1861 environ { FLAGS = NODIRECT };
1862 _environ { FLAGS = NODIRECT };
1863 free { FLAGS = NODIRECT };
1864 frexp { TYPE = FUNCTION; FILTER = libm.so.2 };
1865 getdate_err;
1866 _getdate_err;
1867 getenv;
1868 __huge_val;
1869 __iob;
1870 isnan { TYPE = FUNCTION; FILTER = libm.so.2 };
1871 _isnan { TYPE = FUNCTION; FILTER = libm.so.2 };
1872 isnand { TYPE = FUNCTION; FILTER = libm.so.2 };
1873 _isnand { TYPE = FUNCTION; FILTER = libm.so.2 };
1874 ldexp { TYPE = FUNCTION; FILTER = libm.so.2 };
1875 logb { TYPE = FUNCTION; FILTER = libm.so.2 };
1876 malloc { FLAGS = NODIRECT };
1877 memcmp;
1878 memcpy;
1879 memmove;
1880 memset;
1881 modf { TYPE = FUNCTION; FILTER = libm.so.2 };
1882 _modf { TYPE = FUNCTION; FILTER = libm.so.2 };
1883 nextafter { TYPE = FUNCTION; FILTER = libm.so.2 };
1884 _nextafter { TYPE = FUNCTION; FILTER = libm.so.2 };
1885 _numeric;
1886 optarg;
1887 opterr;
1888 optind;
1889 optopt;
1890 realloc { FLAGS = NODIRECT };
1891 scalb { TYPE = FUNCTION; FILTER = libm.so.2 };
1892 _scalb { TYPE = FUNCTION; FILTER = libm.so.2 };
1893 timezone;
1894 _timezone;
1895 tzname;
1896 _tzname;
1897 $if i386
1898 _fp_hw;
1899 $endif
1900
1901 protected:
1902 abort;
1903 abs;
1904 access;
1905 _access;
1906 acct;
1907 _acct;
1908 alarm;
1909 _alarm;
1910 asctime;
1911 __assert;
1912 atexit;
1913 atof;
1914 atoi;
1915 atol;
1916 bsearch;
1917 catclose;
1918 _catclose;
1919 catgets;
1920 _catgets;
1921 catopen;
1922 _catopen;
1923 cfgetispeed;
1924 _cfgetispeed;
1925 cfgetospeed;
1926 _cfgetospeed;
1927 cfsetispeed;
1928 _cfsetispeed;
1929 cfsetospeed;
1930 _cfsetospeed;
1931 chdir;
1932 _chdir;
1933 chmod;
1934 _chmod;
1935 chown;
1936 _chown;
1937 chroot;
1938 _chroot;
1939 _cleanup;
1940 clearerr;
1941 clock;
1942 _close;
1943 close;
1944 closedir;
1945 _closedir;
1946 creat;
1947 _creat;
1948 ctermid;
1949 ctime;
1950 cuserid;
1951 _cuserid;
1952 difftime;
1953 div;
1954 dup;
1955 _dup;
1956 dup2;
1957 _dup2;
1958 execl;
1959 _execl;
1960 execle;
1961 _execle;
1962 execlp;
1963 _execlp;
1964 execv;
1965 _execv;
1966 execve;
1967 _execve;
1968 execvp;
1969 _execvp;
1970 exit;
1971 _exit;
1972 fattach;
1973 _fattach;
1974 fchdir;
1975 _fchdir;
1976 fchmod;
1977 _fchmod;
1978 fchown;
1979 _fchown;
1980 fclose;
1981 fcntl;
1982 _fcntl;
1983 fdetach;
1984 _fdetach;
1985 fdopen;
1986 _fdopen;
1987 feof;
1988 ferror;
1989 fflush;
1990 fgetc;
1991 fgetpos;
1992 fgets;
1993 __filbuf;
1994 fileno;
1995 _fileno;
1996 __flsbuf;
1997 fmtmsg;
1998 _fmtmsg;
1999 fopen;
2000 _fork;
2001 fork;
2002 fpathconf;
2003 _fpathconf;
2004 fprintf;
2005 fputc;
2006 fputs;
2007 fread;
2008 freopen;
2009 fscanf;
2010 fseek;
2011 fsetpos;
2012 fstat;
2013 _fstat;
2014 fstatvfs;
2015 _fstatvfs;
2016 fsync;
2017 _fsync;
2018 ftell;
2019 ftok;
2020 _ftok;
2021 fwrite;
2022 getc;
2023 getchar;
2024 getcontext;
2025 _getcontext;
2026 getcwd;
2027 _getcwd;
2028 getdate;
2029 _getdate;
2030 getegid;
2031 _getegid;
2032 geteuid;
2033 _geteuid;
2034 getgid;
2035 _getgid;
2036 getgrgid;
2037 getgrnam;
2038 getgroups;
2039 _getgroups;
2040 getlogin;
2041 getmsg;
2042 _getmsg;
2043 getopt;
2044 _getopt;
2045 getpass;
2046 _getpass;
2047 getpgid;
2048 _getpgid;
2049 getpgrp;
2050 _getpgrp;
2051 getpid;
2052 _getpid;
2053 getpmsg;
2054 _getpmsg;
2055 getppid;
2056 _getppid;
2057 getpwnam;
2058 getpwuid;
2059 getrlimit;
2060 _getrlimit;
2061 gets;
2062 getsid;
2063 _getsid;
2064 getsubopt;
2065 _getsubopt;
2066 gettxt;
2067 _gettxt;
2068 getuid;
2069 _getuid;
2070 getw;
2071 _getw;
2072 gmtime;
2073 grantpt;
2074 _grantpt;
2075 hcreate;
2076 _hcreate;
2077 hdestroy;
2078 _hdestroy;
2079 hsearch;
2080 _hsearch;
2081 initgroups;
2082 _initgroups;
2083 ioctl;
2084 _ioctl;
2085 isalnum;
2086 isalpha;
2087 isascii;
2088 _isascii;
2089 isastream;
2090 _isastream;
2091 isatty;
2092 _isatty;
2093 iscntrl;
2094 isdigit;
2095 isgraph;
2096 islower;
2097 isprint;
2098 ispunct;
2099 isspace;
2100 isupper;
2101 isxdigit;
2102 kill;
2103 _kill;
2104 labs;
2105 lchown;
2106 _lchown;
2107 ldiv;
2108 lfind;
2109 _lfind;
2110 link;
2111 _link;
2112 localeconv;
2113 localtime;
2114 lockf;
2115 _lockf;
2116 longjmp;
2117 lsearch;
2118 _lsearch;
2119 lseek;
2120 _lseek;
2121 lstat;
2122 _lstat;
2123 makecontext;
2124 _makecontext;
2125 mblen;
2126 mbstowcs;
2127 mbtowc;
2128 memccpy;
2129 _memccpy;
2130 memchr;
2131 memcntl;
2132 _memcntl;
2133 mkdir;
2134 _mkdir;
2135 mkfifo;
2136 _mkfifo;
2137 mknod;
2138 _mknod;
2139 mktemp;
2140 _mktemp;
2141 mktime;
2142 mlock;
2143 _mlock;
2144 mmap;
2145 _mmap;
2146 monitor;
2147 _monitor;
2148 mount;
2149 _mount;
2150 mprotect;
2151 _mprotect;
2152 msgctl;
2153 _msgctl;
2154 msgget;
2155 _msgget;
2156 msgrcv;
2157 _msgrcv;
2158 msgsnd;
2159 _msgsnd;
2160 msync;
2161 _msync;
2162 munlock;
2163 _munlock;
2164 munmap;
2165 _munmap;
2166 nftw;
2167 _nftw;
2168 nice;
2169 _nice;
2170 nl_langinfo;
2171 _nl_langinfo;
2172 open;
2173 _open;
2174 opendir;
2175 _opendir;
2176 pathconf;
2177 _pathconf;
2178 pause;
2179 _pause;
2180 pclose;
2181 _pclose;
2182 perror;
2183 pipe;
2184 _pipe;
2185 poll;
2186 _poll;
2187 popen;
2188 _popen;
2189 printf;
2190 profil;
2191 _profil;
2192 ptsname;
2193 _ptsname;
2194 putc;
2195 putchar;
2196 putenv;
2197 _putenv;
2198 putmsg;
2199 _putmsg;
2200 putpmsg;
2201 _putpmsg;
2202 puts;
2203 putw;
2204 _putw;
2205 qsort;
2206 raise;
2207 rand;
2208 read;
2209 _read;
2210 readdir;
2211 _readdir;
2212 readlink;
2213 _readlink;
2214 readv;
2215 _readv;
2216 remove;
2217 rename;
2218 _rename;
2219 rewind;
2220 rewinddir;
2221 _rewinddir;
2222 rmdir;
2223 _rmdir;
2224 scanf;
2225 seekdir;
2226 _seekdir;
2227 semctl;
2228 _semctl;
2229 semget;
2230 _semget;
2231 semop;
2232 _semop;
2233 setbuf;
2234 setcontext;
2235 _setcontext { FLAGS = NODYNSORT };
2236 setgid;
2237 _setgid;
2238 setgroups;
2239 _setgroups;
2240 setjmp;
2241 setlabel;
2242 setlocale;
2243 setpgid;
2244 _setpgid;
2245 setpgrp;
2246 _setpgrp;
2247 setrlimit;
2248 _setrlimit;
2249 setsid;
2250 _setsid;
2251 setuid;
2252 _setuid;
2253 setvbuf;
2254 shmat;
2255 _shmat;
2256 shmctl;
2257 _shmctl;
2258 shmdt;
2259 _shmdt;
2260 shmget;
2261 _shmget;
2262 sigaction;
2263 _sigaction { FLAGS = NODYNSORT };
2264 sigaddset;
2265 _sigaddset;
2266 sigaltstack;
2267 _sigaltstack;
2268 sigdelset;
2269 _sigdelset;
2270 sigemptyset;
2271 _sigemptyset;
2272 sigfillset;
2273 _sigfillset;
2274 sighold;
2275 _sighold;
2276 sigignore;
2277 _sigignore;
2278 sigismember;
2279 _sigismember;
2280 siglongjmp;
2281 _siglongjmp;
2282 signal;
2283 sigpause;
2284 _sigpause;
2285 sigpending;
2286 _sigpending;
2287 sigprocmask;
2288 _sigprocmask;
2289 sigrelse;
2290 _sigrelse;
2291 sigsend;
2292 _sigsend;
2293 sigsendset;
2294 _sigsendset;
2295 sigset;
2296 _sigset;
2297 sigsetjmp;
2298 _sigsetjmp { FLAGS = NODYNSORT };
2299 sigsuspend;
2300 _sigsuspend;
2301 sleep;
2302 _sleep;
2303 sprintf;
2304 srand;
2305 sscanf;
2306 stat;
2307 _stat;
2308 statvfs;
2309 _statvfs;
2310 stime;
2311 _stime;
2312 strcat;
2313 strchr;
2314 strcmp;
2315 strcoll;
2316 strcpy;
2317 strcspn;
2318 strdup;
2319 _strdup;
2320 strerror;
2321 strftime;
2322 strlen;
2323 strncat;
2324 strncmp;
2325 strncpy;
2326 strpbrk;
2327 strrchr;
2328 strspn;
2329 strstr;
2330 strtod;
2331 strtok;
2332 strtol;
2333 strtoul;
2334 strxfrm;
2335 swab;
2336 _swab;
2337 swapcontext;
2338 _swapcontext;
2339 symlink;
2340 _symlink;
2341 sync;
2342 _sync;
2343 sysconf;
2344 _sysconf;
2345 system;
2346 tcdrain;
2347 _tcdrain;
2348 tcflow;
2349 _tcflow;
2350 tcflush;
2351 _tcflush;
2352 tcgetattr;
2353 _tcgetattr;
2354 tcgetpgrp;
2355 _tcgetpgrp;
2356 tcgetsid;
2357 _tcgetsid;
2358 tcsendbreak;
2359 _tcsendbreak;
2360 tcsetattr;
2361 _tcsetattr;
2362 tcsetpgrp;
2363 _tcsetpgrp;
2364 tdelete;
2365 _tdelete;
2366 tell;
2367 _tell;
2368 telldir;
2369 _telldir;
2370 tempnam;
2371 _tempnam;
2372 tfind;
2373 _tfind;
2374 time;
2375 _time;
2376 times;
2377 _times;
2378 tmpfile;
2379 tmpnam;
2380 toascii;
2381 _toascii;
2382 tolower;
2383 _tolower;
2384 toupper;
2385 _toupper;
2386 tsearch;
2387 _tsearch;
2388 ttyname;
2389 twalk;
2390 _twalk;
2391 tzset;
2392 _tzset;
2393 ulimit;
2394 _ulimit;
2395 umask;
2396 _umask;
2397 umount;
2398 _umount;
2399 uname;
2400 _uname;
2401 ungetc;
2402 unlink;
2403 _unlink;
2404 unlockpt;
2405 _unlockpt;
2406 utime;
2407 _utime;
2408 vfprintf;
2409 vprintf;
2410 vsprintf;
2411 wait;
2412 _wait;
2413 waitid;
2414 _waitid;
2415 waitpid;
2416 _waitpid;
2417 wcstombs;
2418 wctomb;
2419 write;
2420 _write;
2421 writev;
2422 _writev;
2423 _xftw;
2424
2425 $if _ELF32
2426 ptrace;
2427 _ptrace;
2428 $endif
2429
2430 $if i386
2431 _fxstat;
2432 _lxstat;
2433 nuname;
2434 _nuname;
2435 _xmknod;
2436 _xstat;
2437 $endif
2438
2439 $if !sparc32
2440 sbrk;
2441 $endif
2442
2443 $if _sparc
2444 __dtou;
2445 __ftou;
2446 $endif
2447
2448 $if sparc32
2449 .div;
2450 .mul;
2451 .rem;
2452 .stret1;
2453 .stret2;
2454 .stret4;
2455 # .stret4 and .stret8 are the same thing
2456 .stret8 { FLAGS = NODYNSORT };
2457 .udiv;
2458 .umul;
2459 .urem;
2460 _Q_add;
2461 _Q_cmp;
2462 _Q_cmpe;
2463 _Q_div;
2464 _Q_dtoq;
2465 _Q_feq;
2466 _Q_fge;
2467 _Q_fgt;
2468 _Q_fle;
2469 _Q_flt;
2470 _Q_fne;
2471 _Q_itoq;
2472 _Q_mul;
2473 _Q_neg;
2474 _Q_qtod;
2475 _Q_qtoi;
2476 _Q_qtos;
2477 _Q_qtou;
2478 _Q_sqrt;
2479 _Q_stoq;
2480 _Q_sub;
2481 _Q_utoq;
2482 $endif
2483
2484 $if sparcv9
2485 # __align_cpy_1 is an alias for memcpy. Filter it out of
2486 # the .SUNW_dynsymsort section
2487 __align_cpy_1 { FLAGS = NODYNSORT };
2488 __align_cpy_16;
2489 __align_cpy_2;
2490 __align_cpy_4;
2491 # __align_cpy_8 is same as __align_cpy_16
2492 __align_cpy_8 { FLAGS = NODYNSORT };
2493 __dtoul;
2494 __ftoul;
2495 _Qp_add;
2496 _Qp_cmp;
2497 _Qp_cmpe;
2498 _Qp_div;
2499 _Qp_dtoq;
2500 _Qp_feq;
2501 _Qp_fge;
2502 _Qp_fgt;
2503 _Qp_fle;
2504 _Qp_flt;
2505 _Qp_fne;
2506 _Qp_itoq;
2507 _Qp_mul;
2508 _Qp_neg;
2509 _Qp_qtod;
2510 _Qp_qtoi;
2511 _Qp_qtos;
2512 _Qp_qtoui;
2513 _Qp_qtoux;
2514 _Qp_qtox;
2515 _Qp_sqrt;
2516 _Qp_stoq;
2517 _Qp_sub;
2518 _Qp_uitoq;
2519 _Qp_uxtoq;
2520 _Qp_xtoq;
2521 __sparc_utrap_install;
2522 $endif
2523
2524 # On amd64, we also have SYSVABI_1.3, but it contains a small subset of
2525 # the symbols put in that version on other platforms.
2526 $if amd64
2527 } SYSVABI_1.3;
2528
2529 SYMBOL_VERSION SYSVABI_1.3 {
2530 $endif
2531 global:
2532 $if !_sparc
2533 __flt_rounds;
2534 $endif
2535
2536 protected:
2537 _ctermid;
2538 _getgrgid;
2539 _getgrnam;
2540 _getlogin;
2541 _getpwnam;
2542 _getpwuid;
2543 _ttyname;
2544
2545 $if !sparc32
2546 _sbrk;
2547 $endif
2548
2549 $if _x86
2550 _fpstart;
2551 __fpstart;
2552 $endif
2553 };
2554
2555
2556
2557 # There should never be more than one SUNWprivate version.
2558 # Don't add any more. Add new private symbols to SUNWprivate_1.1
2559
2560 SYMBOL_VERSION SUNWprivate_1.1 {
2561 global:
2562 ___Argv { FLAGS = NODIRECT };
2563 cfree { FLAGS = NODIRECT };
2564 _cswidth;
2565 __ctype_mask;
2566 __environ_lock { FLAGS = NODIRECT };
2567 __inf_read;
2568 __inf_written;
2569 __i_size;
2570 _isnanf { TYPE = FUNCTION; FILTER = libm.so.2 };
2571 __iswrune;
2572 __libc_threaded;
2573 _lib_version { FLAGS = NODIRECT };
2574 _logb { TYPE = FUNCTION; FILTER = libm.so.2 };
2575 _lone { FLAGS = NODYNSORT };
2576 _lten { FLAGS = NODYNSORT };
2577 _lzero { FLAGS = NODYNSORT };
2578 __malloc_lock;
2579 _memcmp;
2580 _memcpy { FLAGS = NODYNSORT };
2581 _memmove;
2582 _memset;
2583 _modff { TYPE = FUNCTION; FILTER = libm.so.2 };
2584 __nan_read;
2585 __nan_written;
2586 __nextwctype;
2587 __nis_debug_bind;
2588 __nis_debug_calls;
2589 __nis_debug_file;
2590 __nis_debug_rpc;
2591 __nis_prefsrv;
2592 __nis_preftype;
2593 __nis_server;
2594 _nss_default_finders;
2595 __progname { FLAGS = NODIRECT };
2596 _smbuf;
2597 _sp;
2598 __strdupa_str { FLAGS = NODIRECT };
2599 __strdupa_len { FLAGS = NODIRECT };
2600 _tdb_bootstrap;
2601 __threaded;
2602 thr_probe_getfunc_addr;
2603 __trans_lower;
2604 __trans_upper;
2605 _uberdata;
2606 __xpg6 { FLAGS = NODIRECT };
2607
2608 $if _ELF32
2609 _dladdr { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2610 _dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2611 _dlclose { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2612 _dldump { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2613 _dlerror { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2614 _dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2615 _dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2616 _dlopen { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2617 _dlsym { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2618 _ld_libc { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2619 _sys_errlist;
2620 _sys_errs;
2621 _sys_index;
2622 _sys_nerr { FLAGS = NODYNSORT };
2623 _sys_num_err;
2624 $elif sparcv9
2625 _dladdr { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2626 _dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2627 _dlclose { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2628 _dldump { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2629 _dlerror { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2630 _dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2631 _dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2632 _dlopen { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2633 _dlsym { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2634 _ld_libc { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2635 $elif amd64
2636 _dladdr { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2637 _dladdr1 { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2638 _dlamd64getunwind { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2639 _dlclose { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2640 _dldump { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2641 _dlerror { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2642 _dlinfo { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2643 _dlmopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2644 _dlopen { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2645 _dlsym { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2646 _ld_libc { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2647 $else
2648 $error unknown platform
2649 $endif
2650
2651 $if _sparc
2652 __lyday_to_month;
2653 __mon_lengths;
2654 __yday_to_month;
2655 $endif
2656 $if i386
2657 _sse_hw;
2658 $endif
2659
2660 protected:
2661 acctctl;
2662 allocids;
2663 _assert_c99;
2664 __assert_c99;
2665 _assfail;
2666 attr_count;
2667 attr_to_data_type;
2668 attr_to_name;
2669 attr_to_option;
2670 attr_to_xattr_view;
2671 _autofssys;
2672 _bufsync;
2673 _cladm;
2674 __class_quadruple;
2675 core_get_default_content;
2676 core_get_default_path;
2677 core_get_global_content;
2678 core_get_global_path;
2679 core_get_options;
2680 core_get_process_content;
2681 core_get_process_path;
2682 core_set_default_content;
2683 core_set_default_path;
2684 core_set_global_content;
2685 core_set_global_path;
2686 core_set_options;
2687 core_set_process_content;
2688 core_set_process_path;
2689 dbm_close_status;
2690 dbm_do_nextkey;
2691 dbm_setdefwrite;
2692 _D_cplx_div;
2693 _D_cplx_div_ix;
2694 _D_cplx_div_rx;
2695 _D_cplx_mul;
2696 defclose_r;
2697 defcntl;
2698 defcntl_r;
2699 defopen;
2700 defopen_r;
2701 defread;
2702 defread_r;
2703 _delete;
2704 _dgettext;
2705 _doprnt;
2706 _doscan;
2707 _errfp;
2708 _errxfp;
2709 exportfs;
2710 _F_cplx_div;
2711 _F_cplx_div_ix;
2712 _F_cplx_div_rx;
2713 _F_cplx_mul;
2714 __fgetwc_xpg5;
2715 __fgetws_xpg5;
2716 _findbuf;
2717 _findiop;
2718 __fini_daemon_priv;
2719 _finite;
2720 _fork1 { FLAGS = NODYNSORT };
2721 _forkall { FLAGS = NODYNSORT };
2722 _fpclass;
2723 _fpgetmask;
2724 _fpgetround;
2725 _fpgetsticky;
2726 _fprintf;
2727 _fpsetmask;
2728 _fpsetround;
2729 _fpsetsticky;
2730 __fputwc_xpg5;
2731 __fputws_xpg5;
2732 _ftw;
2733 _gcvt;
2734 _getarg;
2735 __getcontext;
2736 _getdents;
2737 _get_exit_frame_monitor;
2738 _getfp;
2739 _getgroupsbymember;
2740 _getlogin_r;
2741 _getsp;
2742 __gettsp;
2743 getvmusage;
2744 __getwchar_xpg5;
2745 __getwc_xpg5;
2746 gtty;
2747 __idmap_flush_kcache;
2748 __idmap_reg;
2749 __idmap_unreg;
2750 __init_daemon_priv;
2751 __init_suid_priv;
2752 _insert;
2753 inst_sync;
2754 _iswctype;
2755 klpd_create;
2756 klpd_getpath;
2757 klpd_getport;
2758 klpd_getucred;
2759 klpd_register;
2760 klpd_register_id;
2761 klpd_unregister;
2762 klpd_unregister_id;
2763 _lgrp_home_fast { FLAGS = NODYNSORT };
2764 _lgrpsys;
2765 _lltostr;
2766 _lock_clear;
2767 _lock_try;
2768 _ltzset;
2769 lwp_self;
2770 makeut;
2771 makeutx;
2772 _mbftowc;
2773 mcfiller;
2774 mntopt;
2775 modctl;
2776 modutx;
2777 msgctl64;
2778 __multi_innetgr;
2779 _mutex_destroy { FLAGS = NODYNSORT };
2780 mutex_held;
2781 _mutex_init { FLAGS = NODYNSORT };
2782 _mutex_unlock { FLAGS = NODYNSORT };
2783 name_to_attr;
2784 nfs_getfh;
2785 nfssvc;
2786 _nfssys;
2787 __nis_get_environment;
2788 _nss_db_state_destr;
2789 nss_default_key2str;
2790 nss_delete;
2791 nss_endent;
2792 nss_getent;
2793 _nss_initf_group;
2794 _nss_initf_netgroup;
2795 _nss_initf_passwd;
2796 _nss_initf_shadow;
2797 nss_packed_arg_init;
2798 nss_packed_context_init;
2799 nss_packed_getkey;
2800 nss_packed_set_status;
2801 nss_search;
2802 nss_setent;
2803 _nss_XbyY_fgets;
2804 __nsw_extended_action_v1;
2805 __nsw_freeconfig_v1;
2806 __nsw_getconfig_v1;
2807 __nthreads;
2808 __openattrdirat;
2809 option_to_attr;
2810 __priv_bracket;
2811 __priv_relinquish;
2812 pset_assign_forced;
2813 pset_bind_lwp;
2814 _psignal;
2815 _pthread_setcleanupinit;
2816 __putwchar_xpg5;
2817 __putwc_xpg5;
2818 rctlctl;
2819 rctllist;
2820 _realbufend;
2821 _resume;
2822 _resume_ret;
2823 _rpcsys;
2824 _sbrk_grow_aligned;
2825 scrwidth;
2826 semctl64;
2827 _semctl64;
2828 set_setcontext_enforcement;
2829 _setbufend;
2830 __set_errno;
2831 setprojrctl;
2832 _setregid;
2833 _setreuid;
2834 setsigacthandler;
2835 shmctl64;
2836 _shmctl64;
2837 sigflag;
2838 _signal;
2839 _sigoff;
2840 _sigon;
2841 _so_accept;
2842 _so_bind;
2843 _sockconfig;
2844 _so_connect;
2845 _so_getpeername;
2846 _so_getsockname;
2847 _so_getsockopt;
2848 _so_listen;
2849 _so_recv;
2850 _so_recvfrom;
2851 _so_recvmsg;
2852 _so_send;
2853 _so_sendmsg;
2854 _so_sendto;
2855 _so_setsockopt;
2856 _so_shutdown;
2857 _so_socket;
2858 _so_socketpair;
2859 str2group;
2860 str2passwd;
2861 str2spwd;
2862 __strptime_dontzero;
2863 stty;
2864 syscall;
2865 _sysconfig;
2866 __systemcall;
2867 thr_continue_allmutators;
2868 _thr_continue_allmutators;
2869 thr_continue_mutator;
2870 _thr_continue_mutator;
2871 thr_getstate;
2872 _thr_getstate;
2873 thr_mutators_barrier;
2874 _thr_mutators_barrier;
2875 thr_probe_setup;
2876 _thr_schedctl;
2877 thr_setmutator;
2878 _thr_setmutator;
2879 thr_setstate;
2880 _thr_setstate;
2881 thr_sighndlrinfo;
2882 _thr_sighndlrinfo;
2883 _thr_slot_offset;
2884 thr_suspend_allmutators;
2885 _thr_suspend_allmutators;
2886 thr_suspend_mutator;
2887 _thr_suspend_mutator;
2888 thr_wait_mutator;
2889 _thr_wait_mutator;
2890 __tls_get_addr;
2891 tpool_create;
2892 tpool_dispatch;
2893 tpool_destroy;
2894 tpool_wait;
2895 tpool_suspend;
2896 tpool_suspended;
2897 tpool_resume;
2898 tpool_member;
2899 _ttyname_dev;
2900 _ucred_alloc;
2901 ucred_getamask;
2902 _ucred_getamask;
2903 ucred_getasid;
2904 _ucred_getasid;
2905 ucred_getatid;
2906 _ucred_getatid;
2907 ucred_getauid;
2908 _ucred_getauid;
2909 _ulltostr;
2910 _uncached_getgrgid_r;
2911 _uncached_getgrnam_r;
2912 _uncached_getpwnam_r;
2913 _uncached_getpwuid_r;
2914 __ungetwc_xpg5;
2915 _unordered;
2916 utssys;
2917 _verrfp;
2918 _verrxfp;
2919 _vwarnfp;
2920 _vwarnxfp;
2921 _warnfp;
2922 _warnxfp;
2923 __wcsftime_xpg5;
2924 __wcstok_xpg5;
2925 wdbindf;
2926 wdchkind;
2927 wddelim;
2928 _wrtchk;
2929 _xflsbuf;
2930 _xgetwidth;
2931 zone_add_datalink;
2932 zone_boot;
2933 zone_check_datalink;
2934 zone_create;
2935 zone_destroy;
2936 zone_enter;
2937 zone_getattr;
2938 zone_get_id;
2939 zone_list;
2940 zone_list_datalink;
2941 zonept;
2942 zone_remove_datalink;
2943 zone_setattr;
2944 zone_shutdown;
2945 zone_version;
2946
2947 $if _ELF32
2948 __divdi3;
2949 _file_set;
2950 _fprintf_c89;
2951 _fscanf_c89;
2952 _fwprintf_c89;
2953 _fwscanf_c89;
2954 _imaxabs_c89;
2955 _imaxdiv_c89;
2956 __moddi3;
2957 _printf_c89;
2958 _scanf_c89;
2959 _snprintf_c89;
2960 _sprintf_c89;
2961 _sscanf_c89;
2962 _strtoimax_c89;
2963 _strtoumax_c89;
2964 _swprintf_c89;
2965 _swscanf_c89;
2966 __udivdi3;
2967 __umoddi3;
2968 _vfprintf_c89;
2969 _vfscanf_c89;
2970 _vfwprintf_c89;
2971 _vfwscanf_c89;
2972 _vprintf_c89;
2973 _vscanf_c89;
2974 _vsnprintf_c89;
2975 _vsprintf_c89;
2976 _vsscanf_c89;
2977 _vswprintf_c89;
2978 _vswscanf_c89;
2979 _vwprintf_c89;
2980 _vwscanf_c89;
2981 _wcstoimax_c89;
2982 _wcstoumax_c89;
2983 _wprintf_c89;
2984 _wscanf_c89;
2985 $endif
2986
2987 $if _sparc
2988 _cerror;
2989 install_utrap;
2990 _install_utrap;
2991 nop;
2992 _Q_cplx_div;
2993 _Q_cplx_div_ix;
2994 _Q_cplx_div_rx;
2995 _Q_cplx_lr_div;
2996 _Q_cplx_lr_div_ix;
2997 _Q_cplx_lr_div_rx;
2998 _Q_cplx_lr_mul;
2999 _Q_cplx_mul;
3000 _QgetRD;
3001 _xregs_clrptr;
3002 $endif
3003
3004 $if sparc32
3005 __ashldi3;
3006 __ashrdi3;
3007 _cerror64;
3008 __cmpdi2;
3009 __floatdidf;
3010 __floatdisf;
3011 __floatundidf;
3012 __floatundisf;
3013 __lshrdi3;
3014 __muldi3;
3015 __ucmpdi2;
3016 $endif
3017
3018 $if _x86
3019 _D_cplx_lr_div;
3020 _D_cplx_lr_div_ix;
3021 _D_cplx_lr_div_rx;
3022 _F_cplx_lr_div;
3023 _F_cplx_lr_div_ix;
3024 _F_cplx_lr_div_rx;
3025 __fltrounds;
3026 sysi86;
3027 _sysi86;
3028 _X_cplx_div;
3029 _X_cplx_div_ix;
3030 _X_cplx_div_rx;
3031 _X_cplx_lr_div;
3032 _X_cplx_lr_div_ix;
3033 _X_cplx_lr_div_rx;
3034 _X_cplx_mul;
3035 __xgetRD;
3036 __xtol;
3037 __xtoll;
3038 __xtoul;
3039 __xtoull;
3040 $endif
3041
3042 $if i386
3043 __divrem64;
3044 ___tls_get_addr;
3045 __udivrem64;
3046 $endif
3047
3048 # The following functions should not be exported from libc,
3049 # but /lib/libm.so.2, some older versions of the Studio
3050 # compiler/debugger components, and some ancient programs
3051 # found in /usr/dist reference them. When we no longer
3052 # care about these old and broken binary objects, these
3053 # symbols should be deleted.
3054 _brk { FLAGS = NODYNSORT };
3055 _cond_broadcast { FLAGS = NODYNSORT };
3056 _cond_init { FLAGS = NODYNSORT };
3057 _cond_signal { FLAGS = NODYNSORT };
3058 _cond_wait { FLAGS = NODYNSORT };
3059 _ecvt { FLAGS = NODYNSORT };
3060 _fcvt { FLAGS = NODYNSORT };
3061 _getc_unlocked { FLAGS = NODYNSORT };
3062 _llseek { FLAGS = NODYNSORT };
3063 _pthread_attr_getdetachstate { FLAGS = NODYNSORT };
3064 _pthread_attr_getinheritsched { FLAGS = NODYNSORT };
3065 _pthread_attr_getschedparam { FLAGS = NODYNSORT };
3066 _pthread_attr_getschedpolicy { FLAGS = NODYNSORT };
3067 _pthread_attr_getscope { FLAGS = NODYNSORT };
3068 _pthread_attr_getstackaddr { FLAGS = NODYNSORT };
3069 _pthread_attr_getstacksize { FLAGS = NODYNSORT };
3070 _pthread_attr_init { FLAGS = NODYNSORT };
3071 _pthread_condattr_getpshared { FLAGS = NODYNSORT };
3072 _pthread_condattr_init { FLAGS = NODYNSORT };
3073 _pthread_cond_init { FLAGS = NODYNSORT };
3074 _pthread_create { FLAGS = NODYNSORT };
3075 _pthread_getschedparam { FLAGS = NODYNSORT };
3076 _pthread_join { FLAGS = NODYNSORT };
3077 _pthread_key_create { FLAGS = NODYNSORT };
3078 _pthread_mutexattr_getprioceiling { FLAGS = NODYNSORT };
3079 _pthread_mutexattr_getprotocol { FLAGS = NODYNSORT };
3080 _pthread_mutexattr_getpshared { FLAGS = NODYNSORT };
3081 _pthread_mutexattr_init { FLAGS = NODYNSORT };
3082 _pthread_mutex_getprioceiling { FLAGS = NODYNSORT };
3083 _pthread_mutex_init { FLAGS = NODYNSORT };
3084 _pthread_sigmask { FLAGS = NODYNSORT };
3085 _rwlock_init { FLAGS = NODYNSORT };
3086 _rw_rdlock { FLAGS = NODYNSORT };
3087 _rw_unlock { FLAGS = NODYNSORT };
3088 _rw_wrlock { FLAGS = NODYNSORT };
3089 _sbrk_unlocked { FLAGS = NODYNSORT };
3090 _select { FLAGS = NODYNSORT };
3091 _sema_init { FLAGS = NODYNSORT };
3092 _sema_post { FLAGS = NODYNSORT };
3093 _sema_trywait { FLAGS = NODYNSORT };
3094 _sema_wait { FLAGS = NODYNSORT };
3095 _sysfs { FLAGS = NODYNSORT };
3096 _thr_create { FLAGS = NODYNSORT };
3097 _thr_exit { FLAGS = NODYNSORT };
3098 _thr_getprio { FLAGS = NODYNSORT };
3099 _thr_getspecific { FLAGS = NODYNSORT };
3100 _thr_join { FLAGS = NODYNSORT };
3101 _thr_keycreate { FLAGS = NODYNSORT };
3102 _thr_kill { FLAGS = NODYNSORT };
3103 _thr_main { FLAGS = NODYNSORT };
3104 _thr_self { FLAGS = NODYNSORT };
3105 _thr_setspecific { FLAGS = NODYNSORT };
3106 _thr_sigsetmask { FLAGS = NODYNSORT };
3107 _thr_stksegment { FLAGS = NODYNSORT };
3108 _ungetc_unlocked { FLAGS = NODYNSORT };
3109
3110 local:
3111 __imax_lldiv { FLAGS = NODYNSORT };
3112 _ti_thr_self { FLAGS = NODYNSORT };
3113 *;
3114
3115 $if lf64
3116 _seekdir64 { FLAGS = NODYNSORT };
3117 _telldir64 { FLAGS = NODYNSORT };
3118 $endif
3119
3120 $if _sparc
3121 __cerror { FLAGS = NODYNSORT };
3122 $endif
3123
3124 $if sparc32
3125 __cerror64 { FLAGS = NODYNSORT };
3126 $endif
3127
3128 $if sparcv9
3129 __cleanup { FLAGS = NODYNSORT };
3130 $endif
3131
3132 $if i386
3133 _syscall6 { FLAGS = NODYNSORT };
3134 __systemcall6 { FLAGS = NODYNSORT };
3135 $endif
3136
3137 $if amd64
3138 ___tls_get_addr { FLAGS = NODYNSORT };
3139 $endif
3140 };