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