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