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