libc: import recallocarray(3) from openbsd
[unleashed.git] / usr / src / lib / libc / port / mapfile-vers
blobb837e91f8a719f384876c82a377a8435a324b641
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
22 # Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
24 # Copyright 2010 Nexenta Systems, Inc.  All rights reserved.
25 # Use is subject to license terms.
27 # Copyright (c) 2012 by Delphix. All rights reserved.
28 # Copyright 2016 Joyent, Inc.
29 # Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
30 # Copyright (c) 2013 Gary Mills
31 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
34 # MAPFILE HEADER START
36 # WARNING:  STOP NOW.  DO NOT MODIFY THIS FILE.
37 # Object versioning must comply with the rules detailed in
39 #       usr/src/lib/README.mapfiles
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.
44 # MAPFILE HEADER END
47 $mapfile_version 2
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.
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.
71 # Mnemonic conditional input identifiers:
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.
78 # -     lf64: Defined on platforms that offer the 32-bit largefile APIs
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
96 SYMBOL_VERSION ILLUMOS_0.22 {   # endian(3C)
97     protected:
98         htobe16;
99         htobe32;
100         htobe64;
101         htole16;
102         htole32;
103         htole64;
104         betoh16;
105         letoh16;
106         be16toh;
107         le16toh;
108         betoh32;
109         letoh32;
110         be32toh;
111         le32toh;
112         betoh64;
113         letoh64;
114         be64toh;
115         le64toh;
116 } ILLUMOS_0.21;
118 SYMBOL_VERSION ILLUMOS_0.21 {
119     protected:
120         pthread_attr_get_np;
121 } ILLUMOS_0.20;
123 SYMBOL_VERSION ILLUMOS_0.20 {   # C11
124     protected:
125         aligned_alloc;
126         at_quick_exit;
127         call_once;
128         cnd_broadcast;
129         cnd_destroy;
130         cnd_init;
131         cnd_signal;
132         cnd_timedwait;
133         cnd_wait;
134         mtx_destroy;
135         mtx_init;
136         mtx_lock;
137         mtx_timedlock;
138         mtx_trylock;
139         mtx_unlock;
140         quick_exit;
141         thrd_create;
142         thrd_current;
143         thrd_detach;
144         thrd_equal;
145         thrd_exit;
146         thrd_join;
147         thrd_sleep;
148         thrd_yield;
149         timespec_get;
150         tss_create;
151         tss_delete;
152         tss_get;
153         tss_set;
154 } ILLUMOS_0.19;
156 SYMBOL_VERSION ILLUMOS_0.19 {   # flock
157     protected:
158         flock;
159 } ILLUMOS_0.18;
161 SYMBOL_VERSION ILLUMOS_0.18 {   # signalfd
162     protected:
163         signalfd;
164 } ILLUMOS_0.17;
166 SYMBOL_VERSION ILLUMOS_0.17 {   # glob(3C) LFS
167 $if lf64
168     protected:
169         _glob_ext64;
170         _globfree_ext64;
171 $endif
172 } ILLUMOS_0.16;
174 SYMBOL_VERSION ILLUMOS_0.16 {   # timerfd
175     protected:
176         timerfd_create;
177         timerfd_gettime;
178         timerfd_settime;
179 } ILLUMOS_0.15;
181 SYMBOL_VERSION ILLUMOS_0.15 {   # epoll(3C)
182     protected:
183         epoll_create;
184         epoll_create1;
185         epoll_ctl;
186         epoll_wait;
187         epoll_pwait;
188 } ILLUMOS_0.14;
190 SYMBOL_VERSION ILLUMOS_0.14 {   # strerror_l
191     protected:
192         strerror_l;
193 } ILLUMOS_0.13;
195 SYMBOL_VERSION ILLUMOS_0.13 {   # eventfd
196     protected:
197         eventfd;
198         eventfd_read;
199         eventfd_write;
200 } ILLUMOS_0.12;
202 SYMBOL_VERSION ILLUMOS_0.12 {   # arc4random and friends
203     protected:
204         arc4random;
205         arc4random_buf;
206         arc4random_uniform;
207         explicit_bzero;
208         getentropy;
209 } ILLUMOS_0.11;
211 SYMBOL_VERSION ILLUMOS_0.11 {   # Illumos additions
212     protected:
213         iswxdigit_l;
214         isxdigit_l;
215 } ILLUMOS_0.10;
217 SYMBOL_VERSION ILLUMOS_0.10 {   # Illumos additions
218     protected:
219         preadv;
220         pwritev;
222 $if lf64
223         preadv64;
224         pwritev64;
225 $endif
226 } ILLUMOS_0.9;
228 SYMBOL_VERSION ILLUMOS_0.9 {
229     protected:
230         wcsnrtombs;
231         wcsnrtombs_l;
232 } ILLUMOS_0.8;
234 SYMBOL_VERSION ILLUMOS_0.8 {    # POSIX 2008 newlocale and friends
235     protected:
236         __global_locale;
237         __mb_cur_max;
238         __mb_cur_max_l;
239         btowc_l;
240         duplocale;
241         fgetwc_l;
242         freelocale;
243         getwc_l;
244         isalnum_l;
245         isalpha_l;
246         isblank_l;
247         iscntrl_l;
248         isdigit_l;
249         isgraph_l;
250         islower_l;
251         isprint_l;
252         ispunct_l;
253         isspace_l;
254         isupper_l;
255         iswideogram;
256         iswideogram_l;
257         iswnumber;
258         iswnumber_l;
259         iswhexnumber;
260         iswhexnumber_l;
261         iswphonogram;
262         iswphonogram_l;
263         iswspecial;
264         iswspecial_l;
265         iswalnum_l;
266         iswalpha_l;
267         iswblank_l;
268         iswcntrl_l;
269         iswctype_l;
270         iswdigit_l;
271         iswgraph_l;
272         iswlower_l;
273         iswprint_l;
274         iswpunct_l;
275         iswspace_l;
276         iswupper_l;
277         mblen_l;
278         mbrlen_l;
279         mbsinit_l;
280         mbsnrtowcs;
281         mbsnrtowcs_l;
282         mbsrtowcs_l;
283         mbstowcs_l;
284         mbtowc_l;
285         newlocale;
286         nl_langinfo_l;
287         strcasecmp_l;
288         strcasestr_l;
289         strcoll_l;
290         strfmon_l;
291         strftime_l;
292         strncasecmp_l;
293         strptime_l;
294         strxfrm_l;
295         tolower_l;
296         toupper_l;
297         towlower_l;
298         towupper_l;
299         towctrans_l;
300         uselocale;
301         wcrtomb_l;
302         wcscasecmp_l;
303         wcscoll_l;
304         wcsncasecmp_l;
305         wcsrtombs_l;
306         wcstombs_l;
307         wcswidth_l;
308         wcsxfrm_l;
309         wctob_l;
310         wctomb_l;
311         wctrans_l;
312         wctype_l;
313         wcwidth_l;
314 } ILLUMOS_0.7;
316 SYMBOL_VERSION ILLUMOS_0.7 {    # Illumos additions
317     protected:
318         _glob_ext;
319         _globfree_ext;
320 } ILLUMOS_0.6;
322 SYMBOL_VERSION ILLUMOS_0.6 {    # Illumos additions
323     protected:
324         getloginx;
325         getloginx_r;
326         __posix_getloginx_r;
327 } ILLUMOS_0.5;
329 SYMBOL_VERSION ILLUMOS_0.5 {    # common C++ ABI exit handlers
330     protected:
331         __cxa_atexit;
332         __cxa_finalize;
333 } ILLUMOS_0.4;
335 SYMBOL_VERSION ILLUMOS_0.4 {    # Illumos additions
336     protected:
337         pipe2;
338         dup3;
339         mkostemp;
340         mkostemps;
342 $if lf64
343         mkostemp64;
344         mkostemps64;
345 $endif
346 } ILLUMOS_0.3;
348 SYMBOL_VERSION ILLUMOS_0.3 {    # Illumos additions
349     protected:
350         assfail3;
351 } ILLUMOS_0.2;
353 SYMBOL_VERSION ILLUMOS_0.2 {    # Illumos additions
354     protected:
355         posix_spawn_pipe_np;
356 } ILLUMOS_0.1;
358 SYMBOL_VERSION ILLUMOS_0.1 {    # Illumos additions
359     protected:
360         timegm;
361 } SUNW_1.23;
363 SYMBOL_VERSION SUNW_1.23 {      # SunOS 5.11 (Solaris 11)
364     global:
365         _nl_domain_bindings;
366         _nl_msg_cat_cntr;
368 $if _ELF32
369         dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
370 $elif sparcv9
371         dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
372 $elif amd64
373         dl_iterate_phdr { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
374 $else
375 $error unknown platform
376 $endif
378     protected:
380 $if sparc32
381         __align_cpy_1;
382 $endif
384         addrtosymstr;
385         aio_cancel;
386         aiocancel;
387         aio_error;
388         aio_fsync;
389         aio_read;
390         aioread;
391         aio_return;
392         aio_suspend;
393         aiowait;
394         aio_waitn;
395         aio_write;
396         aiowrite;
397         asprintf;
398         assfail;
399         backtrace;
400         backtrace_symbols;
401         backtrace_symbols_fd;
402         canonicalize_file_name;
403         clearenv;
404         clock_getres;
405         clock_gettime;
406         clock_nanosleep;
407         clock_settime;
408         daemon;
409         dirfd;
410         door_bind;
411         door_call;
412         door_create;
413         door_cred;
414         door_getparam;
415         door_info;
416         door_return;
417         door_revoke;
418         door_server_create;
419         door_setparam;
420         door_ucred;
421         door_unbind;
422         door_xcreate;
423         err;
424         errx;
425         faccessat;
426         fchmodat;
427         fcloseall;
428         fdatasync;
429         ffsl;
430         ffsll;
431         fgetattr;
432         fls;
433         flsl;
434         flsll;
435         forkallx;
436         forkx;
437         fsetattr;
438         getattrat;
439         getdelim;
440         getline;
441         get_nprocs;
442         get_nprocs_conf;
443         getprogname;
444         htonl;
445         htonll;
446         htons;
447         linkat;
448         lio_listio;
449         memmem;
450         mkdirat;
451         mkdtemp;
452         mkfifoat;
453         mknodat;
454         mkstemps;
455         mmapobj;
456         mq_close;
457         mq_getattr;
458         mq_notify;
459         mq_open;
460         mq_receive;
461         mq_reltimedreceive_np;
462         mq_reltimedsend_np;
463         mq_send;
464         mq_setattr;
465         mq_timedreceive;
466         mq_timedsend;
467         mq_unlink;
468         nanosleep;
469         ntohl;
470         ntohll;
471         ntohs;
472         posix_fadvise;
473         posix_fallocate;
474         posix_madvise;
475         posix_memalign;
476         posix_spawn_file_actions_addclosefrom_np;
477         posix_spawnattr_getsigignore_np;
478         posix_spawnattr_setsigignore_np;
479         ppoll;
480         priv_basicset;
481         pthread_key_create_once_np;
482         pthread_mutexattr_getrobust;
483         pthread_mutexattr_setrobust;
484         pthread_mutex_consistent;
485         readlinkat;
486         sched_getparam;
487         sched_get_priority_max;
488         sched_get_priority_min;
489         sched_getscheduler;
490         sched_rr_get_interval;
491         sched_setparam;
492         sched_setscheduler;
493         sched_yield;
494         sem_close;
495         sem_destroy;
496         sem_getvalue;
497         sem_init;
498         sem_open;
499         sem_post;
500         sem_reltimedwait_np;
501         sem_timedwait;
502         sem_trywait;
503         sem_unlink;
504         sem_wait;
505         setattrat;
506         setprogname;
507         _sharefs;
508         shm_open;
509         shm_unlink;
510         sigqueue;
511         sigtimedwait;
512         sigwaitinfo;
513         smt_pause;
514         stpcpy;
515         stpncpy;
516         strcasestr;
517         strchrnul;
518         strndup;
519         strnlen;
520         strnstr;
521         strsep;
522         symlinkat;
523         thr_keycreate_once;
524         timer_create;
525         timer_delete;
526         timer_getoverrun;
527         timer_gettime;
528         timer_settime;
529         u8_strcmp;
530         u8_validate;
531         uconv_u16tou32;
532         uconv_u16tou8;
533         uconv_u32tou16;
534         uconv_u32tou8;
535         uconv_u8tou16;
536         uconv_u8tou32;
537         vasprintf;
538         verr;
539         verrx;
540         vforkx;
541         vwarn;
542         vwarnx;
543         warn;
544         warnx;
545         wcpcpy;
546         wcpncpy;
547         wcscasecmp;
548         wcsdup;
549         wcsncasecmp;
550         wcsnlen;
552 $if lf64
553         aio_cancel64;
554         aio_error64;
555         aio_fsync64;
556         aio_read64;
557         aioread64;
558         aio_return64;
559         aio_suspend64;
560         aio_waitn64;
561         aio_write64;
562         aiowrite64;
563         lio_listio64;
564         mkstemps64;
565         posix_fadvise64;
566         posix_fallocate64;
567 $endif
568 } SUNW_1.22.6;
570 SYMBOL_VERSION SUNW_1.22.6 {    # s10u9 - SunOS 5.10 (Solaris 10) patch additions
571     protected:
572         futimens;
573         utimensat;
574 } SUNW_1.22.5;
576 SYMBOL_VERSION SUNW_1.22.5 {    # s10u8 - SunOS 5.10 (Solaris 10) patch additions
577     protected:
578         getpagesizes2;
579 } SUNW_1.22.4;
581 SYMBOL_VERSION SUNW_1.22.4 {    # s10u7 - SunOS 5.10 (Solaris 10) patch additions
582     protected:
583         SUNW_1.22.4;
584 } SUNW_1.22.3;
586 SYMBOL_VERSION SUNW_1.22.3 {    # SunOS 5.10 (Solaris 10) patch additions
587     protected:
588         mutex_consistent;
589         u8_textprep_str;
590         uucopy;
591         uucopystr;
592 } SUNW_1.22.2;
594 SYMBOL_VERSION SUNW_1.22.2 {    # SunOS 5.10 (Solaris 10) patch additions
595 } SUNW_1.22.1;
597 SYMBOL_VERSION SUNW_1.22.1 {    # SunOS 5.10 (Solaris 10) patch additions
598     protected:
599         atomic_add_8;
600         atomic_add_8_nv;
601         atomic_add_char         { FLAGS = NODYNSORT };
602         atomic_add_char_nv      { FLAGS = NODYNSORT };
603         atomic_add_int          { FLAGS = NODYNSORT };
604         atomic_add_int_nv       { FLAGS = NODYNSORT };
605         atomic_add_ptr          { FLAGS = NODYNSORT };
606         atomic_add_ptr_nv       { FLAGS = NODYNSORT };
607         atomic_add_short        { FLAGS = NODYNSORT };
608         atomic_add_short_nv     { FLAGS = NODYNSORT };
609         atomic_and_16;
610         atomic_and_16_nv;
611         atomic_and_32_nv;
612         atomic_and_64;
613         atomic_and_64_nv;
614         atomic_and_8;
615         atomic_and_8_nv;
616         atomic_and_uchar        { FLAGS = NODYNSORT };
617         atomic_and_uchar_nv     { FLAGS = NODYNSORT };
618         atomic_and_uint_nv      { FLAGS = NODYNSORT };
619         atomic_and_ulong        { FLAGS = NODYNSORT };
620         atomic_and_ulong_nv     { FLAGS = NODYNSORT };
621         atomic_and_ushort       { FLAGS = NODYNSORT };
622         atomic_and_ushort_nv    { FLAGS = NODYNSORT };
623         atomic_cas_16;
624         atomic_cas_32;
625         atomic_cas_64;
626         atomic_cas_8;
627         atomic_cas_ptr          { FLAGS = NODYNSORT };
628         atomic_cas_uchar        { FLAGS = NODYNSORT };
629         atomic_cas_uint         { FLAGS = NODYNSORT };
630         atomic_cas_ulong        { FLAGS = NODYNSORT };
631         atomic_cas_ushort       { FLAGS = NODYNSORT };
632         atomic_clear_long_excl  { FLAGS = NODYNSORT };
633         atomic_dec_16;
634         atomic_dec_16_nv;
635         atomic_dec_32;
636         atomic_dec_32_nv;
637         atomic_dec_64;
638         atomic_dec_64_nv;
639         atomic_dec_8;
640         atomic_dec_8_nv;
641         atomic_dec_uchar        { FLAGS = NODYNSORT };
642         atomic_dec_uchar_nv     { FLAGS = NODYNSORT };
643         atomic_dec_uint         { FLAGS = NODYNSORT };
644         atomic_dec_uint_nv      { FLAGS = NODYNSORT };
645         atomic_dec_ulong        { FLAGS = NODYNSORT };
646         atomic_dec_ulong_nv     { FLAGS = NODYNSORT };
647         atomic_dec_ushort       { FLAGS = NODYNSORT };
648         atomic_dec_ushort_nv    { FLAGS = NODYNSORT };
649         atomic_inc_16;
650         atomic_inc_16_nv;
651         atomic_inc_32;
652         atomic_inc_32_nv;
653         atomic_inc_64;
654         atomic_inc_64_nv;
655         atomic_inc_8;
656         atomic_inc_8_nv;
657         atomic_inc_uchar        { FLAGS = NODYNSORT };
658         atomic_inc_uchar_nv     { FLAGS = NODYNSORT };
659         atomic_inc_uint         { FLAGS = NODYNSORT };
660         atomic_inc_uint_nv      { FLAGS = NODYNSORT };
661         atomic_inc_ulong        { FLAGS = NODYNSORT };
662         atomic_inc_ulong_nv     { FLAGS = NODYNSORT };
663         atomic_inc_ushort       { FLAGS = NODYNSORT };
664         atomic_inc_ushort_nv    { FLAGS = NODYNSORT };
665         atomic_or_16;
666         atomic_or_16_nv;
667         atomic_or_32_nv;
668         atomic_or_64;
669         atomic_or_64_nv;
670         atomic_or_8;
671         atomic_or_8_nv;
672         atomic_or_uchar         { FLAGS = NODYNSORT };
673         atomic_or_uchar_nv      { FLAGS = NODYNSORT };
674         atomic_or_uint_nv       { FLAGS = NODYNSORT };
675         atomic_or_ulong         { FLAGS = NODYNSORT };
676         atomic_or_ulong_nv      { FLAGS = NODYNSORT };
677         atomic_or_ushort        { FLAGS = NODYNSORT };
678         atomic_or_ushort_nv     { FLAGS = NODYNSORT };
679         atomic_set_long_excl    { FLAGS = NODYNSORT };
680         atomic_swap_16;
681         atomic_swap_32;
682         atomic_swap_64;
683         atomic_swap_8;
684         atomic_swap_ptr         { FLAGS = NODYNSORT };
685         atomic_swap_uchar       { FLAGS = NODYNSORT };
686         atomic_swap_uint        { FLAGS = NODYNSORT };
687         atomic_swap_ulong       { FLAGS = NODYNSORT };
688         atomic_swap_ushort      { FLAGS = NODYNSORT };
689         membar_consumer;
690         membar_enter;
691         membar_exit;
692         membar_producer;
694 $if _ELF32
695         enable_extended_FILE_stdio;
696 $endif
698 $if i386
699         # Note: atomic_[and,dec,inc,or]_64_nv are also defined above. Here,
700         # we add the NODYNSORT attribute to them. On this platform, they are
701         # aliases for the non-_nv versions. If that is changed, these lines
702         # should be removed.
703         atomic_and_64_nv        { FLAGS = NODYNSORT };
704         atomic_dec_64_nv        { FLAGS = NODYNSORT };
705         atomic_inc_64_nv        { FLAGS = NODYNSORT };
706         atomic_or_64_nv         { FLAGS = NODYNSORT };
707 $endif
708 $if _sparc
709         # Note: atomic_OP_WIDTH_nv symbols are also defined above. Here,
710         # we add the NODYNSORT attribute to them. On this platform, they are
711         # aliases for the non-_nv versions. If that is changed, these lines
712         # should be removed.
713         atomic_add_8_nv         { FLAGS = NODYNSORT };
714         atomic_and_8_nv         { FLAGS = NODYNSORT };
715         atomic_and_16_nv        { FLAGS = NODYNSORT };
716         atomic_and_32_nv        { FLAGS = NODYNSORT };
717         atomic_and_64_nv        { FLAGS = NODYNSORT };
718         atomic_dec_8_nv         { FLAGS = NODYNSORT };
719         atomic_dec_16_nv        { FLAGS = NODYNSORT };
720         atomic_dec_32_nv        { FLAGS = NODYNSORT };
721         atomic_dec_64_nv        { FLAGS = NODYNSORT };
722         atomic_inc_8_nv         { FLAGS = NODYNSORT };
723         atomic_inc_16_nv        { FLAGS = NODYNSORT };
724         atomic_inc_32_nv        { FLAGS = NODYNSORT };
725         atomic_inc_64_nv        { FLAGS = NODYNSORT };
726         atomic_or_8_nv          { FLAGS = NODYNSORT };
727         atomic_or_16_nv         { FLAGS = NODYNSORT };
728         atomic_or_32_nv         { FLAGS = NODYNSORT };
729         atomic_or_64_nv         { FLAGS = NODYNSORT };
730 $endif
731 } SUNW_1.22;
733 SYMBOL_VERSION SUNW_1.22 {      # SunOS 5.10 (Solaris 10)
734     global:
735 $if _ELF32
736         dladdr          { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
737         dladdr1         { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
738         dlclose         { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
739         dldump          { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
740         dlerror         { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
741         dlinfo          { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
742         dlmopen         { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
743         dlopen          { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
744         dlsym           { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
745 $elif sparcv9
746         dladdr          { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
747         dladdr1         { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
748         dlclose         { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
749         dldump          { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
750         dlerror         { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
751         dlinfo          { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
752         dlmopen         { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
753         dlopen          { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
754         dlsym           { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
755 $elif amd64
756         dladdr          { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
757         dladdr1         { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
758         dlamd64getunwind { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
759         dlclose         { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
760         dldump          { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
761         dlerror         { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
762         dlinfo          { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
763         dlmopen         { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
764         dlopen          { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
765         dlsym           { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
766 $else
767 $error unknown platform
768 $endif
770     protected:
771         alphasort;
772         _alphasort;
773         atomic_add_16;
774         atomic_add_16_nv;
775         atomic_add_32;
776         atomic_add_32_nv;
777         atomic_add_64;
778         atomic_add_64_nv;
779         atomic_add_long         { FLAGS = NODYNSORT };
780         atomic_add_long_nv      { FLAGS = NODYNSORT };
781         atomic_and_32;
782         atomic_and_uint         { FLAGS = NODYNSORT };
783         atomic_or_32;
784         atomic_or_uint          { FLAGS = NODYNSORT };
785         _Exit;
786         getisax;
787         _getisax;
788         getopt_clip;
789         _getopt_clip;
790         getopt_long;
791         _getopt_long;
792         getopt_long_only;
793         _getopt_long_only;
794         getpeerucred;
795         _getpeerucred;
796         getpflags;
797         _getpflags;
798         getppriv;
799         _getppriv;
800         getprivimplinfo;
801         _getprivimplinfo;
802         getzoneid;
803         getzoneidbyname;
804         getzonenamebyid;
805         imaxabs;
806         imaxdiv;
807         isblank;
808         iswblank;
809         port_alert;
810         port_associate;
811         port_create;
812         port_dissociate;
813         port_get;
814         port_getn;
815         port_send;
816         port_sendn;
817         posix_openpt;
818         posix_spawn;
819         posix_spawnattr_destroy;
820         posix_spawnattr_getflags;
821         posix_spawnattr_getpgroup;
822         posix_spawnattr_getschedparam;
823         posix_spawnattr_getschedpolicy;
824         posix_spawnattr_getsigdefault;
825         posix_spawnattr_getsigmask;
826         posix_spawnattr_init;
827         posix_spawnattr_setflags;
828         posix_spawnattr_setpgroup;
829         posix_spawnattr_setschedparam;
830         posix_spawnattr_setschedpolicy;
831         posix_spawnattr_setsigdefault;
832         posix_spawnattr_setsigmask;
833         posix_spawn_file_actions_addclose;
834         posix_spawn_file_actions_adddup2;
835         posix_spawn_file_actions_addopen;
836         posix_spawn_file_actions_destroy;
837         posix_spawn_file_actions_init;
838         posix_spawnp;
839         priv_addset;
840         _priv_addset;
841         priv_allocset;
842         _priv_allocset;
843         priv_copyset;
844         _priv_copyset;
845         priv_delset;
846         _priv_delset;
847         priv_emptyset;
848         _priv_emptyset;
849         priv_fillset;
850         _priv_fillset;
851         __priv_free_info;
852         priv_freeset;
853         _priv_freeset;
854         priv_getbyname;
855         _priv_getbyname;
856         __priv_getbyname;
857         priv_getbynum;
858         _priv_getbynum;
859         __priv_getbynum;
860         __priv_getdata;
861         priv_getsetbyname;
862         _priv_getsetbyname;
863         __priv_getsetbyname;
864         priv_getsetbynum;
865         _priv_getsetbynum;
866         __priv_getsetbynum;
867         priv_gettext;
868         _priv_gettext;
869         priv_ineffect;
870         _priv_ineffect;
871         priv_intersect;
872         _priv_intersect;
873         priv_inverse;
874         _priv_inverse;
875         priv_isemptyset;
876         _priv_isemptyset;
877         priv_isequalset;
878         _priv_isequalset;
879         priv_isfullset;
880         _priv_isfullset;
881         priv_ismember;
882         _priv_ismember;
883         priv_issubset;
884         _priv_issubset;
885         __priv_parse_info;
886         priv_set;
887         _priv_set;
888         priv_set_to_str;
889         _priv_set_to_str;
890         __priv_set_to_str;
891         priv_str_to_set;
892         _priv_str_to_set;
893         priv_union;
894         _priv_union;
895         pselect;
896         pthread_attr_getstack;
897         pthread_attr_setstack;
898         pthread_barrierattr_destroy;
899         pthread_barrierattr_getpshared;
900         pthread_barrierattr_init;
901         pthread_barrierattr_setpshared;
902         pthread_barrier_destroy;
903         pthread_barrier_init;
904         pthread_barrier_wait;
905         pthread_condattr_getclock;
906         pthread_condattr_setclock;
907         pthread_mutexattr_getrobust_np  { FLAGS = NODYNSORT };
908         pthread_mutexattr_setrobust_np  { FLAGS = NODYNSORT };
909         pthread_mutex_consistent_np     { FLAGS = NODYNSORT };
910         pthread_mutex_reltimedlock_np;
911         pthread_mutex_timedlock;
912         pthread_rwlock_reltimedrdlock_np;
913         pthread_rwlock_reltimedwrlock_np;
914         pthread_rwlock_timedrdlock;
915         pthread_rwlock_timedwrlock;
916         pthread_setschedprio;
917         pthread_spin_destroy;
918         pthread_spin_init;
919         pthread_spin_lock;
920         pthread_spin_trylock;
921         pthread_spin_unlock;
922         rctlblk_set_recipient_pid;
923         scandir;
924         _scandir;
925         schedctl_exit;
926         schedctl_init;
927         schedctl_lookup;
928         sema_reltimedwait;
929         sema_timedwait;
930         setenv;
931         setpflags;
932         _setpflags;
933         setppriv;
934         _setppriv;
935         strerror_r;
936         strtof;
937         strtoimax;
938         strtold;
939         strtoumax;
940         ucred_free;
941         _ucred_free;
942         ucred_get;
943         _ucred_get;
944         ucred_getegid;
945         _ucred_getegid;
946         ucred_geteuid;
947         _ucred_geteuid;
948         ucred_getgroups;
949         _ucred_getgroups;
950         ucred_getpflags;
951         _ucred_getpflags;
952         ucred_getpid;
953         _ucred_getpid;
954         ucred_getprivset;
955         _ucred_getprivset;
956         ucred_getprojid;
957         _ucred_getprojid;
958         ucred_getrgid;
959         _ucred_getrgid;
960         ucred_getruid;
961         _ucred_getruid;
962         ucred_getsgid;
963         _ucred_getsgid;
964         ucred_getsuid;
965         _ucred_getsuid;
966         ucred_getzoneid;
967         _ucred_getzoneid;
968         ucred_size;
969         _ucred_size;
970         unsetenv;
971         wcstof;
972         wcstoimax;
973         wcstold;
974         wcstoll;
975         wcstoull;
976         wcstoumax;
978 $if lf64
979         alphasort64;
980         _alphasort64;
981         pselect_large_fdset;
982         scandir64;
983         _scandir64;
984 $endif
986 $if _ELF64
987         walkcontext;
988 $endif
990 $if _sparc
991         # Note: atomic_add_[16,32,64]_nv are also defined above. Here, we add
992         # the NODYNSORT attribute to them. On this platform, they are aliases
993         # for the non-_nv versions. If that is changed, these lines should be
994         # removed.
995         atomic_add_16_nv        { FLAGS = NODYNSORT };
996         atomic_add_32_nv        { FLAGS = NODYNSORT };
997         atomic_add_64_nv        { FLAGS = NODYNSORT };
998 $endif
1000 $if i386
1001         # Note: atomic_add_64_nv is also defined above. Here, we add the
1002         # NODYNSORT attribute to it. On this platform, it is an aliases for
1003         # atomic_add_64. If that is changed, this line should be removed.
1004         atomic_add_64_nv        { FLAGS = NODYNSORT };
1005 $endif
1007 $if amd64
1008         # Exception unwind APIs required by the amd64 ABI
1009         _SUNW_Unwind_DeleteException;
1010         _SUNW_Unwind_ForcedUnwind;
1011         _SUNW_Unwind_GetCFA;
1012         _SUNW_Unwind_GetGR;
1013         _SUNW_Unwind_GetIP;
1014         _SUNW_Unwind_GetLanguageSpecificData;
1015         _SUNW_Unwind_GetRegionStart;
1016         _SUNW_Unwind_RaiseException;
1017         _SUNW_Unwind_Resume;
1018         _SUNW_Unwind_SetGR;
1019         _SUNW_Unwind_SetIP;
1020         _UA_CLEANUP_PHASE;
1021         _UA_FORCE_UNWIND;
1022         _UA_HANDLER_FRAME;
1023         _UA_SEARCH_PHASE;
1024         _Unwind_DeleteException;
1025         _Unwind_ForcedUnwind;
1026         _Unwind_GetCFA;
1027         _Unwind_GetGR;
1028         _Unwind_GetIP;
1029         _Unwind_GetLanguageSpecificData;
1030         _Unwind_GetRegionStart;
1031         _Unwind_RaiseException;
1032         _Unwind_Resume;
1033         _Unwind_SetGR;
1034         _Unwind_SetIP;
1035 $endif
1036 } SUNW_1.21.3;
1038 SYMBOL_VERSION SUNW_1.21.3 {    # SunOS 5.9 (Solaris 9) patch additions
1039     protected:
1040         forkall;
1041 } SUNW_1.21.2;
1043 SYMBOL_VERSION SUNW_1.21.2 {    # SunOS 5.9 (Solaris 9) patch additions
1044     protected:
1045         getustack;
1046         _getustack;
1047         setustack;
1048         _setustack;
1049         stack_getbounds;
1050         _stack_getbounds;
1051         _stack_grow;
1052         stack_inbounds;
1053         _stack_inbounds;
1054         stack_setbounds;
1055         _stack_setbounds;
1056         stack_violation;
1057         _stack_violation;
1059 $if _sparc
1060         __makecontext_v2;
1061         ___makecontext_v2;
1062 $endif
1063 } SUNW_1.21.1;
1065 SYMBOL_VERSION SUNW_1.21.1 {    # SunOS 5.9 (Solaris 9) patch additions
1066     protected:
1067         crypt_gensalt;
1068 } SUNW_1.21;
1070 SYMBOL_VERSION SUNW_1.21 {      # SunOS 5.9 (Solaris 9)
1071     protected:
1072         attropen;
1073         _attropen;
1074         bind_textdomain_codeset;
1075         closefrom;
1076         _closefrom;
1077         cond_reltimedwait;
1078         dcngettext;
1079         dngettext;
1080         fchownat;
1081         _fchownat;
1082         fdopendir;
1083         _fdopendir;
1084         fdwalk;
1085         _fdwalk;
1086         fstatat;
1087         _fstatat;
1088         futimesat;
1089         _futimesat;
1090         getcpuid;
1091         _getcpuid;
1092         gethomelgroup;
1093         _gethomelgroup          { FLAGS = NODYNSORT };
1094         getpagesizes;
1095         getrctl;
1096         _getrctl;
1097         issetugid;
1098         _issetugid;
1099         _lwp_cond_reltimedwait;
1100         meminfo;
1101         _meminfo;
1102         ngettext;
1103         openat;
1104         _openat;
1105         printstack;
1106         priocntl;
1107         priocntlset;
1108         pset_getattr;
1109         pset_getloadavg;
1110         pset_list;
1111         pset_setattr;
1112         pthread_cond_reltimedwait_np;
1113         rctlblk_get_enforced_value;
1114         rctlblk_get_firing_time;
1115         rctlblk_get_global_action;
1116         rctlblk_get_global_flags;
1117         rctlblk_get_local_action;
1118         rctlblk_get_local_flags;
1119         rctlblk_get_privilege;
1120         rctlblk_get_recipient_pid;
1121         rctlblk_get_value;
1122         rctlblk_set_local_action;
1123         rctlblk_set_local_flags;
1124         rctlblk_set_privilege;
1125         rctlblk_set_value;
1126         rctlblk_size;
1127         rctl_walk;
1128         renameat;
1129         setrctl;
1130         _setrctl;
1131         unlinkat;
1132         _unlinkat;
1133         vfscanf;
1134         _vfscanf;
1135         vfwscanf;
1136         vscanf;
1137         _vscanf;
1138         vsscanf;
1139         _vsscanf;
1140         vswscanf;
1141         vwscanf;
1143 $if _ELF32
1144         walkcontext;
1145 $endif
1147 $if lf64
1148         attropen64;
1149         _attropen64;
1150         fstatat64;
1151         _fstatat64;
1152         openat64;
1153         _openat64;
1154 $endif
1155 } SUNW_1.20.4;
1157 SYMBOL_VERSION SUNW_1.20.4 {    # SunOS 5.8 (Solaris 8) patch additions
1158     protected:
1159         semtimedop;
1160         _semtimedop;
1161 } SUNW_1.20.1;
1163 SYMBOL_VERSION SUNW_1.20.1 {    # SunOS 5.8 (Solaris 8) patch additions
1164     protected:
1165         getacct;
1166         _getacct;
1167         getprojid;
1168         _getprojid;
1169         gettaskid;
1170         _gettaskid;
1171         msgids;
1172         _msgids;
1173         msgsnap;
1174         _msgsnap;
1175         putacct;
1176         _putacct;
1177         semids;
1178         _semids;
1179         settaskid;
1180         _settaskid;
1181         shmids;
1182         _shmids;
1183         wracct;
1184         _wracct;
1185 } SUNW_1.20;
1187 SYMBOL_VERSION SUNW_1.20 {      # SunOS 5.8 (Solaris 8)
1188     protected:
1189         getextmntent;
1190         resetmnttab;
1191 } SUNW_1.19;
1193 SYMBOL_VERSION SUNW_1.19 {
1194     protected:
1195         strlcat;
1196         strlcpy;
1197         umount2;
1198         _umount2;
1199 } SUNW_1.18.1;
1201 SYMBOL_VERSION SUNW_1.18.1 {
1202     protected:
1203         __fsetlocking;
1204 } SUNW_1.18;
1206 SYMBOL_VERSION SUNW_1.18 {      # SunOS 5.7 (Solaris 7)
1207     protected:
1208         btowc;
1209         __fbufsize;
1210         __flbf;
1211         _flushlbf;
1212         __fpending;
1213         __fpurge;
1214         __freadable;
1215         __freading;
1216         fwide;
1217         fwprintf;
1218         __fwritable;
1219         __fwriting;
1220         fwscanf;
1221         getloadavg;
1222         isaexec;
1223         mbrlen;
1224         mbrtowc;
1225         mbsinit;
1226         mbsrtowcs;
1227         pcsample;
1228         pthread_attr_getguardsize;
1229         pthread_attr_setguardsize;
1230         pthread_getconcurrency;
1231         pthread_mutexattr_gettype;
1232         pthread_mutexattr_settype;
1233         pthread_rwlockattr_destroy;
1234         pthread_rwlockattr_getpshared;
1235         pthread_rwlockattr_init;
1236         pthread_rwlockattr_setpshared;
1237         pthread_rwlock_destroy;
1238         pthread_rwlock_init;
1239         pthread_rwlock_rdlock;
1240         pthread_rwlock_tryrdlock;
1241         pthread_rwlock_trywrlock;
1242         pthread_rwlock_unlock;
1243         pthread_rwlock_wrlock;
1244         pthread_setconcurrency;
1245         swprintf;
1246         swscanf;
1247         __sysconf_xpg5;
1248         vfwprintf;
1249         vswprintf;
1250         vwprintf;
1251         wcrtomb;
1252         wcsrtombs;
1253         wcsstr;
1254         wctob;
1255         wmemchr;
1256         wmemcmp;
1257         wmemcpy;
1258         wmemmove;
1259         wmemset;
1260         wprintf;
1261         wscanf;
1263 $if _ELF32
1264         select_large_fdset;
1265 $endif
1266 } SUNW_1.17;
1268 # The empty versions SUNW_1.2 through SUNW_1.17 must be preserved because
1269 # applications built on Solaris 2.6 Beta (when they did contain symbols)
1270 # may depend on them.  All symbol content for SunOS 5.6 is now in SUNW_1.1
1272 SYMBOL_VERSION SUNW_1.17 {
1273     protected:
1274         SUNW_1.17;
1275 } SUNW_1.16;
1277 SYMBOL_VERSION SUNW_1.16 {
1278     protected:
1279         SUNW_1.16;
1280 } SUNW_1.15;
1282 SYMBOL_VERSION SUNW_1.15 {
1283     protected:
1284         SUNW_1.15;
1285 } SUNW_1.14;
1287 SYMBOL_VERSION SUNW_1.14 {
1288     protected:
1289         SUNW_1.14;
1290 } SUNW_1.13;
1292 SYMBOL_VERSION SUNW_1.13 {
1293     protected:
1294         SUNW_1.13;
1295 } SUNW_1.12;
1297 SYMBOL_VERSION SUNW_1.12 {
1298     protected:
1299         SUNW_1.12;
1300 } SUNW_1.11;
1302 SYMBOL_VERSION SUNW_1.11 {
1303     protected:
1304         SUNW_1.11;
1305 } SUNW_1.10;
1307 SYMBOL_VERSION SUNW_1.10 {
1308     protected:
1309         SUNW_1.10;
1310 } SUNW_1.9;
1312 SYMBOL_VERSION SUNW_1.9 {
1313     protected:
1314         SUNW_1.9;
1315 } SUNW_1.8;
1317 SYMBOL_VERSION SUNW_1.8 {
1318     protected:
1319         SUNW_1.8;
1320 } SUNW_1.7;
1322 SYMBOL_VERSION SUNW_1.7 {
1323     protected:
1324         SUNW_1.7;
1325 } SUNW_1.6;
1327 SYMBOL_VERSION SUNW_1.6 {
1328     protected:
1329         SUNW_1.6;
1330 } SUNW_1.5;
1332 SYMBOL_VERSION SUNW_1.5 {
1333     protected:
1334         SUNW_1.5;
1335 } SUNW_1.4;
1337 SYMBOL_VERSION SUNW_1.4 {
1338     protected:
1339         SUNW_1.4;
1340 } SUNW_1.3;
1342 SYMBOL_VERSION SUNW_1.3 {
1343     protected:
1344         SUNW_1.3;
1345 } SUNW_1.2;
1347 SYMBOL_VERSION SUNW_1.2 {
1348     protected:
1349         SUNW_1.2;
1350 } SUNW_1.1;
1352 SYMBOL_VERSION SUNW_1.1 {       # SunOS 5.6 (Solaris 2.6)
1353     global:
1354         __loc1;
1355     protected:
1356         basename;
1357         bindtextdomain;
1358         bsd_signal;
1359         dbm_clearerr;
1360         dbm_error;
1361         dcgettext;
1362         dgettext;
1363         directio;
1364         dirname;
1365         endusershell;
1366         _exithandle;
1367         fgetwc;
1368         fgetws;
1369         fpgetround;
1370         fpsetround;
1371         fputwc;
1372         fputws;
1373         fseeko;
1374         ftello;
1375         ftrylockfile;
1376         getexecname;
1377         _getexecname;
1378         getpassphrase;
1379         gettext;
1380         getusershell;
1381         getwc;
1382         getwchar;
1383         getws;
1384         isenglish;
1385         isideogram;
1386         isnumber;
1387         isphonogram;
1388         isspecial;
1389         iswalnum;
1390         iswalpha;
1391         iswcntrl;
1392         iswctype;
1393         iswdigit;
1394         iswgraph;
1395         iswlower;
1396         iswprint;
1397         iswpunct;
1398         iswspace;
1399         iswupper;
1400         iswxdigit;
1401         ____loc1;
1402         _longjmp;
1403         _lwp_sema_trywait;
1404         ntp_adjtime;
1405         _ntp_adjtime;
1406         ntp_gettime;
1407         _ntp_gettime;
1408         __posix_asctime_r;
1409         __posix_ctime_r;
1410         __posix_getgrgid_r;
1411         __posix_getgrnam_r;
1412         __posix_getlogin_r;
1413         __posix_getpwnam_r;
1414         __posix_getpwuid_r;
1415         __posix_sigwait;
1416         __posix_ttyname_r;
1417         pset_assign;
1418         pset_bind;
1419         pset_create;
1420         pset_destroy;
1421         pset_info;
1422         pthread_atfork;
1423         pthread_attr_destroy;
1424         pthread_attr_getdetachstate;
1425         pthread_attr_getinheritsched;
1426         pthread_attr_getschedparam;
1427         pthread_attr_getschedpolicy;
1428         pthread_attr_getscope;
1429         pthread_attr_getstackaddr;
1430         pthread_attr_getstacksize;
1431         pthread_attr_init;
1432         pthread_attr_setdetachstate;
1433         pthread_attr_setinheritsched;
1434         pthread_attr_setschedparam;
1435         pthread_attr_setschedpolicy;
1436         pthread_attr_setscope;
1437         pthread_attr_setstackaddr;
1438         pthread_attr_setstacksize;
1439         pthread_cancel;
1440         __pthread_cleanup_pop;
1441         __pthread_cleanup_push;
1442         pthread_create;
1443         pthread_detach;
1444         pthread_equal;
1445         pthread_exit;
1446         pthread_getschedparam;
1447         pthread_getspecific;
1448         pthread_join;
1449         pthread_key_create;
1450         pthread_key_delete;
1451         pthread_kill;
1452         pthread_once;
1453         pthread_self;
1454         pthread_setcancelstate;
1455         pthread_setcanceltype;
1456         pthread_setschedparam;
1457         pthread_setspecific;
1458         pthread_sigmask;
1459         pthread_testcancel;
1460         putwc;
1461         putwchar;
1462         putws;
1463         regcmp;
1464         regex;
1465         resolvepath;
1466         _resolvepath;
1467         rwlock_destroy          { FLAGS = NODYNSORT };
1468         _rwlock_destroy         { FLAGS = NODYNSORT };
1469         sema_destroy;
1470         _sema_destroy;
1471         _setjmp;
1472         setusershell;
1473         siginterrupt;
1474         sigstack;
1475         snprintf;
1476         strtows;
1477         sync_instruction_memory;
1478         textdomain;
1479         thr_main;
1480         towctrans;
1481         towlower;
1482         towupper;
1483         ungetwc;
1484         vsnprintf;
1485         watoll;
1486         wcscat;
1487         wcschr;
1488         wcscmp;
1489         wcscoll;
1490         wcscpy;
1491         wcscspn;
1492         wcsftime;
1493         wcslen;
1494         wcsncat;
1495         wcsncmp;
1496         wcsncpy;
1497         wcspbrk;
1498         wcsrchr;
1499         wcsspn;
1500         wcstod;
1501         wcstok;
1502         wcstol;
1503         wcstoul;
1504         wcswcs;
1505         wcswidth;
1506         wcsxfrm;
1507         wctrans;
1508         wctype;
1509         wcwidth;
1510         wscasecmp;
1511         wscat;
1512         wschr;
1513         wscmp;
1514         wscol;
1515         wscoll;
1516         wscpy;
1517         wscspn;
1518         wsdup;
1519         wslen;
1520         wsncasecmp;
1521         wsncat;
1522         wsncmp;
1523         wsncpy;
1524         wspbrk;
1525         wsprintf;
1526         wsrchr;
1527         wsscanf;
1528         wsspn;
1529         wstod;
1530         wstok;
1531         wstol;
1532         wstoll;
1533         wstostr;
1534         wsxfrm;
1535         __xpg4_putmsg;
1536         __xpg4_putpmsg;
1538 $if lf64
1539         creat64;
1540         _creat64;
1541         fgetpos64;
1542         fopen64;
1543         freopen64;
1544         fseeko64;
1545         fsetpos64;
1546         fstat64;
1547         _fstat64;
1548         fstatvfs64;
1549         _fstatvfs64;
1550         ftello64;
1551         ftruncate64;
1552         _ftruncate64;
1553         ftw64;
1554         _ftw64;
1555         getdents64;
1556         _getdents64;
1557         getrlimit64;
1558         _getrlimit64;
1559         lockf64;
1560         _lockf64;
1561         lseek64;
1562         _lseek64;
1563         lstat64;
1564         _lstat64;
1565         mkstemp64;
1566         _mkstemp64;
1567         mmap64;
1568         _mmap64;
1569         nftw64;
1570         _nftw64;
1571         open64;
1572         _open64;
1573         __posix_readdir_r;
1574         pread64;
1575         _pread64;
1576         pwrite64;
1577         _pwrite64;
1578         readdir64;
1579         _readdir64;
1580         readdir64_r;
1581         _readdir64_r;
1582         setrlimit64;
1583         _setrlimit64;
1584         s_fcntl;
1585         _s_fcntl                { FLAGS = NODYNSORT };
1586         s_ioctl;
1587         stat64;
1588         _stat64;
1589         statvfs64;
1590         _statvfs64;
1591         tell64;
1592         _tell64;
1593         tmpfile64;
1594         truncate64;
1595         _truncate64;
1596         _xftw64;
1597 $endif
1599 $if _sparc
1600         __flt_rounds;
1601 $endif
1602 } SUNW_0.9;
1604 SYMBOL_VERSION SUNW_0.9 {       # SunOS 5.5 (Solaris 2.5)
1605     protected:
1606         acl;
1607         bcmp;
1608         bcopy;
1609         bzero;
1610         facl;
1611         ftime;
1612         getdtablesize;
1613         gethostid;
1614         gethostname;
1615         getpagesize;
1616         getpriority;
1617         getrusage;
1618         getwd;
1619         index;
1620         initstate;
1621         killpg;
1622         _nsc_trydoorcall;
1623         pthread_condattr_destroy;
1624         pthread_condattr_getpshared;
1625         pthread_condattr_init;
1626         pthread_condattr_setpshared;
1627         pthread_cond_broadcast;
1628         pthread_cond_destroy;
1629         pthread_cond_init;
1630         pthread_cond_signal;
1631         pthread_cond_timedwait;
1632         pthread_cond_wait;
1633         pthread_mutexattr_destroy;
1634         pthread_mutexattr_getprioceiling;
1635         pthread_mutexattr_getprotocol;
1636         pthread_mutexattr_getpshared;
1637         pthread_mutexattr_init;
1638         pthread_mutexattr_setprioceiling;
1639         pthread_mutexattr_setprotocol;
1640         pthread_mutexattr_setpshared;
1641         pthread_mutex_destroy;
1642         pthread_mutex_getprioceiling;
1643         pthread_mutex_init;
1644         pthread_mutex_lock;
1645         pthread_mutex_setprioceiling;
1646         pthread_mutex_trylock;
1647         pthread_mutex_unlock;
1648         random;
1649         reboot;
1650         re_comp;
1651         re_exec;
1652         rindex;
1653         setbuffer;
1654         sethostname;
1655         setlinebuf;
1656         setpriority;
1657         setregid;
1658         setreuid;
1659         setstate;
1660         srandom;
1661         thr_min_stack;
1662         thr_stksegment;
1663         ualarm;
1664         usleep;
1665         wait3;
1666         wait4;
1667 } SUNW_0.8;
1669 SYMBOL_VERSION SUNW_0.8 {       # SunOS 5.4 (Solaris 2.4)
1670     global:
1671         __xpg4                  { FLAGS = NODIRECT };
1672     protected:
1673         addsev;
1674         cond_broadcast          { FLAGS = NODYNSORT };
1675         cond_destroy            { FLAGS = NODYNSORT };
1676         cond_init;
1677         cond_signal             { FLAGS = NODYNSORT };
1678         cond_timedwait;
1679         cond_wait;
1680         confstr;
1681         fnmatch;
1682         _getdate_err_addr;
1683         glob;
1684         globfree;
1685         iconv;
1686         iconv_close;
1687         iconv_open;
1688         lfmt;
1689         mutex_destroy           { FLAGS = NODYNSORT };
1690         mutex_init;
1691         mutex_lock              { FLAGS = NODYNSORT };
1692         mutex_trylock           { FLAGS = NODYNSORT };
1693         mutex_unlock            { FLAGS = NODYNSORT };
1694         pfmt;
1695         regcomp;
1696         regerror;
1697         regexec;
1698         regfree;
1699         rwlock_init;
1700         rw_rdlock               { FLAGS = NODYNSORT };
1701         rw_read_held;
1702         rw_tryrdlock            { FLAGS = NODYNSORT };
1703         rw_trywrlock            { FLAGS = NODYNSORT };
1704         rw_unlock               { FLAGS = NODYNSORT };
1705         rw_write_held;
1706         rw_wrlock               { FLAGS = NODYNSORT };
1707         sema_held;
1708         sema_init;
1709         sema_post;
1710         sema_trywait;
1711         sema_wait;
1712         setcat;
1713         sigfpe;
1714         strfmon;
1715         strptime;
1716         thr_continue;
1717         thr_create;
1718         thr_exit;
1719         thr_getconcurrency;
1720         thr_getprio;
1721         thr_getspecific;
1722         thr_join;
1723         thr_keycreate;
1724         thr_kill;
1725         thr_self                { FLAGS = NODYNSORT };
1726         thr_setconcurrency;
1727         thr_setprio;
1728         thr_setspecific;
1729         thr_sigsetmask;
1730         thr_suspend;
1731         thr_yield;
1732         vlfmt;
1733         vpfmt;
1734         wordexp;
1735         wordfree;
1736 } SUNW_0.7;
1738 SYMBOL_VERSION SUNW_0.7 {       # SunOS 5.3 (Solaris 2.3)
1739     global:
1740         altzone;
1741         _ctype;
1742         isnanf                  { TYPE = FUNCTION; FILTER = libm.so.2 };
1743         lone;
1744         lten;
1745         lzero;
1746         memalign                { FLAGS = NODIRECT };
1747         modff                   { TYPE = FUNCTION; FILTER = libm.so.2 };
1748         nss_default_finders;
1749         _sibuf;
1750         _sobuf;
1751         _sys_buslist;
1752         _sys_cldlist;
1753         _sys_fpelist;
1754         _sys_illlist;
1755         _sys_segvlist;
1756         _sys_siginfolistp;
1757         _sys_siglist;
1758         _sys_siglistn;
1759         _sys_siglistp;
1760         _sys_traplist;
1761         valloc                  { FLAGS = NODIRECT };
1763 $if _ELF32
1764         _bufendtab;
1765         _lastbuf;
1766         sys_errlist;
1767         sys_nerr;
1768         _sys_nsig;
1769 $endif
1771     protected:
1772         a64l;
1773         adjtime;
1774         ascftime;
1775         _assert;
1776         atoll;
1777         brk;
1778         __builtin_alloca;
1779         cftime;
1780         closelog;
1781         csetcol;
1782         csetlen;
1783         ctermid_r;
1784         dbm_close;
1785         dbm_delete;
1786         dbm_fetch;
1787         dbm_firstkey;
1788         dbm_nextkey;
1789         dbm_open;
1790         dbm_store;
1791         decimal_to_double;
1792         decimal_to_extended;
1793         decimal_to_quadruple;
1794         decimal_to_single;
1795         double_to_decimal;
1796         drand48;
1797         econvert;
1798         ecvt;
1799         endnetgrent;
1800         endspent;
1801         endutent;
1802         endutxent;
1803         erand48;
1804         euccol;
1805         euclen;
1806         eucscol;
1807         extended_to_decimal;
1808         fchroot;
1809         fconvert;
1810         fcvt;
1811         ffs;
1812         fgetspent;
1813         fgetspent_r;
1814         _filbuf;
1815         file_to_decimal;
1816         finite;
1817         _flsbuf;
1818         fork1                   { FLAGS = NODYNSORT };
1819         fpclass;
1820         fpgetmask;
1821         fpgetsticky;
1822         fpsetmask;
1823         fpsetsticky;
1824         fstatfs;
1825         ftruncate;
1826         ftw;
1827         func_to_decimal;
1828         gconvert;
1829         gcvt;
1830         getdents;
1831         gethrtime;
1832         gethrvtime;
1833         getmntany;
1834         getmntent;
1835         getnetgrent;
1836         getnetgrent_r;
1837         getpw;
1838         getspent;
1839         getspent_r;
1840         getspnam;
1841         getspnam_r;
1842         getutent;
1843         getutid;
1844         getutline;
1845         getutmp;
1846         getutmpx;
1847         getutxent;
1848         getutxid;
1849         getutxline;
1850         getvfsany;
1851         getvfsent;
1852         getvfsfile;
1853         getvfsspec;
1854         getwidth;
1855         gsignal;
1856         hasmntopt;
1857         innetgr;
1858         insque;
1859         _insque;
1860         jrand48;
1861         l64a;
1862         ladd;
1863         lckpwdf;
1864         lcong48;
1865         ldivide;
1866         lexp10;
1867         llabs;
1868         lldiv;
1869         llog10;
1870         llseek;
1871         lltostr;
1872         lmul;
1873         lrand48;
1874         lshiftl;
1875         lsub;
1876         _lwp_cond_broadcast;
1877         _lwp_cond_signal;
1878         _lwp_cond_timedwait;
1879         _lwp_cond_wait;
1880         _lwp_continue;
1881         _lwp_info;
1882         _lwp_kill;
1883         _lwp_mutex_lock;
1884         _lwp_mutex_trylock;
1885         _lwp_mutex_unlock;
1886         _lwp_self;
1887         _lwp_sema_init;
1888         _lwp_sema_post;
1889         _lwp_sema_wait;
1890         _lwp_suspend;
1891         madvise;
1892         __major;
1893         __makedev;
1894         mincore;
1895         __minor;
1896         mkstemp;
1897         _mkstemp;
1898         mlockall;
1899         mrand48;
1900         munlockall;
1901         _mutex_held             { FLAGS = NODYNSORT };
1902         _mutex_lock             { FLAGS = NODYNSORT };
1903         nrand48;
1904         _nss_netdb_aliases;
1905         _nss_XbyY_buf_alloc;
1906         _nss_XbyY_buf_free;
1907         __nsw_extended_action;
1908         __nsw_freeconfig;
1909         __nsw_getconfig;
1910         openlog;
1911         plock;
1912         p_online;
1913         pread;
1914         __priocntl;
1915         __priocntlset;
1916         processor_bind;
1917         processor_info;
1918         psiginfo;
1919         psignal;
1920         putpwent;
1921         putspent;
1922         pututline;
1923         pututxline;
1924         pwrite;
1925         qeconvert;
1926         qecvt;
1927         qfconvert;
1928         qfcvt;
1929         qgconvert;
1930         qgcvt;
1931         quadruple_to_decimal;
1932         realpath;
1933         remque;
1934         _remque;
1935         _rw_read_held;
1936         _rw_write_held;
1937         seconvert;
1938         seed48;
1939         select;
1940         _sema_held;
1941         setegid;
1942         seteuid;
1943         setlogmask;
1944         setnetgrent;
1945         setspent;
1946         settimeofday;
1947         setutent;
1948         setutxent;
1949         sfconvert;
1950         sgconvert;
1951         sig2str;
1952         sigwait;
1953         single_to_decimal;
1954         srand48;
1955         ssignal;
1956         statfs;
1957         str2sig;
1958         strcasecmp;
1959         string_to_decimal;
1960         strncasecmp;
1961         strsignal;
1962         strtoll;
1963         strtoull;
1964         swapctl;
1965         _syscall;
1966         sysfs;
1967         syslog;
1968         _syslog;
1969         tmpnam_r;
1970         truncate;
1971         ttyslot;
1972         uadmin;
1973         ulckpwdf;
1974         ulltostr;
1975         unordered;
1976         updwtmp;
1977         updwtmpx;
1978         ustat;
1979         utimes;
1980         utmpname;
1981         utmpxname;
1982         vfork;
1983         vhangup;
1984         vsyslog;
1985         yield;
1987 $if i386
1988         # Note: _syscall is also defined above. Here, we add the NODYNSORT
1989         # attribute to it. On this platform, it is an alias to syscall.
1990         # If that is changed, this lines should be removed.
1991         _syscall                { FLAGS = NODYNSORT };
1992 $endif
1994 # The 32-bit sparc ABI requires SISCD_2.3. On other platforms, those symbols
1995 # go directly into SUNW_0.7.
1996 $if sparc32
1997 } SISCD_2.3;
1999 SYMBOL_VERSION SISCD_2.3 {
2000 $endif
2002     global:
2003         errno                   { FLAGS = NODIRECT };
2004         _iob;
2006     protected:
2007         addseverity;
2008         _addseverity;
2009         asctime_r;
2010         crypt;
2011         _crypt;
2012         ctime_r;
2013         encrypt;
2014         _encrypt;
2015         endgrent;
2016         endpwent;
2017         ___errno;
2018         fgetgrent;
2019         fgetgrent_r;
2020         fgetpwent;
2021         flockfile;
2022         funlockfile;
2023         getchar_unlocked;
2024         getc_unlocked;
2025         getgrent;
2026         getgrent_r;
2027         getgrgid_r;
2028         getgrnam_r;
2029         getitimer;
2030         _getitimer;
2031         getlogin_r;
2032         getpwent;
2033         getpwnam_r;
2034         getpwuid_r;
2035         gettimeofday;
2036         _gettimeofday;
2037         gmtime_r;
2038         localtime_r;
2039         putchar_unlocked;
2040         putc_unlocked;
2041         rand_r;
2042         readdir_r;
2043         setgrent;
2044         setitimer;
2045         _setitimer;
2046         setkey;
2047         _setkey;
2048         setpwent;
2049         strtok_r;
2050         sysinfo;
2051         _sysinfo;
2052         ttyname_r;
2054 $if _ELF32
2055         __div64;
2056         __mul64;
2057         __rem64;
2058         __udiv64;
2059         __urem64;
2060 $endif
2062 $if sparc32
2063         __dtoll;
2064         __dtoull;
2065         __ftoll;
2066         __ftoull;
2067         _Q_lltoq;
2068         _Q_qtoll;
2069         _Q_qtoull;
2070         _Q_ulltoq;
2071         sbrk;
2072         _sbrk;
2073         __umul64                { FLAGS = NODYNSORT };  # Same address as __mul64
2074 $endif
2076 # On 32-bit platforms, the following symbols go into SYSVABI_1.3, but on
2077 # other platforms they go directly into the current version (which will be
2078 # either SUNW_0.7, or SISCD_2.3, depending on the similar issue described above.
2079 $if _ELF32
2080 } SYSVABI_1.3;
2082 SYMBOL_VERSION SYSVABI_1.3 {
2083 $endif
2085     global:
2086         _altzone;
2087         calloc                  { FLAGS = NODIRECT };
2088         __ctype;
2089         daylight;
2090         _daylight;
2091         environ                 { FLAGS = NODIRECT };
2092         _environ                { FLAGS = NODIRECT };
2093         free                    { FLAGS = NODIRECT };
2094         frexp                   { TYPE = FUNCTION; FILTER = libm.so.2 };
2095         getdate_err;
2096         _getdate_err;
2097         getenv;
2098         __huge_val;
2099         __iob;
2100         isnan                   { TYPE = FUNCTION; FILTER = libm.so.2 };
2101         _isnan                  { TYPE = FUNCTION; FILTER = libm.so.2 };
2102         isnand                  { TYPE = FUNCTION; FILTER = libm.so.2 };
2103         _isnand                 { TYPE = FUNCTION; FILTER = libm.so.2 };
2104         ldexp                   { TYPE = FUNCTION; FILTER = libm.so.2 };
2105         logb                    { TYPE = FUNCTION; FILTER = libm.so.2 };
2106         malloc                  { FLAGS = NODIRECT };
2107         memcmp;
2108         memcpy;
2109         memmove;
2110         memset;
2111         modf                    { TYPE = FUNCTION; FILTER = libm.so.2 };
2112         _modf                   { TYPE = FUNCTION; FILTER = libm.so.2 };
2113         nextafter               { TYPE = FUNCTION; FILTER = libm.so.2 };
2114         _nextafter              { TYPE = FUNCTION; FILTER = libm.so.2 };
2115         _numeric;
2116         optarg;
2117         opterr;
2118         optind;
2119         optopt;
2120         realloc                 { FLAGS = NODIRECT };
2121         scalb                   { TYPE = FUNCTION; FILTER = libm.so.2 };
2122         _scalb                  { TYPE = FUNCTION; FILTER = libm.so.2 };
2123         timezone;
2124         _timezone;
2125         tzname;
2126         _tzname;
2127 $if i386
2128         _fp_hw;
2129 $endif
2131     protected:
2132         abort;
2133         abs;
2134         access;
2135         _access;
2136         acct;
2137         _acct;
2138         alarm;
2139         _alarm;
2140         asctime;
2141         __assert;
2142         atexit;
2143         atof;
2144         atoi;
2145         atol;
2146         bsearch;
2147         catclose;
2148         _catclose;
2149         catgets;
2150         _catgets;
2151         catopen;
2152         _catopen;
2153         cfgetispeed;
2154         _cfgetispeed;
2155         cfgetospeed;
2156         _cfgetospeed;
2157         cfsetispeed;
2158         _cfsetispeed;
2159         cfsetospeed;
2160         _cfsetospeed;
2161         chdir;
2162         _chdir;
2163         chmod;
2164         _chmod;
2165         chown;
2166         _chown;
2167         chroot;
2168         _chroot;
2169         _cleanup;
2170         clearerr;
2171         clock;
2172         _close;
2173         close;
2174         closedir;
2175         _closedir;
2176         creat;
2177         _creat;
2178         ctermid;
2179         ctime;
2180         cuserid;
2181         _cuserid;
2182         difftime;
2183         div;
2184         dup;
2185         _dup;
2186         dup2;
2187         _dup2;
2188         execl;
2189         _execl;
2190         execle;
2191         _execle;
2192         execlp;
2193         _execlp;
2194         execv;
2195         _execv;
2196         execve;
2197         _execve;
2198         execvp;
2199         _execvp;
2200         exit;
2201         _exit;
2202         fattach;
2203         _fattach;
2204         fchdir;
2205         _fchdir;
2206         fchmod;
2207         _fchmod;
2208         fchown;
2209         _fchown;
2210         fclose;
2211         fcntl;
2212         _fcntl;
2213         fdetach;
2214         _fdetach;
2215         fdopen;
2216         _fdopen;
2217         feof;
2218         ferror;
2219         fflush;
2220         fgetc;
2221         fgetpos;
2222         fgets;
2223         __filbuf;
2224         fileno;
2225         _fileno;
2226         __flsbuf;
2227         fmtmsg;
2228         _fmtmsg;
2229         fopen;
2230         _fork;
2231         fork;
2232         fpathconf;
2233         _fpathconf;
2234         fprintf;
2235         fputc;
2236         fputs;
2237         fread;
2238         freopen;
2239         fscanf;
2240         fseek;
2241         fsetpos;
2242         fstat;
2243         _fstat;
2244         fstatvfs;
2245         _fstatvfs;
2246         fsync;
2247         _fsync;
2248         ftell;
2249         ftok;
2250         _ftok;
2251         fwrite;
2252         getc;
2253         getchar;
2254         getcontext;
2255         _getcontext;
2256         getcwd;
2257         _getcwd;
2258         getdate;
2259         _getdate;
2260         getegid;
2261         _getegid;
2262         geteuid;
2263         _geteuid;
2264         getgid;
2265         _getgid;
2266         getgrgid;
2267         getgrnam;
2268         getgroups;
2269         _getgroups;
2270         getlogin;
2271         getmsg;
2272         _getmsg;
2273         getopt;
2274         _getopt;
2275         getpass;
2276         _getpass;
2277         getpgid;
2278         _getpgid;
2279         getpgrp;
2280         _getpgrp;
2281         getpid;
2282         _getpid;
2283         getpmsg;
2284         _getpmsg;
2285         getppid;
2286         _getppid;
2287         getpwnam;
2288         getpwuid;
2289         getrlimit;
2290         _getrlimit;
2291         gets;
2292         getsid;
2293         _getsid;
2294         getsubopt;
2295         _getsubopt;
2296         gettxt;
2297         _gettxt;
2298         getuid;
2299         _getuid;
2300         getw;
2301         _getw;
2302         gmtime;
2303         grantpt;
2304         _grantpt;
2305         hcreate;
2306         _hcreate;
2307         hdestroy;
2308         _hdestroy;
2309         hsearch;
2310         _hsearch;
2311         initgroups;
2312         _initgroups;
2313         ioctl;
2314         _ioctl;
2315         isalnum;
2316         isalpha;
2317         isascii;
2318         _isascii;
2319         isastream;
2320         _isastream;
2321         isatty;
2322         _isatty;
2323         iscntrl;
2324         isdigit;
2325         isgraph;
2326         islower;
2327         isprint;
2328         ispunct;
2329         isspace;
2330         isupper;
2331         isxdigit;
2332         kill;
2333         _kill;
2334         labs;
2335         lchown;
2336         _lchown;
2337         ldiv;
2338         lfind;
2339         _lfind;
2340         link;
2341         _link;
2342         localeconv;
2343         localtime;
2344         lockf;
2345         _lockf;
2346         longjmp;
2347         lsearch;
2348         _lsearch;
2349         lseek;
2350         _lseek;
2351         lstat;
2352         _lstat;
2353         makecontext;
2354         _makecontext;
2355         mblen;
2356         mbstowcs;
2357         mbtowc;
2358         memccpy;
2359         _memccpy;
2360         memchr;
2361         memcntl;
2362         _memcntl;
2363         mkdir;
2364         _mkdir;
2365         mkfifo;
2366         _mkfifo;
2367         mknod;
2368         _mknod;
2369         mktemp;
2370         _mktemp;
2371         mktime;
2372         mlock;
2373         _mlock;
2374         mmap;
2375         _mmap;
2376         monitor;
2377         _monitor;
2378         mount;
2379         _mount;
2380         mprotect;
2381         _mprotect;
2382         msgctl;
2383         _msgctl;
2384         msgget;
2385         _msgget;
2386         msgrcv;
2387         _msgrcv;
2388         msgsnd;
2389         _msgsnd;
2390         msync;
2391         _msync;
2392         munlock;
2393         _munlock;
2394         munmap;
2395         _munmap;
2396         nftw;
2397         _nftw;
2398         nice;
2399         _nice;
2400         nl_langinfo;
2401         _nl_langinfo;
2402         open;
2403         _open;
2404         opendir;
2405         _opendir;
2406         pathconf;
2407         _pathconf;
2408         pause;
2409         _pause;
2410         pclose;
2411         _pclose;
2412         perror;
2413         pipe;
2414         _pipe;
2415         poll;
2416         _poll;
2417         popen;
2418         _popen;
2419         printf;
2420         profil;
2421         _profil;
2422         ptsname;
2423         _ptsname;
2424         putc;
2425         putchar;
2426         putenv;
2427         _putenv;
2428         putmsg;
2429         _putmsg;
2430         putpmsg;
2431         _putpmsg;
2432         puts;
2433         putw;
2434         _putw;
2435         qsort;
2436         raise;
2437         rand;
2438         read;
2439         _read;
2440         readdir;
2441         _readdir;
2442         readlink;
2443         _readlink;
2444         readv;
2445         _readv;
2446         remove;
2447         rename;
2448         _rename;
2449         rewind;
2450         rewinddir;
2451         _rewinddir;
2452         rmdir;
2453         _rmdir;
2454         scanf;
2455         seekdir;
2456         _seekdir;
2457         semctl;
2458         _semctl;
2459         semget;
2460         _semget;
2461         semop;
2462         _semop;
2463         setbuf;
2464         setcontext;
2465         _setcontext             { FLAGS = NODYNSORT };
2466         setgid;
2467         _setgid;
2468         setgroups;
2469         _setgroups;
2470         setjmp;
2471         setlabel;
2472         setlocale;
2473         setpgid;
2474         _setpgid;
2475         setpgrp;
2476         _setpgrp;
2477         setrlimit;
2478         _setrlimit;
2479         setsid;
2480         _setsid;
2481         setuid;
2482         _setuid;
2483         setvbuf;
2484         shmat;
2485         _shmat;
2486         shmctl;
2487         _shmctl;
2488         shmdt;
2489         _shmdt;
2490         shmget;
2491         _shmget;
2492         sigaction;
2493         _sigaction              { FLAGS = NODYNSORT };
2494         sigaddset;
2495         _sigaddset;
2496         sigaltstack;
2497         _sigaltstack;
2498         sigdelset;
2499         _sigdelset;
2500         sigemptyset;
2501         _sigemptyset;
2502         sigfillset;
2503         _sigfillset;
2504         sighold;
2505         _sighold;
2506         sigignore;
2507         _sigignore;
2508         sigismember;
2509         _sigismember;
2510         siglongjmp;
2511         _siglongjmp;
2512         signal;
2513         sigpause;
2514         _sigpause;
2515         sigpending;
2516         _sigpending;
2517         sigprocmask;
2518         _sigprocmask;
2519         sigrelse;
2520         _sigrelse;
2521         sigsend;
2522         _sigsend;
2523         sigsendset;
2524         _sigsendset;
2525         sigset;
2526         _sigset;
2527         sigsetjmp;
2528         _sigsetjmp              { FLAGS = NODYNSORT };
2529         sigsuspend;
2530         _sigsuspend;
2531         sleep;
2532         _sleep;
2533         sprintf;
2534         srand;
2535         sscanf;
2536         stat;
2537         _stat;
2538         statvfs;
2539         _statvfs;
2540         stime;
2541         _stime;
2542         strcat;
2543         strchr;
2544         strcmp;
2545         strcoll;
2546         strcpy;
2547         strcspn;
2548         strdup;
2549         _strdup;
2550         strerror;
2551         strftime;
2552         strlen;
2553         strncat;
2554         strncmp;
2555         strncpy;
2556         strpbrk;
2557         strrchr;
2558         strspn;
2559         strstr;
2560         strtod;
2561         strtok;
2562         strtol;
2563         strtoul;
2564         strxfrm;
2565         swab;
2566         _swab;
2567         swapcontext;
2568         _swapcontext;
2569         symlink;
2570         _symlink;
2571         sync;
2572         _sync;
2573         sysconf;
2574         _sysconf;
2575         system;
2576         tcdrain;
2577         _tcdrain;
2578         tcflow;
2579         _tcflow;
2580         tcflush;
2581         _tcflush;
2582         tcgetattr;
2583         _tcgetattr;
2584         tcgetpgrp;
2585         _tcgetpgrp;
2586         tcgetsid;
2587         _tcgetsid;
2588         tcsendbreak;
2589         _tcsendbreak;
2590         tcsetattr;
2591         _tcsetattr;
2592         tcsetpgrp;
2593         _tcsetpgrp;
2594         tdelete;
2595         _tdelete;
2596         tell;
2597         _tell;
2598         telldir;
2599         _telldir;
2600         tempnam;
2601         _tempnam;
2602         tfind;
2603         _tfind;
2604         time;
2605         _time;
2606         times;
2607         _times;
2608         tmpfile;
2609         tmpnam;
2610         toascii;
2611         _toascii;
2612         tolower;
2613         _tolower;
2614         toupper;
2615         _toupper;
2616         tsearch;
2617         _tsearch;
2618         ttyname;
2619         twalk;
2620         _twalk;
2621         tzset;
2622         _tzset;
2623         ulimit;
2624         _ulimit;
2625         umask;
2626         _umask;
2627         umount;
2628         _umount;
2629         uname;
2630         _uname;
2631         ungetc;
2632         unlink;
2633         _unlink;
2634         unlockpt;
2635         _unlockpt;
2636         utime;
2637         _utime;
2638         vfprintf;
2639         vprintf;
2640         vsprintf;
2641         wait;
2642         _wait;
2643         waitid;
2644         _waitid;
2645         waitpid;
2646         _waitpid;
2647         wcstombs;
2648         wctomb;
2649         write;
2650         _write;
2651         writev;
2652         _writev;
2653         _xftw;
2655 $if _ELF32
2656         ptrace;
2657         _ptrace;
2658 $endif
2660 $if i386
2661         _fxstat;
2662         _lxstat;
2663         nuname;
2664         _nuname;
2665         _xmknod;
2666         _xstat;
2667 $endif
2669 $if !sparc32
2670         sbrk;
2671 $endif
2673 $if _sparc
2674         __dtou;
2675         __ftou;
2676 $endif
2678 $if sparc32
2679         .div;
2680         .mul;
2681         .rem;
2682         .stret1;
2683         .stret2;
2684         .stret4;
2685         # .stret4 and .stret8 are the same thing
2686         .stret8                 { FLAGS = NODYNSORT };
2687         .udiv;
2688         .umul;
2689         .urem;
2690         _Q_add;
2691         _Q_cmp;
2692         _Q_cmpe;
2693         _Q_div;
2694         _Q_dtoq;
2695         _Q_feq;
2696         _Q_fge;
2697         _Q_fgt;
2698         _Q_fle;
2699         _Q_flt;
2700         _Q_fne;
2701         _Q_itoq;
2702         _Q_mul;
2703         _Q_neg;
2704         _Q_qtod;
2705         _Q_qtoi;
2706         _Q_qtos;
2707         _Q_qtou;
2708         _Q_sqrt;
2709         _Q_stoq;
2710         _Q_sub;
2711         _Q_utoq;
2712 $endif
2714 $if sparcv9
2715         # __align_cpy_1 is an alias for memcpy. Filter it out of
2716         # the .SUNW_dynsymsort section
2717         __align_cpy_1           { FLAGS = NODYNSORT };
2718         __align_cpy_16;
2719         __align_cpy_2;
2720         __align_cpy_4;
2721         # __align_cpy_8 is same as __align_cpy_16
2722         __align_cpy_8           { FLAGS = NODYNSORT };
2723         __dtoul;
2724         __ftoul;
2725         _Qp_add;
2726         _Qp_cmp;
2727         _Qp_cmpe;
2728         _Qp_div;
2729         _Qp_dtoq;
2730         _Qp_feq;
2731         _Qp_fge;
2732         _Qp_fgt;
2733         _Qp_fle;
2734         _Qp_flt;
2735         _Qp_fne;
2736         _Qp_itoq;
2737         _Qp_mul;
2738         _Qp_neg;
2739         _Qp_qtod;
2740         _Qp_qtoi;
2741         _Qp_qtos;
2742         _Qp_qtoui;
2743         _Qp_qtoux;
2744         _Qp_qtox;
2745         _Qp_sqrt;
2746         _Qp_stoq;
2747         _Qp_sub;
2748         _Qp_uitoq;
2749         _Qp_uxtoq;
2750         _Qp_xtoq;
2751         __sparc_utrap_install;
2752 $endif
2754 # On amd64, we also have SYSVABI_1.3, but it contains a small subset of
2755 # the symbols put in that version on other platforms.
2756 $if amd64
2757 } SYSVABI_1.3;
2759 SYMBOL_VERSION SYSVABI_1.3 { 
2760 $endif
2761     global:
2762 $if !_sparc
2763         __flt_rounds;
2764 $endif
2766     protected:
2767         _ctermid;
2768         _getgrgid;
2769         _getgrnam;
2770         _getlogin;
2771         _getpwnam;
2772         _getpwuid;
2773         _ttyname;
2775 $if !sparc32
2776         _sbrk;
2777 $endif
2779 $if _x86
2780         _fpstart;
2781         __fpstart;
2782 $endif
2787 # There should never be more than one SUNWprivate version.
2788 # Don't add any more.  Add new private symbols to SUNWprivate_1.1
2790 SYMBOL_VERSION SUNWprivate_1.1 {
2791     global:
2792         ___Argv                 { FLAGS = NODIRECT };
2793         cfree                   { FLAGS = NODIRECT };
2794         _cswidth;
2795         __ctype_mask;
2796         __environ_lock          { FLAGS = NODIRECT };
2797         __inf_read;
2798         __inf_written;
2799         __i_size;
2800         _isnanf                 { TYPE = FUNCTION; FILTER = libm.so.2 };
2801         __iswrune;
2802         __libc_threaded;
2803         _lib_version            { FLAGS = NODIRECT };
2804         _logb                   { TYPE = FUNCTION; FILTER = libm.so.2 };
2805         _lone                   { FLAGS = NODYNSORT };
2806         _lten                   { FLAGS = NODYNSORT };
2807         _lzero                  { FLAGS = NODYNSORT };
2808         __malloc_lock;
2809         _memcmp;
2810         _memcpy                 { FLAGS = NODYNSORT };
2811         _memmove;
2812         _memset;
2813         _modff                  { TYPE = FUNCTION; FILTER = libm.so.2 };
2814         __nan_read;
2815         __nan_written;
2816         __nextwctype;
2817         __nis_debug_bind;
2818         __nis_debug_calls;
2819         __nis_debug_file;
2820         __nis_debug_rpc;
2821         __nis_prefsrv;
2822         __nis_preftype;
2823         __nis_server;
2824         _nss_default_finders;
2825         __progname              { FLAGS = NODIRECT };
2826         _smbuf;
2827         _sp;
2828         __strdupa_str           { FLAGS = NODIRECT };
2829         __strdupa_len           { FLAGS = NODIRECT };
2830         _tdb_bootstrap;
2831         __threaded;
2832         thr_probe_getfunc_addr;
2833         __trans_lower;
2834         __trans_upper;
2835         _uberdata;
2836         __xpg6                  { FLAGS = NODIRECT };
2838         # FIXME: these data symbols originally from libnsl are marked private
2839         # (at least) until we get a name for our OS
2840         _null_auth;
2841         authdes_lock;
2842         h_errno                 { FLAGS = NODIRECT };
2843         in6addr_any;
2844         in6addr_loopback;
2845         svc_fdset;
2846         svc_max_pollfd;
2847         svc_pollfd;
2848         t_nerr;
2849         __key_decryptsession_pk_LOCAL;
2850         __key_encryptsession_pk_LOCAL;
2851         __key_gendes_LOCAL;
2852         __nsl_dom;
2853         _nderror;
2854 $if _ELF32
2855         _new_svc_fdset;
2856 $endif
2857         _rawcombuf;
2858         _svc_getreqset_proc;
2859         rpc_createerr;
2860         t_errlist;
2861         t_errno;
2862         tiusr_statetbl;
2864 $if _ELF32
2865         _dladdr                 { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2866         _dladdr1                { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2867         _dlclose                { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2868         _dldump                 { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2869         _dlerror                { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2870         _dlinfo                 { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2871         _dlmopen                { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2872         _dlopen                 { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2873         _dlsym                  { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2874         _ld_libc                { TYPE = FUNCTION; FILTER = /usr/lib/ld.so.1 };
2875         _sys_errlist;
2876         _sys_errs;
2877         _sys_index;
2878         _sys_nerr               { FLAGS = NODYNSORT };
2879         _sys_num_err;
2880 $elif sparcv9
2881         _dladdr         { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2882         _dladdr1        { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2883         _dlclose        { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2884         _dldump         { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2885         _dlerror        { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2886         _dlinfo         { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2887         _dlmopen        { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2888         _dlopen         { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2889         _dlsym          { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2890         _ld_libc        { TYPE = FUNCTION; FILTER = /usr/lib/sparcv9/ld.so.1 };
2891 $elif amd64
2892         _dladdr         { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2893         _dladdr1        { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2894         _dlamd64getunwind { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2895         _dlclose        { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2896         _dldump         { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2897         _dlerror        { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2898         _dlinfo         { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2899         _dlmopen        { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2900         _dlopen         { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2901         _dlsym          { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2902         _ld_libc        { TYPE = FUNCTION; FILTER = /usr/lib/amd64/ld.so.1 };
2903 $else
2904 $error unknown platform
2905 $endif
2907 $if _sparc
2908         __lyday_to_month;
2909         __mon_lengths;
2910         __yday_to_month;
2911 $endif
2912 $if i386
2913         _sse_hw;
2914 $endif
2916     protected:
2917         acctctl;
2918         allocids;
2919         _assert_c99;
2920         __assert_c99;
2921         _assfail;
2922         attr_count;
2923         attr_to_data_type;
2924         attr_to_name;
2925         attr_to_option;
2926         attr_to_xattr_view;     
2927         _autofssys;
2928         _bufsync;
2929         __class_quadruple;
2930         core_get_default_content;
2931         core_get_default_path;
2932         core_get_global_content;
2933         core_get_global_path;
2934         core_get_options;
2935         core_get_process_content;
2936         core_get_process_path;
2937         core_set_default_content;
2938         core_set_default_path;
2939         core_set_global_content;
2940         core_set_global_path;
2941         core_set_options;
2942         core_set_process_content;
2943         core_set_process_path;
2944         dbm_close_status;
2945         dbm_do_nextkey;
2946         dbm_setdefwrite;
2947         _D_cplx_div;
2948         _D_cplx_div_ix;
2949         _D_cplx_div_rx;
2950         _D_cplx_mul;
2951         defclose_r;
2952         defcntl;
2953         defcntl_r;
2954         defopen;
2955         defopen_r;
2956         defread;
2957         defread_r;
2958         _delete;
2959         _dgettext;
2960         _doprnt;
2961         _doscan;
2962         _errfp;
2963         _errxfp;
2964         execvpe;
2965         exportfs;
2966         _F_cplx_div;
2967         _F_cplx_div_ix;
2968         _F_cplx_div_rx;
2969         _F_cplx_mul;
2970         __fgetwc_xpg5;
2971         __fgetws_xpg5;
2972         _findbuf;
2973         _findiop;
2974         __fini_daemon_priv;
2975         _finite;
2976         _fork1                  { FLAGS = NODYNSORT };
2977         _forkall                { FLAGS = NODYNSORT };
2978         _fpclass;
2979         _fpgetmask;
2980         _fpgetround;
2981         _fpgetsticky;
2982         _fprintf;
2983         _fpsetmask;
2984         _fpsetround;
2985         _fpsetsticky;
2986         __fputwc_xpg5;
2987         __fputws_xpg5;
2988         _ftw;
2989         _gcvt;
2990         _getarg;
2991         __getcontext;
2992         _getdents;
2993         _get_exit_frame_monitor;
2994         _getfp;
2995         _getgroupsbymember;
2996         _getlogin_r;
2997         getrandom;
2998         _getsp;
2999         __gettsp;
3000         getvmusage;
3001         __getwchar_xpg5;
3002         __getwc_xpg5;
3003         gtty;
3004         __idmap_flush_kcache;
3005         __idmap_reg;
3006         __idmap_unreg;
3007         __init_daemon_priv;
3008         __init_suid_priv;
3009         _insert;
3010         inst_sync;
3011         _iswctype;
3012         klpd_create;
3013         klpd_getpath;
3014         klpd_getport;
3015         klpd_getucred;
3016         klpd_register;
3017         klpd_register_id;
3018         klpd_unregister;
3019         klpd_unregister_id;
3020         _lgrp_home_fast         { FLAGS = NODYNSORT };
3021         _lgrpsys;
3022         _lltostr;
3023         _lock_clear;
3024         _lock_try;
3025         _ltzset;
3026         lwp_self;
3027         makeut;
3028         makeutx;
3029         _mbftowc;
3030         mcfiller;
3031         mntopt;
3032         modctl;
3033         modutx;
3034         msgctl64;
3035         __multi_innetgr;
3036         _mutex_destroy          { FLAGS = NODYNSORT };
3037         mutex_enter;
3038         mutex_exit;
3039         mutex_held;
3040         _mutex_init             { FLAGS = NODYNSORT };
3041         _mutex_unlock           { FLAGS = NODYNSORT };
3042         name_to_attr;
3043         nfs_getfh;
3044         nfssvc;
3045         _nfssys;
3046         __nis_get_environment;
3047         _nss_db_state_destr;
3048         nss_default_key2str;
3049         nss_delete;
3050         nss_endent;
3051         nss_getent;
3052         _nss_initf_group;
3053         _nss_initf_netgroup;
3054         _nss_initf_passwd;
3055         _nss_initf_shadow;
3056         nss_packed_arg_init;
3057         nss_packed_context_init;
3058         nss_packed_getkey;
3059         nss_packed_set_status;
3060         nss_search;
3061         nss_setent;
3062         _nss_XbyY_fgets;
3063         _nss_XbyY_fini;
3064         __nsw_extended_action_v1;
3065         __nsw_freeconfig_v1;
3066         __nsw_getconfig_v1;
3067         __nthreads;
3068         __openattrdirat;
3069         option_to_attr;
3070         __priv_bracket;
3071         __priv_relinquish;
3072         psecflags;
3073         pset_assign_forced;
3074         pset_bind_lwp;
3075         _psignal;
3076         pthread_attr_getdaemonstate_np;
3077         pthread_attr_setdaemonstate_np;
3078         _pthread_setcleanupinit;
3079         __putwchar_xpg5;
3080         __putwc_xpg5;
3081         rctlctl;
3082         rctllist;
3083         _realbufend;
3084         _resume;
3085         _resume_ret;
3086         _rpcsys;
3087         _sbrk_grow_aligned;
3088         scrwidth;
3089         secflag_by_name;
3090         secflag_clear;
3091         secflags_copy;
3092         secflags_difference;
3093         secflags_fullset;
3094         secflags_intersection;
3095         secflags_isempty;
3096         secflag_isset;
3097         secflags_issubset;
3098         secflags_issuperset;
3099         secflag_set;
3100         secflag_to_bit;
3101         secflag_to_str;
3102         secflags_union;
3103         psecflags_validate_delta;
3104         secflags_zero;
3105         psecflags_default;
3106         secflags_parse;
3107         secflags_to_str;
3108         psecflags_validate;
3109         semctl64;
3110         _semctl64;
3111         set_setcontext_enforcement;
3112         _setbufend;
3113         __set_errno;
3114         setprojrctl;
3115         _setregid;
3116         _setreuid;
3117         setsigacthandler;
3118         shmctl64;
3119         _shmctl64;
3120         sigflag;
3121         _signal;
3122         _sigoff;
3123         _sigon;
3124         _so_accept;
3125         _so_bind;
3126         _sockconfig;
3127         _so_connect;
3128         _so_getpeername;
3129         _so_getsockname;
3130         _so_getsockopt;
3131         _so_listen;
3132         _so_recv;
3133         _so_recvfrom;
3134         _so_recvmsg;
3135         _so_send;
3136         _so_sendmsg;
3137         _so_sendto;
3138         _so_setsockopt;
3139         _so_shutdown;
3140         _so_socket;
3141         _so_socketpair;
3142         str2group;
3143         str2passwd;
3144         str2spwd;
3145         __strptime_dontzero;
3146         stty;
3147         syscall;
3148         _sysconfig;
3149         __systemcall;
3150         thr_continue_allmutators;
3151         _thr_continue_allmutators;
3152         thr_continue_mutator;
3153         _thr_continue_mutator;
3154         thr_getstate;
3155         _thr_getstate;
3156         thr_mutators_barrier;
3157         _thr_mutators_barrier;
3158         thr_probe_setup;
3159         _thr_schedctl;
3160         thr_setmutator;
3161         _thr_setmutator;
3162         thr_setstate;
3163         _thr_setstate;
3164         thr_sighndlrinfo;
3165         _thr_sighndlrinfo;
3166         _thr_slot_offset;
3167         thr_suspend_allmutators;
3168         _thr_suspend_allmutators;
3169         thr_suspend_mutator;
3170         _thr_suspend_mutator;
3171         thr_wait_mutator;
3172         _thr_wait_mutator;
3173         __tls_get_addr;
3174         _tmem_get_base;
3175         _tmem_get_nentries;
3176         _tmem_set_cleanup;
3177         tpool_create;
3178         tpool_dispatch;
3179         tpool_destroy;
3180         tpool_wait;
3181         tpool_suspend;
3182         tpool_suspended;
3183         tpool_resume;
3184         tpool_member;
3185         _ttyname_dev;
3186         _ucred_alloc;
3187         ucred_getamask;
3188         _ucred_getamask;
3189         ucred_getasid;
3190         _ucred_getasid;
3191         ucred_getatid;
3192         _ucred_getatid;
3193         ucred_getauid;
3194         _ucred_getauid;
3195         _ulltostr;
3196         _uncached_getgrgid_r;
3197         _uncached_getgrnam_r;
3198         _uncached_getpwnam_r;
3199         _uncached_getpwuid_r;
3200         __ungetwc_xpg5;
3201         _unordered;
3202         utssys;
3203         _verrfp;
3204         _verrxfp;
3205         _vwarnfp;
3206         _vwarnxfp;
3207         _warnfp;
3208         _warnxfp;
3209         __wcsftime_xpg5;
3210         __wcstok_xpg5;
3211         wdbindf;
3212         wdchkind;
3213         wddelim;
3214         _wrtchk;
3215         _xflsbuf;
3216         _xgetwidth;
3217         zone_add_datalink;
3218         zone_boot;
3219         zone_check_datalink;
3220         zone_create;
3221         zone_destroy;
3222         zone_enter;
3223         zone_getattr;
3224         zone_get_id;
3225         zone_list;
3226         zone_list_datalink;
3227         zonept;
3228         zone_remove_datalink;
3229         zone_setattr;
3230         zone_shutdown;
3231         zone_version;
3233 $if _ELF32
3234         __divdi3;
3235         _file_set;
3236         _fprintf_c89;
3237         _fscanf_c89;
3238         _fwprintf_c89;
3239         _fwscanf_c89;
3240         _imaxabs_c89;
3241         _imaxdiv_c89;
3242         __moddi3;
3243         _printf_c89;
3244         _scanf_c89;
3245         _snprintf_c89;
3246         _sprintf_c89;
3247         _sscanf_c89;
3248         _strtoimax_c89;
3249         _strtoumax_c89;
3250         _swprintf_c89;
3251         _swscanf_c89;
3252         __udivdi3;
3253         __umoddi3;
3254         _vfprintf_c89;
3255         _vfscanf_c89;
3256         _vfwprintf_c89;
3257         _vfwscanf_c89;
3258         _vprintf_c89;
3259         _vscanf_c89;
3260         _vsnprintf_c89;
3261         _vsprintf_c89;
3262         _vsscanf_c89;
3263         _vswprintf_c89;
3264         _vswscanf_c89;
3265         _vwprintf_c89;
3266         _vwscanf_c89;
3267         _wcstoimax_c89;
3268         _wcstoumax_c89;
3269         _wprintf_c89;
3270         _wscanf_c89;
3271 $endif
3273 $if _sparc
3274         _cerror;
3275         install_utrap;
3276         _install_utrap;
3277         nop;
3278         _Q_cplx_div;
3279         _Q_cplx_div_ix;
3280         _Q_cplx_div_rx;
3281         _Q_cplx_lr_div;
3282         _Q_cplx_lr_div_ix;
3283         _Q_cplx_lr_div_rx;
3284         _Q_cplx_lr_mul;
3285         _Q_cplx_mul;
3286         _QgetRD;
3287         _xregs_clrptr;
3288 $endif
3290 $if sparc32
3291         __ashldi3;
3292         __ashrdi3;
3293         _cerror64;
3294         __cmpdi2;
3295         __floatdidf;
3296         __floatdisf;
3297         __floatundidf;
3298         __floatundisf;
3299         __lshrdi3;
3300         __muldi3;
3301         __ucmpdi2;
3302 $endif
3304 $if _x86
3305         _D_cplx_lr_div;
3306         _D_cplx_lr_div_ix;
3307         _D_cplx_lr_div_rx;
3308         _F_cplx_lr_div;
3309         _F_cplx_lr_div_ix;
3310         _F_cplx_lr_div_rx;
3311         __fltrounds;
3312         sysi86;
3313         _sysi86;
3314         _X_cplx_div;
3315         _X_cplx_div_ix;
3316         _X_cplx_div_rx;
3317         _X_cplx_lr_div;
3318         _X_cplx_lr_div_ix;
3319         _X_cplx_lr_div_rx;
3320         _X_cplx_mul;
3321         __xgetRD;
3322         __xtol;
3323         __xtoll;
3324         __xtoul;
3325         __xtoull;
3326 $endif
3328 $if i386
3329         __divrem64;
3330         ___tls_get_addr;
3331         __udivrem64;
3332 $endif
3334 # The following functions should not be exported from libc,
3335 # but /lib/libm.so.2, some older versions of the Studio
3336 # compiler/debugger components, and some ancient programs
3337 # found in /usr/dist reference them.  When we no longer
3338 # care about these old and broken binary objects, these
3339 # symbols should be deleted.
3340         _brk                                    { FLAGS = NODYNSORT };
3341         _cond_broadcast                         { FLAGS = NODYNSORT };
3342         _cond_init                              { FLAGS = NODYNSORT };
3343         _cond_signal                            { FLAGS = NODYNSORT };
3344         _cond_wait                              { FLAGS = NODYNSORT };
3345         _ecvt                                   { FLAGS = NODYNSORT };
3346         _fcvt                                   { FLAGS = NODYNSORT };
3347         _getc_unlocked                          { FLAGS = NODYNSORT };
3348         _llseek                                 { FLAGS = NODYNSORT };
3349         _pthread_attr_getdetachstate            { FLAGS = NODYNSORT };
3350         _pthread_attr_getinheritsched           { FLAGS = NODYNSORT };
3351         _pthread_attr_getschedparam             { FLAGS = NODYNSORT };
3352         _pthread_attr_getschedpolicy            { FLAGS = NODYNSORT };
3353         _pthread_attr_getscope                  { FLAGS = NODYNSORT };
3354         _pthread_attr_getstackaddr              { FLAGS = NODYNSORT };
3355         _pthread_attr_getstacksize              { FLAGS = NODYNSORT };
3356         _pthread_attr_init                      { FLAGS = NODYNSORT };
3357         _pthread_condattr_getpshared            { FLAGS = NODYNSORT };
3358         _pthread_condattr_init                  { FLAGS = NODYNSORT };
3359         _pthread_cond_init                      { FLAGS = NODYNSORT };
3360         _pthread_create                         { FLAGS = NODYNSORT };
3361         _pthread_getschedparam                  { FLAGS = NODYNSORT };
3362         _pthread_join                           { FLAGS = NODYNSORT };
3363         _pthread_key_create                     { FLAGS = NODYNSORT };
3364         _pthread_mutexattr_getprioceiling       { FLAGS = NODYNSORT };
3365         _pthread_mutexattr_getprotocol          { FLAGS = NODYNSORT };
3366         _pthread_mutexattr_getpshared           { FLAGS = NODYNSORT };
3367         _pthread_mutexattr_init                 { FLAGS = NODYNSORT };
3368         _pthread_mutex_getprioceiling           { FLAGS = NODYNSORT };
3369         _pthread_mutex_init                     { FLAGS = NODYNSORT };
3370         _pthread_sigmask                        { FLAGS = NODYNSORT };
3371         _rwlock_init                            { FLAGS = NODYNSORT };
3372         _rw_rdlock                              { FLAGS = NODYNSORT };
3373         _rw_unlock                              { FLAGS = NODYNSORT };
3374         _rw_wrlock                              { FLAGS = NODYNSORT };
3375         _sbrk_unlocked                          { FLAGS = NODYNSORT };
3376         _select                                 { FLAGS = NODYNSORT };
3377         _sema_init                              { FLAGS = NODYNSORT };
3378         _sema_post                              { FLAGS = NODYNSORT };
3379         _sema_trywait                           { FLAGS = NODYNSORT };
3380         _sema_wait                              { FLAGS = NODYNSORT };
3381         _sysfs                                  { FLAGS = NODYNSORT };
3382         _thr_create                             { FLAGS = NODYNSORT };
3383         _thr_exit                               { FLAGS = NODYNSORT };
3384         _thr_getprio                            { FLAGS = NODYNSORT };
3385         _thr_getspecific                        { FLAGS = NODYNSORT };
3386         _thr_join                               { FLAGS = NODYNSORT };
3387         _thr_keycreate                          { FLAGS = NODYNSORT };
3388         _thr_kill                               { FLAGS = NODYNSORT };
3389         _thr_main                               { FLAGS = NODYNSORT };
3390         _thr_self                               { FLAGS = NODYNSORT };
3391         _thr_setspecific                        { FLAGS = NODYNSORT };
3392         _thr_sigsetmask                         { FLAGS = NODYNSORT };
3393         _thr_stksegment                         { FLAGS = NODYNSORT };
3394         _ungetc_unlocked                        { FLAGS = NODYNSORT };
3396 # FIXME: pending a name for our OS, these symbols originally from libsocket are
3397 # marked private.
3398         ether_aton_r;
3399         ether_ntoa_r;
3400         accept4;
3401         freeifaddrs;
3402         getifaddrs;
3403         getipv4sourcefilter;
3404         getsourcefilter;
3405         setipv4sourcefilter;
3406         setsourcefilter;
3407         inet6_opt_append;
3408         inet6_opt_find;
3409         inet6_opt_finish;
3410         inet6_opt_get_val;
3411         inet6_opt_init;
3412         inet6_opt_next;
3413         inet6_opt_set_val;
3414         inet6_rth_add;
3415         inet6_rth_getaddr;
3416         inet6_rth_init;
3417         inet6_rth_reverse;
3418         inet6_rth_segments;
3419         inet6_rth_space;
3420         sockatmark;
3421         __xnet_getaddrinfo;
3422         freeaddrinfo;
3423         gai_strerror;
3424         getaddrinfo;
3425         getnameinfo;
3426         if_freenameindex;
3427         if_indextoname;
3428         if_nameindex;
3429         if_nametoindex;
3430         rcmd_af;
3431         rexec_af;
3432         rresvport_af;
3433         __xnet_bind;
3434         __xnet_connect;
3435         __xnet_getsockopt;
3436         __xnet_listen;
3437         __xnet_recvmsg;
3438         __xnet_sendmsg;
3439         __xnet_sendto;
3440         __xnet_socket;
3441         __xnet_socketpair;
3442         endnetent;
3443         endprotoent;
3444         endservent;
3445         ether_aton;
3446         ether_hostton;
3447         ether_line;
3448         ether_ntoa;
3449         ether_ntohost;
3450         getnetbyaddr;
3451         getnetbyaddr_r;
3452         getnetbyname;
3453         getnetbyname_r;
3454         getnetent;
3455         getnetent_r;
3456         getprotobyname_r;
3457         getprotobynumber_r;
3458         getprotoent_r;
3459         getservbyname_r;
3460         getservbyport_r;
3461         getservent;
3462         getservent_r;
3463         rcmd;
3464         rexec;
3465         rresvport;
3466         ruserok;
3467         setnetent;
3468         setprotoent;
3469         setservent;
3470         socketpair;
3471         accept;
3472         bind;
3473         connect;
3474         getpeername;
3475         getprotobyname;
3476         getprotobynumber;
3477         getprotoent;
3478         getservbyname;
3479         getservbyport;
3480         getsockname;
3481         getsockopt;
3482         inet_lnaof;
3483         inet_makeaddr;
3484         inet_network;
3485         listen;
3486         recv;
3487         recvfrom;
3488         recvmsg;
3489         send;
3490         sendmsg;
3491         sendto;
3492         setsockopt;
3493         shutdown;
3494         socket;
3495 # These were private in libsocket and should stay that way in libc:
3496         _link_aton;
3497         _link_ntoa;
3498         _nss_initf_ethers;
3499         _nss_initf_net;
3500         _nss_initf_netmasks;
3501         _nss_initf_proto;
3502         _nss_initf_services;
3503         getallifaddrs;
3504         getallifs;
3505         str2ether;
3506         str2addr;
3507         str2netent;
3508         str2protoent;
3509         getnetmaskbyaddr;
3510         getnetmaskbynet;
3511         bindresvport;
3512         bootparams_getbyname;
3513         rresvport_addr;
3514         _ruserpass;
3515 # FIXME: pending a name for our OS, these symbols originally from libnsl are
3516 # marked private.
3517         inet_aton;
3518         freeipsecalgent;
3519         getipsecalgbyname;
3520         getipsecalgbynum;
3521         getipsecprotobyname;
3522         getipsecprotobynum;
3523         svc_fd_negotiate_ucred;
3524         svc_getcallerucred;
3525         clnt_send;
3526         svc_add_input;
3527         svc_remove_input;
3528         freehostent;
3529         getipnodebyaddr;
3530         getipnodebyname;
3531         inet_ntop;
3532         inet_pton;
3533         _xti_rcvreldata;
3534         _xti_rcvv;
3535         _xti_rcvvudata;
3536         _xti_sndreldata;
3537         _xti_sndv;
3538         _xti_sndvudata;
3539         _xti_sysconf;
3540         _xti_xns5_accept;
3541         _xti_xns5_snd;
3542         clnt_create_vers_timed;
3543         clnt_door_create;
3544         rpc_gss_getcred;
3545         rpc_gss_get_error;
3546         rpc_gss_get_mechanisms;
3547         rpc_gss_get_mech_info;
3548         rpc_gss_get_principal_name;
3549         rpc_gss_get_versions;
3550         rpc_gss_is_installed;
3551         rpc_gss_max_data_length;
3552         rpc_gss_mech_to_oid;
3553         rpc_gss_qop_to_num;
3554         rpc_gss_seccreate;
3555         rpc_gss_set_callback;
3556         rpc_gss_set_defaults;
3557         rpc_gss_set_svc_name;
3558         rpc_gss_svc_max_data_length;
3559         svc_door_create;
3560         _xti_accept;
3561         _xti_alloc;
3562         _xti_bind;
3563         _xti_close;
3564         _xti_connect;
3565         _xti_error;
3566         _xti_free;
3567         _xti_getinfo;
3568         _xti_getprotaddr;
3569         _xti_getstate;
3570         _xti_listen;
3571         _xti_look;
3572         _xti_open;
3573         _xti_optmgmt;
3574         _xti_rcv;
3575         _xti_rcvconnect;
3576         _xti_rcvdis;
3577         _xti_rcvrel;
3578         _xti_rcvudata;
3579         _xti_rcvuderr;
3580         _xti_snd;
3581         _xti_snddis;
3582         _xti_sndrel;
3583         _xti_sndudata;
3584         _xti_strerror;
3585         _xti_sync;
3586         _xti_unbind;
3587         clnt_create_timed;
3588         clnt_tp_create_timed;
3589         getrpcport;
3590         rpc_control;
3591         svc_done;
3592         authdes_create;
3593         auth_destroy;
3594         callrpc;
3595         clnt_broadcast;
3596         clnt_call;
3597         clnt_control;
3598         clnt_create_vers;
3599         clnt_destroy;
3600         clnt_freeres;
3601         clnt_geterr;
3602         clntraw_create;
3603         clnttcp_create;
3604         clntudp_bufcreate;
3605         clntudp_create;
3606         dbmclose;
3607         dbminit;
3608         delete;
3609         des_setparity;
3610         doconfig;
3611         endhostent;
3612         endrpcent;
3613         fetch;
3614         firstkey;
3615         gethostbyaddr_r;
3616         gethostbyname_r;
3617         gethostent;
3618         gethostent_r;
3619         get_myaddress;
3620         getrpcbyname;
3621         getrpcbyname_r;
3622         getrpcbynumber;
3623         getrpcbynumber_r;
3624         getrpcent;
3625         getrpcent_r;
3626         inet_ntoa_r;
3627         key_secretkey_is_set;
3628         nc_sperror;
3629         netdir_perror;
3630         netdir_sperror;
3631         nextkey;
3632         nis_clone_object;
3633         nis_destroy_object;
3634         nis_dir_cmp;
3635         nis_domain_of;
3636         nis_leaf_of;
3637         nis_leaf_of_r;
3638         nis_local_directory;
3639         nis_local_group;
3640         nis_local_host;
3641         nis_name_of;
3642         pmap_getmaps;
3643         pmap_getport;
3644         pmap_rmtcall;
3645         pmap_set;
3646         pmap_unset;
3647         registerrpc;
3648         __rpc_createerr;
3649         sethostent;
3650         setrpcent;
3651         store;
3652         svc_auth_reg;
3653         svc_control;
3654         svc_destroy;
3655         svc_dg_enablecache;
3656         svcfd_create;
3657         svc_exit;
3658         svc_freeargs;
3659         svc_getargs;
3660         svc_getreq;
3661         svc_getreq_common;
3662         svc_getreq_poll;
3663         svc_getrpccaller;
3664         svcraw_create;
3665         svc_register;
3666         svctcp_create;
3667         svcudp_bufcreate;
3668         svcudp_create;
3669         svc_unregister;
3670         __t_errno;
3671         t_getname;
3672         t_strerror;
3673         xdr_destroy;
3674         xdr_getpos;
3675         xdr_hyper;
3676         xdr_inline;
3677         xdr_longlong_t;
3678         xdr_quadruple;
3679         xdrrec_endofrecord;
3680         xdrrec_readbytes;
3681         xdr_setpos;
3682         xdr_sizeof;
3683         xdr_u_hyper;
3684         xdr_u_int;
3685         xdr_u_longlong_t;
3686         yp_all;
3687         yp_bind;
3688         yperr_string;
3689         yp_first;
3690         yp_get_default_domain;
3691         yp_master;
3692         yp_match;
3693         yp_next;
3694         yp_order;
3695         ypprot_err;
3696         yp_unbind;
3697         yp_update;
3698         gethostbyaddr;
3699         gethostbyname;
3700         inet_addr;
3701         inet_netof;
3702         inet_ntoa;
3703         rpc_broadcast_exp;
3704         authdes_getucred;
3705         authdes_seccreate;
3706         authnone_create;
3707         authsys_create;
3708         authsys_create_default;
3709         clnt_create;
3710         clnt_dg_create;
3711         clnt_pcreateerror;
3712         clnt_perrno;
3713         clnt_perror;
3714         clnt_raw_create;
3715         clnt_spcreateerror;
3716         clnt_sperrno;
3717         clnt_sperror;
3718         clnt_tli_create;
3719         clnt_tp_create;
3720         clnt_vc_create;
3721         endnetconfig;
3722         endnetpath;
3723         freenetconfigent;
3724         getnetconfig;
3725         getnetconfigent;
3726         getnetname;
3727         getnetpath;
3728         getpublickey;
3729         getsecretkey;
3730         host2netname;
3731         key_decryptsession;
3732         key_encryptsession;
3733         key_gendes;
3734         key_setsecret;
3735         nc_perror;
3736         netdir_free;
3737         netdir_getbyaddr;
3738         netdir_getbyname;
3739         netdir_options;
3740         netname2host;
3741         netname2user;
3742         rpcb_getaddr;
3743         rpcb_getmaps;
3744         rpcb_gettime;
3745         rpcb_rmtcall;
3746         rpc_broadcast;
3747         rpcb_set;
3748         rpcb_unset;
3749         rpc_call;
3750         rpc_reg;
3751         setnetconfig;
3752         setnetpath;
3753         svc_create;
3754         svc_dg_create;
3755         svcerr_auth;
3756         svcerr_decode;
3757         svcerr_noproc;
3758         svcerr_noprog;
3759         svcerr_progvers;
3760         svcerr_systemerr;
3761         svcerr_weakauth;
3762         svc_fd_create;
3763         svc_getreqset;
3764         svc_raw_create;
3765         svc_reg;
3766         svc_run;
3767         svc_sendreply;
3768         svc_tli_create;
3769         svc_tp_create;
3770         svc_unreg;
3771         svc_vc_create;
3772         t_accept;
3773         taddr2uaddr;
3774         t_alloc;
3775         t_bind;
3776         t_close;
3777         t_connect;
3778         t_error;
3779         t_free;
3780         t_getinfo;
3781         t_getstate;
3782         t_listen;
3783         t_look;
3784         t_open;
3785         t_optmgmt;
3786         t_rcv;
3787         t_rcvconnect;
3788         t_rcvdis;
3789         t_rcvrel;
3790         t_rcvudata;
3791         t_rcvuderr;
3792         t_snd;
3793         t_snddis;
3794         t_sndrel;
3795         t_sndudata;
3796         t_sync;
3797         t_unbind;
3798         uaddr2taddr;
3799         user2netname;
3800         xdr_accepted_reply;
3801         xdr_array;
3802         xdr_authsys_parms;
3803         xdr_bool;
3804         xdr_bytes;
3805         xdr_callhdr;
3806         xdr_callmsg;
3807         xdr_char;
3808         xdr_double;
3809         xdr_double;
3810         xdr_enum;
3811         xdr_float;
3812         xdr_free;
3813         xdr_int;
3814         xdr_long;
3815         xdrmem_create;
3816         xdr_opaque;
3817         xdr_opaque_auth;
3818         xdr_pointer;
3819         xdrrec_create;
3820         xdrrec_eof;
3821         xdrrec_skiprecord;
3822         xdr_reference;
3823         xdr_rejected_reply;
3824         xdr_replymsg;
3825         xdr_short;
3826         xdrstdio_create;
3827         xdr_string;
3828         xdr_u_char;
3829         xdr_u_long;
3830         xdr_union;
3831         xdr_u_short;
3832         xdr_vector;
3833         xdr_void;
3834         xdr_wrapstring;
3835         xprt_register;
3836         xprt_unregister;
3837 # These were private in libnsl and should stay that way in libc:
3838         clnt_create_service_timed;
3839         inet_matchaddr;
3840         _build_internal_algs;
3841         _check_daemon_lock;
3842         _clean_trash;
3843         _create_daemon_lock;
3844         _duplicate_alg;
3845         _enter_daemon_lock;
3846         _real_getipsecalgs;
3847         _real_getipsecprotos;
3848         str2hostent6;
3849         _str_to_ipsec_exec_mode;
3850         __yp_all_cflookup;
3851         key_call_ruid;
3852         key_removesecret_g_ruid;
3853         key_secretkey_is_set_g_ruid;
3854         key_setnet_g_ruid;
3855         key_setnet_ruid;
3856         _doexeclist;
3857         _dup_execstr;
3858         _endauthattr;
3859         _endauuser;
3860         _endexecattr;
3861         __endhostent6;
3862         _endprofattr;
3863         _enduserattr;
3864         _escape;
3865         _exec_cleanup;
3866         _exec_wild_id;
3867         _fgetuserattr;
3868         _free_execstr;
3869         _getauthattr;
3870         _getauthnam;
3871         _getauuserent;
3872         _getauusernam;
3873         _getexecattr;
3874         _getexecprof;
3875         __gethostent6;
3876         _getprofattr;
3877         _getprofnam;
3878         _getuserattr;
3879         _getusernam;
3880         __nis_netconfig2ep;
3881         __nis_netconfig_matches_ep;
3882         _readbufline;
3883         __rpc_bindresvport_ipv6;
3884         _setauthattr;
3885         _setauuser;
3886         _setexecattr;
3887         __sethostent6;
3888         _setprofattr;
3889         _setuserattr;
3890         _strdup_null;
3891         _strpbrk_escape;
3892         _strtok_escape;
3893         _switch_getipnodebyaddr_r;
3894         _switch_getipnodebyname_r;
3895         _uncached_getipnodebyaddr;
3896         _uncached_getipnodebyname;
3897         _unescape;
3898         __yp_first_cflookup;
3899         __yp_match_cflookup;
3900         __yp_match_rsvdport_cflookup;
3901         __yp_next_cflookup;
3902         __authenticate;
3903         calchash;
3904         cbc_crypt;
3905         __cbc_triple_crypt;
3906         check_version;
3907         __clnt_create_loopback;
3908         __des_crypt;
3909         des_setparity_g;
3910         ecb_crypt;
3911         __empty_yp_cache;
3912         firsthash;
3913         getdomainname;
3914         _get_hostserv_inetnetdir_byaddr;
3915         _get_hostserv_inetnetdir_byname;
3916         __getnetnamebyuid;
3917         __getpublickey_cached;
3918         __getpublickey_cached_g;
3919         __getpublickey_flush;
3920         __getpublickey_flush_g;
3921         getpublickey_g;
3922         getsecretkey_g;
3923         hashinc;
3924         _herrno2nss;
3925         __inet_address_count;
3926         __inet_free_local_interfaces;
3927         __inet_get_addr;
3928         __inet_get_local_interfaces;
3929         __inet_get_networka;
3930         __inet_get_uaddr;
3931         __inet_uaddr_is_local;
3932         key_call;
3933         key_decryptsession_g;
3934         key_decryptsession_pk;
3935         key_decryptsession_pk_g;
3936         key_encryptsession_g;
3937         key_encryptsession_pk;
3938         key_encryptsession_pk_g;
3939         key_gendes_g;
3940         key_get_conv;
3941         key_get_conv_g;
3942         key_removesecret_g;
3943         key_secretkey_is_set_g;
3944         key_setnet;
3945         key_setnet_g;
3946         key_setsecret_g;
3947         makdatum;
3948         __nderror;
3949         __netdir_getbyaddr_nosrv;
3950         __nis_authtype2mechalias;
3951         __nis_clnt_create;
3952         __nis_dhext_extract_pkey;
3953         __nis_get_mechanism_library;
3954         __nis_get_mechanisms;
3955         __nis_get_mechanism_symbol;
3956         nis_get_static_storage;
3957         __nis_gssprin2netname;
3958         __nis_keyalg2authtype;
3959         __nis_keyalg2mechalias;
3960         __nis_mechalias2authtype;
3961         __nis_mechname2alias;
3962         nis_read_obj;
3963         __nis_release_mechanisms;
3964         __nis_rpc_domain;
3965         __nis_translate_mechanism;
3966         nis_write_obj;
3967         __nss2herrno;
3968         nss_ioctl;
3969         order_haddrlist_af;
3970         __rpcbind_is_up;
3971         __rpc_bindresvport;
3972         rpcb_taddr2uaddr;
3973         rpcb_uaddr2taddr;
3974         __rpc_control;
3975         __rpc_dtbsize;
3976         __rpc_endconf;
3977         __rpcfd_to_nconf;
3978         __rpc_get_a_size;
3979         __rpc_getconf;
3980         __rpc_getconfip;
3981         __rpc_get_default_domain;
3982         __rpc_get_local_uid;
3983         __rpc_get_t_size;
3984         __rpc_matchserv;
3985         __rpc_negotiate_uid;
3986         __rpc_select_to_poll;
3987         __rpc_setconf;
3988         __rpc_timeval_to_msec;
3989         __rpc_tli_set_options;
3990         rtime_tli;
3991         setdomainname;
3992         __seterr_reply;
3993         str2hostent;
3994         str2servent;
3995         __svcauth_des;
3996         svc_get_local_cred;
3997         __svc_get_svcauth;
3998         __svc_set_proc_cleanup_cb;
3999         __svc_vc_dup;
4000         __svc_vc_dupcache_init;
4001         __svc_vc_dupdone;
4002         svc_xprt_alloc;
4003         svc_xprt_free;
4004         _switch_gethostbyaddr_r;
4005         _switch_gethostbyname_r;
4006         _uncached_gethostbyaddr_r;
4007         _uncached_gethostbyname_r;
4008         usingypmap;
4009         xdr_authdes_cred;
4010         xdr_authdes_verf;
4011         xdr_cryptkeyarg;
4012         xdr_cryptkeyarg2;
4013         xdr_cryptkeyarg3;
4014         xdr_cryptkeyres;
4015         xdr_cryptkeyres3;
4016         xdr_datum;
4017         xdr_des_block;
4018         xdr_deskeyarg3;
4019         xdr_deskeyarray;
4020         xdr_directory_obj;
4021         xdr_endpoint;
4022         xdr_entry_obj;
4023         xdr_getcredres;
4024         xdr_getcredres3;
4025         xdr_gid_t;
4026         xdr_int16_t;
4027         xdr_int32_t;
4028         xdr_int64_t;
4029         xdr_int8_t;
4030         xdr_keybuf;
4031         xdr_keybuf3;
4032         xdr_key_netstarg;
4033         xdr_key_netstarg3;
4034         xdr_key_netstres;
4035         xdr_key_netstres3;
4036         xdr_keynum_t;
4037         xdr_keystatus;
4038         xdr_mechtype;
4039         xdr_netbuf;
4040         xdr_netnamestr;
4041         xdr_netobj;
4042         xdr_nis_attr;
4043         xdr_nis_name;
4044         xdr_nis_object;
4045         xdr_nis_oid;
4046         xdr_nis_server;
4047         xdr_objdata;
4048         xdr_pmap;
4049         xdr_pmaplist;
4050         xdr_pmaplist_ptr;
4051         xdr_rmtcallargs;
4052         xdr_rmtcallres;
4053         xdr_rpcb;
4054         xdr_rpcb_entry;
4055         xdr_rpcb_entry_list_ptr;
4056         xdr_rpcblist;
4057         xdr_rpcblist_ptr;
4058         xdr_rpcb_rmtcallargs;
4059         xdr_rpcb_rmtcallres;
4060         xdr_rpcbs_addrlist;
4061         xdr_rpcbs_addrlist_ptr;
4062         xdr_rpcbs_proc;
4063         xdr_rpcbs_rmtcalllist;
4064         xdr_rpcbs_rmtcalllist_ptr;
4065         xdr_rpcb_stat;
4066         xdr_rpcb_stat_byvers;
4067         xdr_setkeyarg3;
4068         xdr_table_obj;
4069         xdr_uid_t;
4070         xdr_uint16_t;
4071         xdr_uint32_t;
4072         xdr_uint64_t;
4073         xdr_uint8_t;
4074         xdr_ulonglong_t;
4075         xdr_unixcred;
4076         xdr_ypall;
4077         xdr_ypbind_domain;
4078         xdr_ypbind_resp;
4079         xdr_ypbind_resptype;
4080         xdr_ypbind_setdom;
4081         xdr_yp_buf;
4082         xdr_ypdelete_args;
4083         xdr_ypdomain_wrap_string;
4084         xdr_ypmap_parms;
4085         xdr_ypmap_wrap_string;
4086         xdr_ypowner_wrap_string;
4087         xdr_yppasswd;
4088         xdr_yppushresp_xfr;
4089         xdr_ypreq_key;
4090         xdr_ypreq_newxfr;
4091         xdr_ypreq_nokey;
4092         xdr_ypreq_xfr;
4093         xdr_ypresp_key_val;
4094         xdr_ypresp_maplist;
4095         xdr_ypresp_master;
4096         xdr_ypresp_order;
4097         xdr_ypresp_val;
4098         xdr_ypupdate_args;
4099         __yp_add_binding;
4100         __yp_all_rsvdport;
4101         ypbindproc_domain_3;
4102         __yp_clnt_create_rsvdport;
4103         __yp_dobind;
4104         __yp_master_rsvdport;
4105         yp_match_rsvdport;
4106         __yp_rel_binding;
4107 # End libnsl/libsocket symbols
4108 # FIXME: new symbols for our OS, but here pending a name.
4109         errc;
4110         verrc;
4111         warnc;
4112         vwarnc;
4113         fts_close;
4114         fts_children;
4115         fts_open;
4116         fts_read;
4117         fts_set;
4118         vis;
4119         strvis;
4120         strnvis;
4121         strvisx;
4122         stravis;        
4123         unvis;
4124         strunvis;
4125         strnunvis;
4127     global:
4128 # FIXME: new symbols for our OS, but here pending a name.
4129         reallocarray            { FLAGS = NODIRECT };
4130         recallocarray           { FLAGS = NODIRECT };
4132     local:
4133         __imax_lldiv                            { FLAGS = NODYNSORT };
4134         _ti_thr_self                            { FLAGS = NODYNSORT };
4135         *;
4137 $if lf64
4138         _seekdir64              { FLAGS = NODYNSORT };
4139         _telldir64              { FLAGS = NODYNSORT };
4140 $endif
4142 $if _sparc
4143         __cerror                { FLAGS = NODYNSORT };
4144 $endif
4146 $if sparc32
4147         __cerror64              { FLAGS = NODYNSORT };
4148 $endif
4150 $if sparcv9
4151         __cleanup               { FLAGS = NODYNSORT };
4152 $endif
4154 $if i386
4155         _syscall6               { FLAGS = NODYNSORT };
4156         __systemcall6           { FLAGS = NODYNSORT };
4157 $endif
4159 $if amd64
4160         ___tls_get_addr         { FLAGS = NODYNSORT };
4161 $endif