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