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