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