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