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