authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-12-12 18:46:07-05:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2020-12-12 18:46:07-05:00
log4fd27719b4cee287f873c452a515927977bde0cd
treec55fdc32807ad2420192e7a85db53ed1c3c9dcf2
parent6b7ddfbafe7ff8f9bc9952f838737e8514c9b26b
parent1d8f33ca98493d63c509e0a23b8dc512f4d7b79f
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

Merge pull request #7406 from ifreund/dyn-musl2

stage2: support dynamically linking musl libc

12 files changed, 5306 insertions(+), 4 deletions(-)

lib/libc/musl/libc.s created+5097
......@@ -0,0 +1,5097 @@
1.bss
2.weak ___environ
3.type ___environ, @object;
4___environ:
5.globl __daylight
6.type __daylight, @object;
7__daylight:
8.globl __environ
9.type __environ, @object;
10__environ:
11.globl __optpos
12.type __optpos, @object;
13__optpos:
14.globl __optreset
15.type __optreset, @object;
16__optreset:
17.globl __progname
18.type __progname, @object;
19__progname:
20.globl __progname_full
21.type __progname_full, @object;
22__progname_full:
23.globl __signgam
24.type __signgam, @object;
25__signgam:
26.globl __stack_chk_guard
27.type __stack_chk_guard, @object;
28__stack_chk_guard:
29.globl __timezone
30.type __timezone, @object;
31__timezone:
32.globl __tzname
33.type __tzname, @object;
34__tzname:
35.weak _environ
36.type _environ, @object;
37_environ:
38.weak daylight
39.type daylight, @object;
40daylight:
41.weak environ
42.type environ, @object;
43environ:
44.globl getdate_err
45.type getdate_err, @object;
46getdate_err:
47.globl h_errno
48.type h_errno, @object;
49h_errno:
50.globl optarg
51.type optarg, @object;
52optarg:
53.globl optopt
54.type optopt, @object;
55optopt:
56.weak optreset
57.type optreset, @object;
58optreset:
59.weak program_invocation_name
60.type program_invocation_name, @object;
61program_invocation_name:
62.weak program_invocation_short_name
63.type program_invocation_short_name, @object;
64program_invocation_short_name:
65.weak signgam
66.type signgam, @object;
67signgam:
68.weak timezone
69.type timezone, @object;
70timezone:
71.weak tzname
72.type tzname, @object;
73tzname:
74.data
75.globl _dl_debug_addr
76.type _dl_debug_addr, @object;
77_dl_debug_addr:
78.globl opterr
79.type opterr, @object;
80opterr:
81.globl optind
82.type optind, @object;
83optind:
84.data.rel.ro
85.globl stderr
86.type stderr, @object;
87stderr:
88.globl stdin
89.type stdin, @object;
90stdin:
91.globl stdout
92.type stdout, @object;
93stdout:
94.rodata
95.globl _ns_flagdata
96.type _ns_flagdata, @object;
97_ns_flagdata:
98.globl in6addr_any
99.type in6addr_any, @object;
100in6addr_any:
101.globl in6addr_loopback
102.type in6addr_loopback, @object;
103in6addr_loopback:
104.text
105.globl _Exit
106.type _Exit, @function;
107_Exit:
108.weak _IO_feof_unlocked
109.type _IO_feof_unlocked, @function;
110_IO_feof_unlocked:
111.weak _IO_ferror_unlocked
112.type _IO_ferror_unlocked, @function;
113_IO_ferror_unlocked:
114.weak _IO_getc
115.type _IO_getc, @function;
116_IO_getc:
117.weak _IO_getc_unlocked
118.type _IO_getc_unlocked, @function;
119_IO_getc_unlocked:
120.weak _IO_putc
121.type _IO_putc, @function;
122_IO_putc:
123.weak _IO_putc_unlocked
124.type _IO_putc_unlocked, @function;
125_IO_putc_unlocked:
126.globl __assert_fail
127.type __assert_fail, @function;
128__assert_fail:
129.globl __ctype_b_loc
130.type __ctype_b_loc, @function;
131__ctype_b_loc:
132.globl __ctype_get_mb_cur_max
133.type __ctype_get_mb_cur_max, @function;
134__ctype_get_mb_cur_max:
135.globl __ctype_tolower_loc
136.type __ctype_tolower_loc, @function;
137__ctype_tolower_loc:
138.globl __ctype_toupper_loc
139.type __ctype_toupper_loc, @function;
140__ctype_toupper_loc:
141.globl __cxa_atexit
142.type __cxa_atexit, @function;
143__cxa_atexit:
144.globl __cxa_finalize
145.type __cxa_finalize, @function;
146__cxa_finalize:
147.globl __dls2b
148.type __dls2b, @function;
149__dls2b:
150.globl __dls3
151.type __dls3, @function;
152__dls3:
153.globl __duplocale
154.type __duplocale, @function;
155__duplocale:
156.globl __errno_location
157.type __errno_location, @function;
158__errno_location:
159.globl __fbufsize
160.type __fbufsize, @function;
161__fbufsize:
162.globl __fgetwc_unlocked
163.type __fgetwc_unlocked, @function;
164__fgetwc_unlocked:
165.globl __flbf
166.type __flbf, @function;
167__flbf:
168.globl __flt_rounds
169.type __flt_rounds, @function;
170__flt_rounds:
171.globl __fpclassify
172.type __fpclassify, @function;
173__fpclassify:
174.globl __fpclassifyf
175.type __fpclassifyf, @function;
176__fpclassifyf:
177.globl __fpclassifyl
178.type __fpclassifyl, @function;
179__fpclassifyl:
180.globl __fpending
181.type __fpending, @function;
182__fpending:
183.globl __fpurge
184.type __fpurge, @function;
185__fpurge:
186.globl __fputwc_unlocked
187.type __fputwc_unlocked, @function;
188__fputwc_unlocked:
189.globl __freadable
190.type __freadable, @function;
191__freadable:
192.globl __freadahead
193.type __freadahead, @function;
194__freadahead:
195.globl __freading
196.type __freading, @function;
197__freading:
198.globl __freadptr
199.type __freadptr, @function;
200__freadptr:
201.globl __freadptrinc
202.type __freadptrinc, @function;
203__freadptrinc:
204.weak __freelocale
205.type __freelocale, @function;
206__freelocale:
207.globl __fseterr
208.type __fseterr, @function;
209__fseterr:
210.globl __fsetlocking
211.type __fsetlocking, @function;
212__fsetlocking:
213.globl __fwritable
214.type __fwritable, @function;
215__fwritable:
216.globl __fwriting
217.type __fwriting, @function;
218__fwriting:
219.globl __fxstat
220.type __fxstat, @function;
221__fxstat:
222.weak __fxstat64
223.type __fxstat64, @function;
224__fxstat64:
225.globl __fxstatat
226.type __fxstatat, @function;
227__fxstatat:
228.weak __fxstatat64
229.type __fxstatat64, @function;
230__fxstatat64:
231.weak __getdelim
232.type __getdelim, @function;
233__getdelim:
234.globl __h_errno_location
235.type __h_errno_location, @function;
236__h_errno_location:
237.globl __isalnum_l
238.type __isalnum_l, @function;
239__isalnum_l:
240.globl __isalpha_l
241.type __isalpha_l, @function;
242__isalpha_l:
243.globl __isblank_l
244.type __isblank_l, @function;
245__isblank_l:
246.globl __iscntrl_l
247.type __iscntrl_l, @function;
248__iscntrl_l:
249.globl __isdigit_l
250.type __isdigit_l, @function;
251__isdigit_l:
252.globl __isgraph_l
253.type __isgraph_l, @function;
254__isgraph_l:
255.globl __islower_l
256.type __islower_l, @function;
257__islower_l:
258.weak __isoc99_fscanf
259.type __isoc99_fscanf, @function;
260__isoc99_fscanf:
261.weak __isoc99_fwscanf
262.type __isoc99_fwscanf, @function;
263__isoc99_fwscanf:
264.weak __isoc99_scanf
265.type __isoc99_scanf, @function;
266__isoc99_scanf:
267.weak __isoc99_sscanf
268.type __isoc99_sscanf, @function;
269__isoc99_sscanf:
270.weak __isoc99_swscanf
271.type __isoc99_swscanf, @function;
272__isoc99_swscanf:
273.weak __isoc99_vfscanf
274.type __isoc99_vfscanf, @function;
275__isoc99_vfscanf:
276.weak __isoc99_vfwscanf
277.type __isoc99_vfwscanf, @function;
278__isoc99_vfwscanf:
279.weak __isoc99_vscanf
280.type __isoc99_vscanf, @function;
281__isoc99_vscanf:
282.weak __isoc99_vsscanf
283.type __isoc99_vsscanf, @function;
284__isoc99_vsscanf:
285.weak __isoc99_vswscanf
286.type __isoc99_vswscanf, @function;
287__isoc99_vswscanf:
288.weak __isoc99_vwscanf
289.type __isoc99_vwscanf, @function;
290__isoc99_vwscanf:
291.weak __isoc99_wscanf
292.type __isoc99_wscanf, @function;
293__isoc99_wscanf:
294.globl __isprint_l
295.type __isprint_l, @function;
296__isprint_l:
297.globl __ispunct_l
298.type __ispunct_l, @function;
299__ispunct_l:
300.globl __isspace_l
301.type __isspace_l, @function;
302__isspace_l:
303.globl __isupper_l
304.type __isupper_l, @function;
305__isupper_l:
306.globl __iswalnum_l
307.type __iswalnum_l, @function;
308__iswalnum_l:
309.globl __iswalpha_l
310.type __iswalpha_l, @function;
311__iswalpha_l:
312.globl __iswblank_l
313.type __iswblank_l, @function;
314__iswblank_l:
315.globl __iswcntrl_l
316.type __iswcntrl_l, @function;
317__iswcntrl_l:
318.globl __iswctype_l
319.type __iswctype_l, @function;
320__iswctype_l:
321.globl __iswdigit_l
322.type __iswdigit_l, @function;
323__iswdigit_l:
324.globl __iswgraph_l
325.type __iswgraph_l, @function;
326__iswgraph_l:
327.globl __iswlower_l
328.type __iswlower_l, @function;
329__iswlower_l:
330.globl __iswprint_l
331.type __iswprint_l, @function;
332__iswprint_l:
333.globl __iswpunct_l
334.type __iswpunct_l, @function;
335__iswpunct_l:
336.globl __iswspace_l
337.type __iswspace_l, @function;
338__iswspace_l:
339.globl __iswupper_l
340.type __iswupper_l, @function;
341__iswupper_l:
342.globl __iswxdigit_l
343.type __iswxdigit_l, @function;
344__iswxdigit_l:
345.globl __isxdigit_l
346.type __isxdigit_l, @function;
347__isxdigit_l:
348.globl __lgammal_r
349.type __lgammal_r, @function;
350__lgammal_r:
351.globl __libc_current_sigrtmax
352.type __libc_current_sigrtmax, @function;
353__libc_current_sigrtmax:
354.globl __libc_current_sigrtmin
355.type __libc_current_sigrtmin, @function;
356__libc_current_sigrtmin:
357.globl __libc_start_main
358.type __libc_start_main, @function;
359__libc_start_main:
360.globl __lxstat
361.type __lxstat, @function;
362__lxstat:
363.weak __lxstat64
364.type __lxstat64, @function;
365__lxstat64:
366.globl __newlocale
367.type __newlocale, @function;
368__newlocale:
369.globl __nl_langinfo
370.type __nl_langinfo, @function;
371__nl_langinfo:
372.globl __nl_langinfo_l
373.type __nl_langinfo_l, @function;
374__nl_langinfo_l:
375.globl __overflow
376.type __overflow, @function;
377.protected __overflow
378__overflow:
379.weak __posix_getopt
380.type __posix_getopt, @function;
381__posix_getopt:
382.globl __res_state
383.type __res_state, @function;
384__res_state:
385.globl __sched_cpucount
386.type __sched_cpucount, @function;
387__sched_cpucount:
388.globl __setjmp
389.type __setjmp, @function;
390__setjmp:
391.globl __signbit
392.type __signbit, @function;
393__signbit:
394.globl __signbitf
395.type __signbitf, @function;
396__signbitf:
397.globl __signbitl
398.type __signbitl, @function;
399__signbitl:
400.globl __sigsetjmp
401.type __sigsetjmp, @function;
402__sigsetjmp:
403.globl __stack_chk_fail
404.type __stack_chk_fail, @function;
405__stack_chk_fail:
406.globl __strcasecmp_l
407.type __strcasecmp_l, @function;
408__strcasecmp_l:
409.globl __strcoll_l
410.type __strcoll_l, @function;
411__strcoll_l:
412.globl __strerror_l
413.type __strerror_l, @function;
414__strerror_l:
415.globl __strncasecmp_l
416.type __strncasecmp_l, @function;
417__strncasecmp_l:
418.weak __strtod_l
419.type __strtod_l, @function;
420__strtod_l:
421.weak __strtof_l
422.type __strtof_l, @function;
423__strtof_l:
424.weak __strtoimax_internal
425.type __strtoimax_internal, @function;
426__strtoimax_internal:
427.weak __strtol_internal
428.type __strtol_internal, @function;
429__strtol_internal:
430.weak __strtold_l
431.type __strtold_l, @function;
432__strtold_l:
433.weak __strtoll_internal
434.type __strtoll_internal, @function;
435__strtoll_internal:
436.weak __strtoul_internal
437.type __strtoul_internal, @function;
438__strtoul_internal:
439.weak __strtoull_internal
440.type __strtoull_internal, @function;
441__strtoull_internal:
442.weak __strtoumax_internal
443.type __strtoumax_internal, @function;
444__strtoumax_internal:
445.globl __strxfrm_l
446.type __strxfrm_l, @function;
447__strxfrm_l:
448.weak __sysv_signal
449.type __sysv_signal, @function;
450__sysv_signal:
451.globl __tls_get_addr
452.type __tls_get_addr, @function;
453__tls_get_addr:
454.globl __tolower_l
455.type __tolower_l, @function;
456__tolower_l:
457.globl __toupper_l
458.type __toupper_l, @function;
459__toupper_l:
460.globl __towctrans_l
461.type __towctrans_l, @function;
462__towctrans_l:
463.globl __towlower_l
464.type __towlower_l, @function;
465__towlower_l:
466.globl __towupper_l
467.type __towupper_l, @function;
468__towupper_l:
469.globl __uflow
470.type __uflow, @function;
471.protected __uflow
472__uflow:
473.globl __uselocale
474.type __uselocale, @function;
475__uselocale:
476.globl __wcscoll_l
477.type __wcscoll_l, @function;
478__wcscoll_l:
479.globl __wcsftime_l
480.type __wcsftime_l, @function;
481__wcsftime_l:
482.globl __wcsxfrm_l
483.type __wcsxfrm_l, @function;
484__wcsxfrm_l:
485.globl __wctrans_l
486.type __wctrans_l, @function;
487__wctrans_l:
488.globl __wctype_l
489.type __wctype_l, @function;
490__wctype_l:
491.globl __xmknod
492.type __xmknod, @function;
493__xmknod:
494.globl __xmknodat
495.type __xmknodat, @function;
496__xmknodat:
497.weak __xpg_basename
498.type __xpg_basename, @function;
499__xpg_basename:
500.weak __xpg_strerror_r
501.type __xpg_strerror_r, @function;
502__xpg_strerror_r:
503.globl __xstat
504.type __xstat, @function;
505__xstat:
506.weak __xstat64
507.type __xstat64, @function;
508__xstat64:
509.weak _dl_debug_state
510.type _dl_debug_state, @function;
511_dl_debug_state:
512.globl _dlstart
513_dlstart:
514.globl _exit
515.type _exit, @function;
516_exit:
517.weak _fini
518.type _fini, @function;
519_fini:
520.globl _flushlbf
521.type _flushlbf, @function;
522_flushlbf:
523.weak _init
524.type _init, @function;
525_init:
526.globl _longjmp
527.type _longjmp, @function;
528_longjmp:
529.globl _pthread_cleanup_pop
530.type _pthread_cleanup_pop, @function;
531_pthread_cleanup_pop:
532.globl _pthread_cleanup_push
533.type _pthread_cleanup_push, @function;
534_pthread_cleanup_push:
535.globl _setjmp
536.type _setjmp, @function;
537_setjmp:
538.globl a64l
539.type a64l, @function;
540a64l:
541.globl abort
542.type abort, @function;
543abort:
544.globl abs
545.type abs, @function;
546abs:
547.globl accept
548.type accept, @function;
549accept:
550.globl accept4
551.type accept4, @function;
552accept4:
553.globl access
554.type access, @function;
555access:
556.globl acct
557.type acct, @function;
558acct:
559.globl acos
560.type acos, @function;
561acos:
562.globl acosf
563.type acosf, @function;
564acosf:
565.globl acosh
566.type acosh, @function;
567acosh:
568.globl acoshf
569.type acoshf, @function;
570acoshf:
571.globl acoshl
572.type acoshl, @function;
573acoshl:
574.globl acosl
575.type acosl, @function;
576acosl:
577.globl addmntent
578.type addmntent, @function;
579addmntent:
580.globl adjtime
581.type adjtime, @function;
582adjtime:
583.globl adjtimex
584.type adjtimex, @function;
585adjtimex:
586.globl aio_cancel
587.type aio_cancel, @function;
588aio_cancel:
589.weak aio_cancel64
590.type aio_cancel64, @function;
591aio_cancel64:
592.globl aio_error
593.type aio_error, @function;
594aio_error:
595.weak aio_error64
596.type aio_error64, @function;
597aio_error64:
598.globl aio_fsync
599.type aio_fsync, @function;
600aio_fsync:
601.weak aio_fsync64
602.type aio_fsync64, @function;
603aio_fsync64:
604.globl aio_read
605.type aio_read, @function;
606aio_read:
607.weak aio_read64
608.type aio_read64, @function;
609aio_read64:
610.globl aio_return
611.type aio_return, @function;
612aio_return:
613.weak aio_return64
614.type aio_return64, @function;
615aio_return64:
616.globl aio_suspend
617.type aio_suspend, @function;
618aio_suspend:
619.weak aio_suspend64
620.type aio_suspend64, @function;
621aio_suspend64:
622.globl aio_write
623.type aio_write, @function;
624aio_write:
625.weak aio_write64
626.type aio_write64, @function;
627aio_write64:
628.globl alarm
629.type alarm, @function;
630alarm:
631.globl aligned_alloc
632.type aligned_alloc, @function;
633aligned_alloc:
634.globl alphasort
635.type alphasort, @function;
636alphasort:
637.weak alphasort64
638.type alphasort64, @function;
639alphasort64:
640.globl arch_prctl
641.type arch_prctl, @function;
642arch_prctl:
643.globl asctime
644.type asctime, @function;
645asctime:
646.weak asctime_r
647.type asctime_r, @function;
648asctime_r:
649.globl asin
650.type asin, @function;
651asin:
652.globl asinf
653.type asinf, @function;
654asinf:
655.globl asinh
656.type asinh, @function;
657asinh:
658.globl asinhf
659.type asinhf, @function;
660asinhf:
661.globl asinhl
662.type asinhl, @function;
663asinhl:
664.globl asinl
665.type asinl, @function;
666asinl:
667.globl asprintf
668.type asprintf, @function;
669asprintf:
670.globl at_quick_exit
671.type at_quick_exit, @function;
672at_quick_exit:
673.globl atan
674.type atan, @function;
675atan:
676.globl atan2
677.type atan2, @function;
678atan2:
679.globl atan2f
680.type atan2f, @function;
681atan2f:
682.globl atan2l
683.type atan2l, @function;
684atan2l:
685.globl atanf
686.type atanf, @function;
687atanf:
688.globl atanh
689.type atanh, @function;
690atanh:
691.globl atanhf
692.type atanhf, @function;
693atanhf:
694.globl atanhl
695.type atanhl, @function;
696atanhl:
697.globl atanl
698.type atanl, @function;
699atanl:
700.globl atexit
701.type atexit, @function;
702atexit:
703.globl atof
704.type atof, @function;
705atof:
706.globl atoi
707.type atoi, @function;
708atoi:
709.globl atol
710.type atol, @function;
711atol:
712.globl atoll
713.type atoll, @function;
714atoll:
715.globl basename
716.type basename, @function;
717basename:
718.globl bcmp
719.type bcmp, @function;
720bcmp:
721.globl bcopy
722.type bcopy, @function;
723bcopy:
724.globl bind
725.type bind, @function;
726bind:
727.globl bind_textdomain_codeset
728.type bind_textdomain_codeset, @function;
729bind_textdomain_codeset:
730.globl bindtextdomain
731.type bindtextdomain, @function;
732bindtextdomain:
733.globl brk
734.type brk, @function;
735brk:
736.weak bsd_signal
737.type bsd_signal, @function;
738bsd_signal:
739.globl bsearch
740.type bsearch, @function;
741bsearch:
742.globl btowc
743.type btowc, @function;
744btowc:
745.globl bzero
746.type bzero, @function;
747bzero:
748.globl c16rtomb
749.type c16rtomb, @function;
750c16rtomb:
751.globl c32rtomb
752.type c32rtomb, @function;
753c32rtomb:
754.globl cabs
755.type cabs, @function;
756cabs:
757.globl cabsf
758.type cabsf, @function;
759cabsf:
760.globl cabsl
761.type cabsl, @function;
762cabsl:
763.globl cacos
764.type cacos, @function;
765cacos:
766.globl cacosf
767.type cacosf, @function;
768cacosf:
769.globl cacosh
770.type cacosh, @function;
771cacosh:
772.globl cacoshf
773.type cacoshf, @function;
774cacoshf:
775.globl cacoshl
776.type cacoshl, @function;
777cacoshl:
778.globl cacosl
779.type cacosl, @function;
780cacosl:
781.globl call_once
782.type call_once, @function;
783call_once:
784.globl calloc
785.type calloc, @function;
786calloc:
787.globl capget
788.type capget, @function;
789capget:
790.globl capset
791.type capset, @function;
792capset:
793.globl carg
794.type carg, @function;
795carg:
796.globl cargf
797.type cargf, @function;
798cargf:
799.globl cargl
800.type cargl, @function;
801cargl:
802.globl casin
803.type casin, @function;
804casin:
805.globl casinf
806.type casinf, @function;
807casinf:
808.globl casinh
809.type casinh, @function;
810casinh:
811.globl casinhf
812.type casinhf, @function;
813casinhf:
814.globl casinhl
815.type casinhl, @function;
816casinhl:
817.globl casinl
818.type casinl, @function;
819casinl:
820.globl catan
821.type catan, @function;
822catan:
823.globl catanf
824.type catanf, @function;
825catanf:
826.globl catanh
827.type catanh, @function;
828catanh:
829.globl catanhf
830.type catanhf, @function;
831catanhf:
832.globl catanhl
833.type catanhl, @function;
834catanhl:
835.globl catanl
836.type catanl, @function;
837catanl:
838.globl catclose
839.type catclose, @function;
840catclose:
841.globl catgets
842.type catgets, @function;
843catgets:
844.globl catopen
845.type catopen, @function;
846catopen:
847.globl cbrt
848.type cbrt, @function;
849cbrt:
850.globl cbrtf
851.type cbrtf, @function;
852cbrtf:
853.globl cbrtl
854.type cbrtl, @function;
855cbrtl:
856.globl ccos
857.type ccos, @function;
858ccos:
859.globl ccosf
860.type ccosf, @function;
861ccosf:
862.globl ccosh
863.type ccosh, @function;
864ccosh:
865.globl ccoshf
866.type ccoshf, @function;
867ccoshf:
868.globl ccoshl
869.type ccoshl, @function;
870ccoshl:
871.globl ccosl
872.type ccosl, @function;
873ccosl:
874.globl ceil
875.type ceil, @function;
876ceil:
877.globl ceilf
878.type ceilf, @function;
879ceilf:
880.globl ceill
881.type ceill, @function;
882ceill:
883.globl cexp
884.type cexp, @function;
885cexp:
886.globl cexpf
887.type cexpf, @function;
888cexpf:
889.globl cexpl
890.type cexpl, @function;
891cexpl:
892.globl cfgetispeed
893.type cfgetispeed, @function;
894cfgetispeed:
895.globl cfgetospeed
896.type cfgetospeed, @function;
897cfgetospeed:
898.globl cfmakeraw
899.type cfmakeraw, @function;
900cfmakeraw:
901.globl cfsetispeed
902.type cfsetispeed, @function;
903cfsetispeed:
904.globl cfsetospeed
905.type cfsetospeed, @function;
906cfsetospeed:
907.weak cfsetspeed
908.type cfsetspeed, @function;
909cfsetspeed:
910.globl chdir
911.type chdir, @function;
912chdir:
913.globl chmod
914.type chmod, @function;
915chmod:
916.globl chown
917.type chown, @function;
918chown:
919.globl chroot
920.type chroot, @function;
921chroot:
922.globl cimag
923.type cimag, @function;
924cimag:
925.globl cimagf
926.type cimagf, @function;
927cimagf:
928.globl cimagl
929.type cimagl, @function;
930cimagl:
931.globl clearenv
932.type clearenv, @function;
933clearenv:
934.globl clearerr
935.type clearerr, @function;
936clearerr:
937.weak clearerr_unlocked
938.type clearerr_unlocked, @function;
939clearerr_unlocked:
940.globl clock
941.type clock, @function;
942clock:
943.globl clock_adjtime
944.type clock_adjtime, @function;
945clock_adjtime:
946.globl clock_getcpuclockid
947.type clock_getcpuclockid, @function;
948clock_getcpuclockid:
949.globl clock_getres
950.type clock_getres, @function;
951clock_getres:
952.weak clock_gettime
953.type clock_gettime, @function;
954clock_gettime:
955.weak clock_nanosleep
956.type clock_nanosleep, @function;
957clock_nanosleep:
958.globl clock_settime
959.type clock_settime, @function;
960clock_settime:
961.globl clog
962.type clog, @function;
963clog:
964.globl clogf
965.type clogf, @function;
966clogf:
967.globl clogl
968.type clogl, @function;
969clogl:
970.globl clone
971.type clone, @function;
972clone:
973.globl close
974.type close, @function;
975close:
976.globl closedir
977.type closedir, @function;
978closedir:
979.globl closelog
980.type closelog, @function;
981closelog:
982.globl cnd_broadcast
983.type cnd_broadcast, @function;
984cnd_broadcast:
985.globl cnd_destroy
986.type cnd_destroy, @function;
987cnd_destroy:
988.globl cnd_init
989.type cnd_init, @function;
990cnd_init:
991.globl cnd_signal
992.type cnd_signal, @function;
993cnd_signal:
994.globl cnd_timedwait
995.type cnd_timedwait, @function;
996cnd_timedwait:
997.globl cnd_wait
998.type cnd_wait, @function;
999cnd_wait:
1000.globl confstr
1001.type confstr, @function;
1002confstr:
1003.globl conj
1004.type conj, @function;
1005conj:
1006.globl conjf
1007.type conjf, @function;
1008conjf:
1009.globl conjl
1010.type conjl, @function;
1011conjl:
1012.globl connect
1013.type connect, @function;
1014connect:
1015.globl copy_file_range
1016.type copy_file_range, @function;
1017copy_file_range:
1018.globl copysign
1019.type copysign, @function;
1020copysign:
1021.globl copysignf
1022.type copysignf, @function;
1023copysignf:
1024.globl copysignl
1025.type copysignl, @function;
1026copysignl:
1027.globl cos
1028.type cos, @function;
1029cos:
1030.globl cosf
1031.type cosf, @function;
1032cosf:
1033.globl cosh
1034.type cosh, @function;
1035cosh:
1036.globl coshf
1037.type coshf, @function;
1038coshf:
1039.globl coshl
1040.type coshl, @function;
1041coshl:
1042.globl cosl
1043.type cosl, @function;
1044cosl:
1045.globl cpow
1046.type cpow, @function;
1047cpow:
1048.globl cpowf
1049.type cpowf, @function;
1050cpowf:
1051.globl cpowl
1052.type cpowl, @function;
1053cpowl:
1054.globl cproj
1055.type cproj, @function;
1056cproj:
1057.globl cprojf
1058.type cprojf, @function;
1059cprojf:
1060.globl cprojl
1061.type cprojl, @function;
1062cprojl:
1063.globl creal
1064.type creal, @function;
1065creal:
1066.globl crealf
1067.type crealf, @function;
1068crealf:
1069.globl creall
1070.type creall, @function;
1071creall:
1072.globl creat
1073.type creat, @function;
1074creat:
1075.weak creat64
1076.type creat64, @function;
1077creat64:
1078.globl crypt
1079.type crypt, @function;
1080crypt:
1081.weak crypt_r
1082.type crypt_r, @function;
1083crypt_r:
1084.globl csin
1085.type csin, @function;
1086csin:
1087.globl csinf
1088.type csinf, @function;
1089csinf:
1090.globl csinh
1091.type csinh, @function;
1092csinh:
1093.globl csinhf
1094.type csinhf, @function;
1095csinhf:
1096.globl csinhl
1097.type csinhl, @function;
1098csinhl:
1099.globl csinl
1100.type csinl, @function;
1101csinl:
1102.globl csqrt
1103.type csqrt, @function;
1104csqrt:
1105.globl csqrtf
1106.type csqrtf, @function;
1107csqrtf:
1108.globl csqrtl
1109.type csqrtl, @function;
1110csqrtl:
1111.globl ctan
1112.type ctan, @function;
1113ctan:
1114.globl ctanf
1115.type ctanf, @function;
1116ctanf:
1117.globl ctanh
1118.type ctanh, @function;
1119ctanh:
1120.globl ctanhf
1121.type ctanhf, @function;
1122ctanhf:
1123.globl ctanhl
1124.type ctanhl, @function;
1125ctanhl:
1126.globl ctanl
1127.type ctanl, @function;
1128ctanl:
1129.globl ctermid
1130.type ctermid, @function;
1131ctermid:
1132.globl ctime
1133.type ctime, @function;
1134ctime:
1135.globl ctime_r
1136.type ctime_r, @function;
1137ctime_r:
1138.globl cuserid
1139.type cuserid, @function;
1140cuserid:
1141.globl daemon
1142.type daemon, @function;
1143daemon:
1144.globl dcgettext
1145.type dcgettext, @function;
1146dcgettext:
1147.globl dcngettext
1148.type dcngettext, @function;
1149dcngettext:
1150.globl delete_module
1151.type delete_module, @function;
1152delete_module:
1153.globl dgettext
1154.type dgettext, @function;
1155dgettext:
1156.globl difftime
1157.type difftime, @function;
1158difftime:
1159.globl dirfd
1160.type dirfd, @function;
1161dirfd:
1162.globl dirname
1163.type dirname, @function;
1164dirname:
1165.globl div
1166.type div, @function;
1167div:
1168.globl dl_iterate_phdr
1169.type dl_iterate_phdr, @function;
1170dl_iterate_phdr:
1171.globl dladdr
1172.type dladdr, @function;
1173dladdr:
1174.globl dlclose
1175.type dlclose, @function;
1176dlclose:
1177.globl dlerror
1178.type dlerror, @function;
1179dlerror:
1180.globl dlinfo
1181.type dlinfo, @function;
1182dlinfo:
1183.globl dlopen
1184.type dlopen, @function;
1185dlopen:
1186.globl dlsym
1187.type dlsym, @function;
1188dlsym:
1189.globl dn_comp
1190.type dn_comp, @function;
1191dn_comp:
1192.weak dn_expand
1193.type dn_expand, @function;
1194dn_expand:
1195.globl dn_skipname
1196.type dn_skipname, @function;
1197dn_skipname:
1198.globl dngettext
1199.type dngettext, @function;
1200dngettext:
1201.globl dprintf
1202.type dprintf, @function;
1203dprintf:
1204.globl drand48
1205.type drand48, @function;
1206drand48:
1207.weak drem
1208.type drem, @function;
1209drem:
1210.weak dremf
1211.type dremf, @function;
1212dremf:
1213.globl dup
1214.type dup, @function;
1215dup:
1216.globl dup2
1217.type dup2, @function;
1218dup2:
1219.weak dup3
1220.type dup3, @function;
1221dup3:
1222.weak duplocale
1223.type duplocale, @function;
1224duplocale:
1225.weak eaccess
1226.type eaccess, @function;
1227eaccess:
1228.globl ecvt
1229.type ecvt, @function;
1230ecvt:
1231.globl encrypt
1232.type encrypt, @function;
1233encrypt:
1234.weak endgrent
1235.type endgrent, @function;
1236endgrent:
1237.globl endhostent
1238.type endhostent, @function;
1239endhostent:
1240.globl endmntent
1241.type endmntent, @function;
1242endmntent:
1243.weak endnetent
1244.type endnetent, @function;
1245endnetent:
1246.globl endprotoent
1247.type endprotoent, @function;
1248endprotoent:
1249.weak endpwent
1250.type endpwent, @function;
1251endpwent:
1252.globl endservent
1253.type endservent, @function;
1254endservent:
1255.globl endspent
1256.type endspent, @function;
1257endspent:
1258.globl endusershell
1259.type endusershell, @function;
1260endusershell:
1261.weak endutent
1262.type endutent, @function;
1263endutent:
1264.globl endutxent
1265.type endutxent, @function;
1266endutxent:
1267.globl epoll_create
1268.type epoll_create, @function;
1269epoll_create:
1270.globl epoll_create1
1271.type epoll_create1, @function;
1272epoll_create1:
1273.globl epoll_ctl
1274.type epoll_ctl, @function;
1275epoll_ctl:
1276.globl epoll_pwait
1277.type epoll_pwait, @function;
1278epoll_pwait:
1279.globl epoll_wait
1280.type epoll_wait, @function;
1281epoll_wait:
1282.globl erand48
1283.type erand48, @function;
1284erand48:
1285.globl erf
1286.type erf, @function;
1287erf:
1288.globl erfc
1289.type erfc, @function;
1290erfc:
1291.globl erfcf
1292.type erfcf, @function;
1293erfcf:
1294.globl erfcl
1295.type erfcl, @function;
1296erfcl:
1297.globl erff
1298.type erff, @function;
1299erff:
1300.globl erfl
1301.type erfl, @function;
1302erfl:
1303.globl err
1304.type err, @function;
1305err:
1306.globl errx
1307.type errx, @function;
1308errx:
1309.globl ether_aton
1310.type ether_aton, @function;
1311ether_aton:
1312.globl ether_aton_r
1313.type ether_aton_r, @function;
1314ether_aton_r:
1315.globl ether_hostton
1316.type ether_hostton, @function;
1317ether_hostton:
1318.globl ether_line
1319.type ether_line, @function;
1320ether_line:
1321.globl ether_ntoa
1322.type ether_ntoa, @function;
1323ether_ntoa:
1324.globl ether_ntoa_r
1325.type ether_ntoa_r, @function;
1326ether_ntoa_r:
1327.globl ether_ntohost
1328.type ether_ntohost, @function;
1329ether_ntohost:
1330.globl euidaccess
1331.type euidaccess, @function;
1332euidaccess:
1333.globl eventfd
1334.type eventfd, @function;
1335eventfd:
1336.globl eventfd_read
1337.type eventfd_read, @function;
1338eventfd_read:
1339.globl eventfd_write
1340.type eventfd_write, @function;
1341eventfd_write:
1342.globl execl
1343.type execl, @function;
1344execl:
1345.globl execle
1346.type execle, @function;
1347execle:
1348.globl execlp
1349.type execlp, @function;
1350execlp:
1351.globl execv
1352.type execv, @function;
1353execv:
1354.globl execve
1355.type execve, @function;
1356execve:
1357.globl execvp
1358.type execvp, @function;
1359execvp:
1360.weak execvpe
1361.type execvpe, @function;
1362execvpe:
1363.globl exit
1364.type exit, @function;
1365exit:
1366.globl exp
1367.type exp, @function;
1368exp:
1369.globl exp10
1370.type exp10, @function;
1371exp10:
1372.globl exp10f
1373.type exp10f, @function;
1374exp10f:
1375.globl exp10l
1376.type exp10l, @function;
1377exp10l:
1378.globl exp2
1379.type exp2, @function;
1380exp2:
1381.globl exp2f
1382.type exp2f, @function;
1383exp2f:
1384.globl exp2l
1385.type exp2l, @function;
1386exp2l:
1387.globl expf
1388.type expf, @function;
1389expf:
1390.globl expl
1391.type expl, @function;
1392expl:
1393.globl explicit_bzero
1394.type explicit_bzero, @function;
1395explicit_bzero:
1396.globl expm1
1397.type expm1, @function;
1398expm1:
1399.globl expm1f
1400.type expm1f, @function;
1401expm1f:
1402.globl expm1l
1403.type expm1l, @function;
1404expm1l:
1405.globl fabs
1406.type fabs, @function;
1407fabs:
1408.globl fabsf
1409.type fabsf, @function;
1410fabsf:
1411.globl fabsl
1412.type fabsl, @function;
1413fabsl:
1414.globl faccessat
1415.type faccessat, @function;
1416faccessat:
1417.globl fallocate
1418.type fallocate, @function;
1419fallocate:
1420.weak fallocate64
1421.type fallocate64, @function;
1422fallocate64:
1423.globl fanotify_init
1424.type fanotify_init, @function;
1425fanotify_init:
1426.globl fanotify_mark
1427.type fanotify_mark, @function;
1428fanotify_mark:
1429.globl fchdir
1430.type fchdir, @function;
1431fchdir:
1432.globl fchmod
1433.type fchmod, @function;
1434fchmod:
1435.globl fchmodat
1436.type fchmodat, @function;
1437fchmodat:
1438.globl fchown
1439.type fchown, @function;
1440fchown:
1441.globl fchownat
1442.type fchownat, @function;
1443fchownat:
1444.globl fclose
1445.type fclose, @function;
1446fclose:
1447.globl fcntl
1448.type fcntl, @function;
1449fcntl:
1450.globl fcvt
1451.type fcvt, @function;
1452fcvt:
1453.globl fdatasync
1454.type fdatasync, @function;
1455fdatasync:
1456.globl fdim
1457.type fdim, @function;
1458fdim:
1459.globl fdimf
1460.type fdimf, @function;
1461fdimf:
1462.globl fdiml
1463.type fdiml, @function;
1464fdiml:
1465.weak fdopen
1466.type fdopen, @function;
1467fdopen:
1468.globl fdopendir
1469.type fdopendir, @function;
1470fdopendir:
1471.globl feclearexcept
1472.type feclearexcept, @function;
1473feclearexcept:
1474.globl fegetenv
1475.type fegetenv, @function;
1476fegetenv:
1477.globl fegetexceptflag
1478.type fegetexceptflag, @function;
1479fegetexceptflag:
1480.globl fegetround
1481.type fegetround, @function;
1482fegetround:
1483.globl feholdexcept
1484.type feholdexcept, @function;
1485feholdexcept:
1486.globl feof
1487.type feof, @function;
1488feof:
1489.weak feof_unlocked
1490.type feof_unlocked, @function;
1491feof_unlocked:
1492.globl feraiseexcept
1493.type feraiseexcept, @function;
1494feraiseexcept:
1495.globl ferror
1496.type ferror, @function;
1497ferror:
1498.weak ferror_unlocked
1499.type ferror_unlocked, @function;
1500ferror_unlocked:
1501.globl fesetenv
1502.type fesetenv, @function;
1503fesetenv:
1504.globl fesetexceptflag
1505.type fesetexceptflag, @function;
1506fesetexceptflag:
1507.globl fesetround
1508.type fesetround, @function;
1509fesetround:
1510.globl fetestexcept
1511.type fetestexcept, @function;
1512fetestexcept:
1513.globl feupdateenv
1514.type feupdateenv, @function;
1515feupdateenv:
1516.globl fexecve
1517.type fexecve, @function;
1518fexecve:
1519.globl fflush
1520.type fflush, @function;
1521fflush:
1522.weak fflush_unlocked
1523.type fflush_unlocked, @function;
1524fflush_unlocked:
1525.globl ffs
1526.type ffs, @function;
1527ffs:
1528.globl ffsl
1529.type ffsl, @function;
1530ffsl:
1531.globl ffsll
1532.type ffsll, @function;
1533ffsll:
1534.globl fgetc
1535.type fgetc, @function;
1536fgetc:
1537.weak fgetc_unlocked
1538.type fgetc_unlocked, @function;
1539fgetc_unlocked:
1540.globl fgetgrent
1541.type fgetgrent, @function;
1542fgetgrent:
1543.globl fgetln
1544.type fgetln, @function;
1545fgetln:
1546.globl fgetpos
1547.type fgetpos, @function;
1548fgetpos:
1549.weak fgetpos64
1550.type fgetpos64, @function;
1551fgetpos64:
1552.globl fgetpwent
1553.type fgetpwent, @function;
1554fgetpwent:
1555.globl fgets
1556.type fgets, @function;
1557fgets:
1558.weak fgets_unlocked
1559.type fgets_unlocked, @function;
1560fgets_unlocked:
1561.globl fgetspent
1562.type fgetspent, @function;
1563fgetspent:
1564.globl fgetwc
1565.type fgetwc, @function;
1566fgetwc:
1567.weak fgetwc_unlocked
1568.type fgetwc_unlocked, @function;
1569fgetwc_unlocked:
1570.globl fgetws
1571.type fgetws, @function;
1572fgetws:
1573.weak fgetws_unlocked
1574.type fgetws_unlocked, @function;
1575fgetws_unlocked:
1576.globl fgetxattr
1577.type fgetxattr, @function;
1578fgetxattr:
1579.globl fileno
1580.type fileno, @function;
1581fileno:
1582.weak fileno_unlocked
1583.type fileno_unlocked, @function;
1584fileno_unlocked:
1585.globl finite
1586.type finite, @function;
1587finite:
1588.globl finitef
1589.type finitef, @function;
1590finitef:
1591.globl flistxattr
1592.type flistxattr, @function;
1593flistxattr:
1594.globl flock
1595.type flock, @function;
1596flock:
1597.globl flockfile
1598.type flockfile, @function;
1599flockfile:
1600.globl floor
1601.type floor, @function;
1602floor:
1603.globl floorf
1604.type floorf, @function;
1605floorf:
1606.globl floorl
1607.type floorl, @function;
1608floorl:
1609.globl fma
1610.type fma, @function;
1611fma:
1612.globl fmaf
1613.type fmaf, @function;
1614fmaf:
1615.globl fmal
1616.type fmal, @function;
1617fmal:
1618.globl fmax
1619.type fmax, @function;
1620fmax:
1621.globl fmaxf
1622.type fmaxf, @function;
1623fmaxf:
1624.globl fmaxl
1625.type fmaxl, @function;
1626fmaxl:
1627.globl fmemopen
1628.type fmemopen, @function;
1629fmemopen:
1630.globl fmin
1631.type fmin, @function;
1632fmin:
1633.globl fminf
1634.type fminf, @function;
1635fminf:
1636.globl fminl
1637.type fminl, @function;
1638fminl:
1639.globl fmod
1640.type fmod, @function;
1641fmod:
1642.globl fmodf
1643.type fmodf, @function;
1644fmodf:
1645.globl fmodl
1646.type fmodl, @function;
1647fmodl:
1648.globl fmtmsg
1649.type fmtmsg, @function;
1650fmtmsg:
1651.globl fnmatch
1652.type fnmatch, @function;
1653fnmatch:
1654.globl fopen
1655.type fopen, @function;
1656fopen:
1657.weak fopen64
1658.type fopen64, @function;
1659fopen64:
1660.globl fopencookie
1661.type fopencookie, @function;
1662fopencookie:
1663.globl fork
1664.type fork, @function;
1665fork:
1666.globl forkpty
1667.type forkpty, @function;
1668forkpty:
1669.globl fpathconf
1670.type fpathconf, @function;
1671fpathconf:
1672.globl fprintf
1673.type fprintf, @function;
1674fprintf:
1675.weak fpurge
1676.type fpurge, @function;
1677fpurge:
1678.globl fputc
1679.type fputc, @function;
1680fputc:
1681.weak fputc_unlocked
1682.type fputc_unlocked, @function;
1683fputc_unlocked:
1684.globl fputs
1685.type fputs, @function;
1686fputs:
1687.weak fputs_unlocked
1688.type fputs_unlocked, @function;
1689fputs_unlocked:
1690.globl fputwc
1691.type fputwc, @function;
1692fputwc:
1693.weak fputwc_unlocked
1694.type fputwc_unlocked, @function;
1695fputwc_unlocked:
1696.globl fputws
1697.type fputws, @function;
1698fputws:
1699.weak fputws_unlocked
1700.type fputws_unlocked, @function;
1701fputws_unlocked:
1702.globl fread
1703.type fread, @function;
1704fread:
1705.weak fread_unlocked
1706.type fread_unlocked, @function;
1707fread_unlocked:
1708.globl free
1709.type free, @function;
1710free:
1711.globl freeaddrinfo
1712.type freeaddrinfo, @function;
1713freeaddrinfo:
1714.globl freeifaddrs
1715.type freeifaddrs, @function;
1716freeifaddrs:
1717.globl freelocale
1718.type freelocale, @function;
1719freelocale:
1720.globl fremovexattr
1721.type fremovexattr, @function;
1722fremovexattr:
1723.globl freopen
1724.type freopen, @function;
1725freopen:
1726.weak freopen64
1727.type freopen64, @function;
1728freopen64:
1729.globl frexp
1730.type frexp, @function;
1731frexp:
1732.globl frexpf
1733.type frexpf, @function;
1734frexpf:
1735.globl frexpl
1736.type frexpl, @function;
1737frexpl:
1738.globl fscanf
1739.type fscanf, @function;
1740fscanf:
1741.globl fseek
1742.type fseek, @function;
1743fseek:
1744.weak fseeko
1745.type fseeko, @function;
1746fseeko:
1747.weak fseeko64
1748.type fseeko64, @function;
1749fseeko64:
1750.globl fsetpos
1751.type fsetpos, @function;
1752fsetpos:
1753.weak fsetpos64
1754.type fsetpos64, @function;
1755fsetpos64:
1756.globl fsetxattr
1757.type fsetxattr, @function;
1758fsetxattr:
1759.globl fstat
1760.type fstat, @function;
1761fstat:
1762.weak fstat64
1763.type fstat64, @function;
1764fstat64:
1765.globl fstatat
1766.type fstatat, @function;
1767fstatat:
1768.weak fstatat64
1769.type fstatat64, @function;
1770fstatat64:
1771.weak fstatfs
1772.type fstatfs, @function;
1773fstatfs:
1774.weak fstatfs64
1775.type fstatfs64, @function;
1776fstatfs64:
1777.globl fstatvfs
1778.type fstatvfs, @function;
1779fstatvfs:
1780.weak fstatvfs64
1781.type fstatvfs64, @function;
1782fstatvfs64:
1783.globl fsync
1784.type fsync, @function;
1785fsync:
1786.globl ftell
1787.type ftell, @function;
1788ftell:
1789.weak ftello
1790.type ftello, @function;
1791ftello:
1792.weak ftello64
1793.type ftello64, @function;
1794ftello64:
1795.globl ftime
1796.type ftime, @function;
1797ftime:
1798.globl ftok
1799.type ftok, @function;
1800ftok:
1801.globl ftruncate
1802.type ftruncate, @function;
1803ftruncate:
1804.weak ftruncate64
1805.type ftruncate64, @function;
1806ftruncate64:
1807.globl ftrylockfile
1808.type ftrylockfile, @function;
1809ftrylockfile:
1810.globl ftw
1811.type ftw, @function;
1812ftw:
1813.weak ftw64
1814.type ftw64, @function;
1815ftw64:
1816.globl funlockfile
1817.type funlockfile, @function;
1818funlockfile:
1819.globl futimens
1820.type futimens, @function;
1821futimens:
1822.globl futimes
1823.type futimes, @function;
1824futimes:
1825.weak futimesat
1826.type futimesat, @function;
1827futimesat:
1828.globl fwide
1829.type fwide, @function;
1830fwide:
1831.globl fwprintf
1832.type fwprintf, @function;
1833fwprintf:
1834.globl fwrite
1835.type fwrite, @function;
1836fwrite:
1837.weak fwrite_unlocked
1838.type fwrite_unlocked, @function;
1839fwrite_unlocked:
1840.globl fwscanf
1841.type fwscanf, @function;
1842fwscanf:
1843.globl gai_strerror
1844.type gai_strerror, @function;
1845gai_strerror:
1846.globl gcvt
1847.type gcvt, @function;
1848gcvt:
1849.globl get_avphys_pages
1850.type get_avphys_pages, @function;
1851get_avphys_pages:
1852.globl get_current_dir_name
1853.type get_current_dir_name, @function;
1854get_current_dir_name:
1855.globl get_nprocs
1856.type get_nprocs, @function;
1857get_nprocs:
1858.globl get_nprocs_conf
1859.type get_nprocs_conf, @function;
1860get_nprocs_conf:
1861.globl get_phys_pages
1862.type get_phys_pages, @function;
1863get_phys_pages:
1864.globl getaddrinfo
1865.type getaddrinfo, @function;
1866getaddrinfo:
1867.weak getauxval
1868.type getauxval, @function;
1869getauxval:
1870.globl getc
1871.type getc, @function;
1872getc:
1873.globl getc_unlocked
1874.type getc_unlocked, @function;
1875getc_unlocked:
1876.globl getchar
1877.type getchar, @function;
1878getchar:
1879.globl getchar_unlocked
1880.type getchar_unlocked, @function;
1881getchar_unlocked:
1882.globl getcwd
1883.type getcwd, @function;
1884getcwd:
1885.globl getdate
1886.type getdate, @function;
1887getdate:
1888.globl getdelim
1889.type getdelim, @function;
1890getdelim:
1891.globl getdents
1892.type getdents, @function;
1893getdents:
1894.weak getdents64
1895.type getdents64, @function;
1896getdents64:
1897.globl getdomainname
1898.type getdomainname, @function;
1899getdomainname:
1900.globl getdtablesize
1901.type getdtablesize, @function;
1902getdtablesize:
1903.globl getegid
1904.type getegid, @function;
1905getegid:
1906.globl getentropy
1907.type getentropy, @function;
1908getentropy:
1909.globl getenv
1910.type getenv, @function;
1911getenv:
1912.globl geteuid
1913.type geteuid, @function;
1914geteuid:
1915.globl getgid
1916.type getgid, @function;
1917getgid:
1918.globl getgrent
1919.type getgrent, @function;
1920getgrent:
1921.globl getgrgid
1922.type getgrgid, @function;
1923getgrgid:
1924.globl getgrgid_r
1925.type getgrgid_r, @function;
1926getgrgid_r:
1927.globl getgrnam
1928.type getgrnam, @function;
1929getgrnam:
1930.globl getgrnam_r
1931.type getgrnam_r, @function;
1932getgrnam_r:
1933.globl getgrouplist
1934.type getgrouplist, @function;
1935getgrouplist:
1936.globl getgroups
1937.type getgroups, @function;
1938getgroups:
1939.globl gethostbyaddr
1940.type gethostbyaddr, @function;
1941gethostbyaddr:
1942.globl gethostbyaddr_r
1943.type gethostbyaddr_r, @function;
1944gethostbyaddr_r:
1945.globl gethostbyname
1946.type gethostbyname, @function;
1947gethostbyname:
1948.globl gethostbyname2
1949.type gethostbyname2, @function;
1950gethostbyname2:
1951.globl gethostbyname2_r
1952.type gethostbyname2_r, @function;
1953gethostbyname2_r:
1954.globl gethostbyname_r
1955.type gethostbyname_r, @function;
1956gethostbyname_r:
1957.globl gethostent
1958.type gethostent, @function;
1959gethostent:
1960.globl gethostid
1961.type gethostid, @function;
1962gethostid:
1963.globl gethostname
1964.type gethostname, @function;
1965gethostname:
1966.globl getifaddrs
1967.type getifaddrs, @function;
1968getifaddrs:
1969.globl getitimer
1970.type getitimer, @function;
1971getitimer:
1972.globl getline
1973.type getline, @function;
1974getline:
1975.globl getloadavg
1976.type getloadavg, @function;
1977getloadavg:
1978.globl getlogin
1979.type getlogin, @function;
1980getlogin:
1981.globl getlogin_r
1982.type getlogin_r, @function;
1983getlogin_r:
1984.globl getmntent
1985.type getmntent, @function;
1986getmntent:
1987.globl getmntent_r
1988.type getmntent_r, @function;
1989getmntent_r:
1990.globl getnameinfo
1991.type getnameinfo, @function;
1992getnameinfo:
1993.globl getnetbyaddr
1994.type getnetbyaddr, @function;
1995getnetbyaddr:
1996.globl getnetbyname
1997.type getnetbyname, @function;
1998getnetbyname:
1999.globl getnetent
2000.type getnetent, @function;
2001getnetent:
2002.globl getopt
2003.type getopt, @function;
2004getopt:
2005.globl getopt_long
2006.type getopt_long, @function;
2007getopt_long:
2008.globl getopt_long_only
2009.type getopt_long_only, @function;
2010getopt_long_only:
2011.globl getpagesize
2012.type getpagesize, @function;
2013getpagesize:
2014.globl getpass
2015.type getpass, @function;
2016getpass:
2017.globl getpeername
2018.type getpeername, @function;
2019getpeername:
2020.globl getpgid
2021.type getpgid, @function;
2022getpgid:
2023.globl getpgrp
2024.type getpgrp, @function;
2025getpgrp:
2026.globl getpid
2027.type getpid, @function;
2028getpid:
2029.globl getppid
2030.type getppid, @function;
2031getppid:
2032.globl getpriority
2033.type getpriority, @function;
2034getpriority:
2035.globl getprotobyname
2036.type getprotobyname, @function;
2037getprotobyname:
2038.globl getprotobynumber
2039.type getprotobynumber, @function;
2040getprotobynumber:
2041.globl getprotoent
2042.type getprotoent, @function;
2043getprotoent:
2044.globl getpwent
2045.type getpwent, @function;
2046getpwent:
2047.globl getpwnam
2048.type getpwnam, @function;
2049getpwnam:
2050.globl getpwnam_r
2051.type getpwnam_r, @function;
2052getpwnam_r:
2053.globl getpwuid
2054.type getpwuid, @function;
2055getpwuid:
2056.globl getpwuid_r
2057.type getpwuid_r, @function;
2058getpwuid_r:
2059.globl getrandom
2060.type getrandom, @function;
2061getrandom:
2062.globl getresgid
2063.type getresgid, @function;
2064getresgid:
2065.globl getresuid
2066.type getresuid, @function;
2067getresuid:
2068.globl getrlimit
2069.type getrlimit, @function;
2070getrlimit:
2071.weak getrlimit64
2072.type getrlimit64, @function;
2073getrlimit64:
2074.globl getrusage
2075.type getrusage, @function;
2076getrusage:
2077.globl gets
2078.type gets, @function;
2079gets:
2080.globl getservbyname
2081.type getservbyname, @function;
2082getservbyname:
2083.globl getservbyname_r
2084.type getservbyname_r, @function;
2085getservbyname_r:
2086.globl getservbyport
2087.type getservbyport, @function;
2088getservbyport:
2089.globl getservbyport_r
2090.type getservbyport_r, @function;
2091getservbyport_r:
2092.globl getservent
2093.type getservent, @function;
2094getservent:
2095.globl getsid
2096.type getsid, @function;
2097getsid:
2098.globl getsockname
2099.type getsockname, @function;
2100getsockname:
2101.globl getsockopt
2102.type getsockopt, @function;
2103getsockopt:
2104.globl getspent
2105.type getspent, @function;
2106getspent:
2107.globl getspnam
2108.type getspnam, @function;
2109getspnam:
2110.globl getspnam_r
2111.type getspnam_r, @function;
2112getspnam_r:
2113.globl getsubopt
2114.type getsubopt, @function;
2115getsubopt:
2116.globl gettext
2117.type gettext, @function;
2118gettext:
2119.globl gettimeofday
2120.type gettimeofday, @function;
2121gettimeofday:
2122.globl getuid
2123.type getuid, @function;
2124getuid:
2125.globl getusershell
2126.type getusershell, @function;
2127getusershell:
2128.weak getutent
2129.type getutent, @function;
2130getutent:
2131.weak getutid
2132.type getutid, @function;
2133getutid:
2134.weak getutline
2135.type getutline, @function;
2136getutline:
2137.globl getutxent
2138.type getutxent, @function;
2139getutxent:
2140.globl getutxid
2141.type getutxid, @function;
2142getutxid:
2143.globl getutxline
2144.type getutxline, @function;
2145getutxline:
2146.globl getw
2147.type getw, @function;
2148getw:
2149.globl getwc
2150.type getwc, @function;
2151getwc:
2152.weak getwc_unlocked
2153.type getwc_unlocked, @function;
2154getwc_unlocked:
2155.globl getwchar
2156.type getwchar, @function;
2157getwchar:
2158.weak getwchar_unlocked
2159.type getwchar_unlocked, @function;
2160getwchar_unlocked:
2161.globl getxattr
2162.type getxattr, @function;
2163getxattr:
2164.globl glob
2165.type glob, @function;
2166glob:
2167.weak glob64
2168.type glob64, @function;
2169glob64:
2170.globl globfree
2171.type globfree, @function;
2172globfree:
2173.weak globfree64
2174.type globfree64, @function;
2175globfree64:
2176.globl gmtime
2177.type gmtime, @function;
2178gmtime:
2179.weak gmtime_r
2180.type gmtime_r, @function;
2181gmtime_r:
2182.globl grantpt
2183.type grantpt, @function;
2184grantpt:
2185.globl hasmntopt
2186.type hasmntopt, @function;
2187hasmntopt:
2188.globl hcreate
2189.type hcreate, @function;
2190hcreate:
2191.weak hcreate_r
2192.type hcreate_r, @function;
2193hcreate_r:
2194.globl hdestroy
2195.type hdestroy, @function;
2196hdestroy:
2197.weak hdestroy_r
2198.type hdestroy_r, @function;
2199hdestroy_r:
2200.globl herror
2201.type herror, @function;
2202herror:
2203.globl hsearch
2204.type hsearch, @function;
2205hsearch:
2206.weak hsearch_r
2207.type hsearch_r, @function;
2208hsearch_r:
2209.globl hstrerror
2210.type hstrerror, @function;
2211hstrerror:
2212.globl htonl
2213.type htonl, @function;
2214htonl:
2215.globl htons
2216.type htons, @function;
2217htons:
2218.globl hypot
2219.type hypot, @function;
2220hypot:
2221.globl hypotf
2222.type hypotf, @function;
2223hypotf:
2224.globl hypotl
2225.type hypotl, @function;
2226hypotl:
2227.globl iconv
2228.type iconv, @function;
2229iconv:
2230.globl iconv_close
2231.type iconv_close, @function;
2232iconv_close:
2233.globl iconv_open
2234.type iconv_open, @function;
2235iconv_open:
2236.globl if_freenameindex
2237.type if_freenameindex, @function;
2238if_freenameindex:
2239.globl if_indextoname
2240.type if_indextoname, @function;
2241if_indextoname:
2242.globl if_nameindex
2243.type if_nameindex, @function;
2244if_nameindex:
2245.globl if_nametoindex
2246.type if_nametoindex, @function;
2247if_nametoindex:
2248.globl ilogb
2249.type ilogb, @function;
2250ilogb:
2251.globl ilogbf
2252.type ilogbf, @function;
2253ilogbf:
2254.globl ilogbl
2255.type ilogbl, @function;
2256ilogbl:
2257.globl imaxabs
2258.type imaxabs, @function;
2259imaxabs:
2260.globl imaxdiv
2261.type imaxdiv, @function;
2262imaxdiv:
2263.globl index
2264.type index, @function;
2265index:
2266.globl inet_addr
2267.type inet_addr, @function;
2268inet_addr:
2269.weak inet_aton
2270.type inet_aton, @function;
2271inet_aton:
2272.globl inet_lnaof
2273.type inet_lnaof, @function;
2274inet_lnaof:
2275.globl inet_makeaddr
2276.type inet_makeaddr, @function;
2277inet_makeaddr:
2278.globl inet_netof
2279.type inet_netof, @function;
2280inet_netof:
2281.globl inet_network
2282.type inet_network, @function;
2283inet_network:
2284.globl inet_ntoa
2285.type inet_ntoa, @function;
2286inet_ntoa:
2287.globl inet_ntop
2288.type inet_ntop, @function;
2289inet_ntop:
2290.globl inet_pton
2291.type inet_pton, @function;
2292inet_pton:
2293.globl init_module
2294.type init_module, @function;
2295init_module:
2296.globl initgroups
2297.type initgroups, @function;
2298initgroups:
2299.globl initstate
2300.type initstate, @function;
2301initstate:
2302.globl inotify_add_watch
2303.type inotify_add_watch, @function;
2304inotify_add_watch:
2305.globl inotify_init
2306.type inotify_init, @function;
2307inotify_init:
2308.globl inotify_init1
2309.type inotify_init1, @function;
2310inotify_init1:
2311.globl inotify_rm_watch
2312.type inotify_rm_watch, @function;
2313inotify_rm_watch:
2314.globl insque
2315.type insque, @function;
2316insque:
2317.globl ioctl
2318.type ioctl, @function;
2319ioctl:
2320.globl ioperm
2321.type ioperm, @function;
2322ioperm:
2323.globl iopl
2324.type iopl, @function;
2325iopl:
2326.globl isalnum
2327.type isalnum, @function;
2328isalnum:
2329.weak isalnum_l
2330.type isalnum_l, @function;
2331isalnum_l:
2332.globl isalpha
2333.type isalpha, @function;
2334isalpha:
2335.weak isalpha_l
2336.type isalpha_l, @function;
2337isalpha_l:
2338.globl isascii
2339.type isascii, @function;
2340isascii:
2341.globl isastream
2342.type isastream, @function;
2343isastream:
2344.globl isatty
2345.type isatty, @function;
2346isatty:
2347.globl isblank
2348.type isblank, @function;
2349isblank:
2350.weak isblank_l
2351.type isblank_l, @function;
2352isblank_l:
2353.globl iscntrl
2354.type iscntrl, @function;
2355iscntrl:
2356.weak iscntrl_l
2357.type iscntrl_l, @function;
2358iscntrl_l:
2359.globl isdigit
2360.type isdigit, @function;
2361isdigit:
2362.weak isdigit_l
2363.type isdigit_l, @function;
2364isdigit_l:
2365.globl isgraph
2366.type isgraph, @function;
2367isgraph:
2368.weak isgraph_l
2369.type isgraph_l, @function;
2370isgraph_l:
2371.globl islower
2372.type islower, @function;
2373islower:
2374.weak islower_l
2375.type islower_l, @function;
2376islower_l:
2377.globl isprint
2378.type isprint, @function;
2379isprint:
2380.weak isprint_l
2381.type isprint_l, @function;
2382isprint_l:
2383.globl ispunct
2384.type ispunct, @function;
2385ispunct:
2386.weak ispunct_l
2387.type ispunct_l, @function;
2388ispunct_l:
2389.globl issetugid
2390.type issetugid, @function;
2391issetugid:
2392.globl isspace
2393.type isspace, @function;
2394isspace:
2395.weak isspace_l
2396.type isspace_l, @function;
2397isspace_l:
2398.globl isupper
2399.type isupper, @function;
2400isupper:
2401.weak isupper_l
2402.type isupper_l, @function;
2403isupper_l:
2404.globl iswalnum
2405.type iswalnum, @function;
2406iswalnum:
2407.weak iswalnum_l
2408.type iswalnum_l, @function;
2409iswalnum_l:
2410.globl iswalpha
2411.type iswalpha, @function;
2412iswalpha:
2413.weak iswalpha_l
2414.type iswalpha_l, @function;
2415iswalpha_l:
2416.globl iswblank
2417.type iswblank, @function;
2418iswblank:
2419.weak iswblank_l
2420.type iswblank_l, @function;
2421iswblank_l:
2422.globl iswcntrl
2423.type iswcntrl, @function;
2424iswcntrl:
2425.weak iswcntrl_l
2426.type iswcntrl_l, @function;
2427iswcntrl_l:
2428.globl iswctype
2429.type iswctype, @function;
2430iswctype:
2431.weak iswctype_l
2432.type iswctype_l, @function;
2433iswctype_l:
2434.globl iswdigit
2435.type iswdigit, @function;
2436iswdigit:
2437.weak iswdigit_l
2438.type iswdigit_l, @function;
2439iswdigit_l:
2440.globl iswgraph
2441.type iswgraph, @function;
2442iswgraph:
2443.weak iswgraph_l
2444.type iswgraph_l, @function;
2445iswgraph_l:
2446.globl iswlower
2447.type iswlower, @function;
2448iswlower:
2449.weak iswlower_l
2450.type iswlower_l, @function;
2451iswlower_l:
2452.globl iswprint
2453.type iswprint, @function;
2454iswprint:
2455.weak iswprint_l
2456.type iswprint_l, @function;
2457iswprint_l:
2458.globl iswpunct
2459.type iswpunct, @function;
2460iswpunct:
2461.weak iswpunct_l
2462.type iswpunct_l, @function;
2463iswpunct_l:
2464.globl iswspace
2465.type iswspace, @function;
2466iswspace:
2467.weak iswspace_l
2468.type iswspace_l, @function;
2469iswspace_l:
2470.globl iswupper
2471.type iswupper, @function;
2472iswupper:
2473.weak iswupper_l
2474.type iswupper_l, @function;
2475iswupper_l:
2476.globl iswxdigit
2477.type iswxdigit, @function;
2478iswxdigit:
2479.weak iswxdigit_l
2480.type iswxdigit_l, @function;
2481iswxdigit_l:
2482.globl isxdigit
2483.type isxdigit, @function;
2484isxdigit:
2485.weak isxdigit_l
2486.type isxdigit_l, @function;
2487isxdigit_l:
2488.globl j0
2489.type j0, @function;
2490j0:
2491.globl j0f
2492.type j0f, @function;
2493j0f:
2494.globl j1
2495.type j1, @function;
2496j1:
2497.globl j1f
2498.type j1f, @function;
2499j1f:
2500.globl jn
2501.type jn, @function;
2502jn:
2503.globl jnf
2504.type jnf, @function;
2505jnf:
2506.globl jrand48
2507.type jrand48, @function;
2508jrand48:
2509.globl kill
2510.type kill, @function;
2511kill:
2512.globl killpg
2513.type killpg, @function;
2514killpg:
2515.globl klogctl
2516.type klogctl, @function;
2517klogctl:
2518.globl l64a
2519.type l64a, @function;
2520l64a:
2521.globl labs
2522.type labs, @function;
2523labs:
2524.globl lchmod
2525.type lchmod, @function;
2526lchmod:
2527.globl lchown
2528.type lchown, @function;
2529lchown:
2530.globl lckpwdf
2531.type lckpwdf, @function;
2532lckpwdf:
2533.globl lcong48
2534.type lcong48, @function;
2535lcong48:
2536.globl ldexp
2537.type ldexp, @function;
2538ldexp:
2539.globl ldexpf
2540.type ldexpf, @function;
2541ldexpf:
2542.globl ldexpl
2543.type ldexpl, @function;
2544ldexpl:
2545.globl ldiv
2546.type ldiv, @function;
2547ldiv:
2548.globl lfind
2549.type lfind, @function;
2550lfind:
2551.globl lgamma
2552.type lgamma, @function;
2553lgamma:
2554.weak lgamma_r
2555.type lgamma_r, @function;
2556lgamma_r:
2557.globl lgammaf
2558.type lgammaf, @function;
2559lgammaf:
2560.weak lgammaf_r
2561.type lgammaf_r, @function;
2562lgammaf_r:
2563.globl lgammal
2564.type lgammal, @function;
2565lgammal:
2566.weak lgammal_r
2567.type lgammal_r, @function;
2568lgammal_r:
2569.globl lgetxattr
2570.type lgetxattr, @function;
2571lgetxattr:
2572.globl link
2573.type link, @function;
2574link:
2575.globl linkat
2576.type linkat, @function;
2577linkat:
2578.globl lio_listio
2579.type lio_listio, @function;
2580lio_listio:
2581.weak lio_listio64
2582.type lio_listio64, @function;
2583lio_listio64:
2584.globl listen
2585.type listen, @function;
2586listen:
2587.globl listxattr
2588.type listxattr, @function;
2589listxattr:
2590.globl llabs
2591.type llabs, @function;
2592llabs:
2593.globl lldiv
2594.type lldiv, @function;
2595lldiv:
2596.globl llistxattr
2597.type llistxattr, @function;
2598llistxattr:
2599.globl llrint
2600.type llrint, @function;
2601llrint:
2602.globl llrintf
2603.type llrintf, @function;
2604llrintf:
2605.globl llrintl
2606.type llrintl, @function;
2607llrintl:
2608.globl llround
2609.type llround, @function;
2610llround:
2611.globl llroundf
2612.type llroundf, @function;
2613llroundf:
2614.globl llroundl
2615.type llroundl, @function;
2616llroundl:
2617.globl localeconv
2618.type localeconv, @function;
2619localeconv:
2620.globl localtime
2621.type localtime, @function;
2622localtime:
2623.weak localtime_r
2624.type localtime_r, @function;
2625localtime_r:
2626.globl lockf
2627.type lockf, @function;
2628lockf:
2629.weak lockf64
2630.type lockf64, @function;
2631lockf64:
2632.globl log
2633.type log, @function;
2634log:
2635.globl log10
2636.type log10, @function;
2637log10:
2638.globl log10f
2639.type log10f, @function;
2640log10f:
2641.globl log10l
2642.type log10l, @function;
2643log10l:
2644.globl log1p
2645.type log1p, @function;
2646log1p:
2647.globl log1pf
2648.type log1pf, @function;
2649log1pf:
2650.globl log1pl
2651.type log1pl, @function;
2652log1pl:
2653.globl log2
2654.type log2, @function;
2655log2:
2656.globl log2f
2657.type log2f, @function;
2658log2f:
2659.globl log2l
2660.type log2l, @function;
2661log2l:
2662.globl logb
2663.type logb, @function;
2664logb:
2665.globl logbf
2666.type logbf, @function;
2667logbf:
2668.globl logbl
2669.type logbl, @function;
2670logbl:
2671.globl logf
2672.type logf, @function;
2673logf:
2674.globl login_tty
2675.type login_tty, @function;
2676login_tty:
2677.globl logl
2678.type logl, @function;
2679logl:
2680.globl longjmp
2681.type longjmp, @function;
2682longjmp:
2683.globl lrand48
2684.type lrand48, @function;
2685lrand48:
2686.globl lremovexattr
2687.type lremovexattr, @function;
2688lremovexattr:
2689.globl lrint
2690.type lrint, @function;
2691lrint:
2692.globl lrintf
2693.type lrintf, @function;
2694lrintf:
2695.globl lrintl
2696.type lrintl, @function;
2697lrintl:
2698.globl lround
2699.type lround, @function;
2700lround:
2701.globl lroundf
2702.type lroundf, @function;
2703lroundf:
2704.globl lroundl
2705.type lroundl, @function;
2706lroundl:
2707.globl lsearch
2708.type lsearch, @function;
2709lsearch:
2710.weak lseek
2711.type lseek, @function;
2712lseek:
2713.weak lseek64
2714.type lseek64, @function;
2715lseek64:
2716.globl lsetxattr
2717.type lsetxattr, @function;
2718lsetxattr:
2719.globl lstat
2720.type lstat, @function;
2721lstat:
2722.weak lstat64
2723.type lstat64, @function;
2724lstat64:
2725.globl lutimes
2726.type lutimes, @function;
2727lutimes:
2728.weak madvise
2729.type madvise, @function;
2730madvise:
2731.globl malloc
2732.type malloc, @function;
2733malloc:
2734.globl malloc_usable_size
2735.type malloc_usable_size, @function;
2736malloc_usable_size:
2737.globl mblen
2738.type mblen, @function;
2739mblen:
2740.globl mbrlen
2741.type mbrlen, @function;
2742mbrlen:
2743.globl mbrtoc16
2744.type mbrtoc16, @function;
2745mbrtoc16:
2746.globl mbrtoc32
2747.type mbrtoc32, @function;
2748mbrtoc32:
2749.globl mbrtowc
2750.type mbrtowc, @function;
2751mbrtowc:
2752.globl mbsinit
2753.type mbsinit, @function;
2754mbsinit:
2755.globl mbsnrtowcs
2756.type mbsnrtowcs, @function;
2757mbsnrtowcs:
2758.globl mbsrtowcs
2759.type mbsrtowcs, @function;
2760mbsrtowcs:
2761.globl mbstowcs
2762.type mbstowcs, @function;
2763mbstowcs:
2764.globl mbtowc
2765.type mbtowc, @function;
2766mbtowc:
2767.globl memalign
2768.type memalign, @function;
2769memalign:
2770.weak membarrier
2771.type membarrier, @function;
2772membarrier:
2773.globl memccpy
2774.type memccpy, @function;
2775memccpy:
2776.globl memchr
2777.type memchr, @function;
2778memchr:
2779.globl memcmp
2780.type memcmp, @function;
2781memcmp:
2782.globl memcpy
2783.type memcpy, @function;
2784memcpy:
2785.globl memfd_create
2786.type memfd_create, @function;
2787memfd_create:
2788.globl memmem
2789.type memmem, @function;
2790memmem:
2791.globl memmove
2792.type memmove, @function;
2793memmove:
2794.globl mempcpy
2795.type mempcpy, @function;
2796mempcpy:
2797.weak memrchr
2798.type memrchr, @function;
2799memrchr:
2800.globl memset
2801.type memset, @function;
2802memset:
2803.globl mincore
2804.type mincore, @function;
2805mincore:
2806.globl mkdir
2807.type mkdir, @function;
2808mkdir:
2809.globl mkdirat
2810.type mkdirat, @function;
2811mkdirat:
2812.globl mkdtemp
2813.type mkdtemp, @function;
2814mkdtemp:
2815.globl mkfifo
2816.type mkfifo, @function;
2817mkfifo:
2818.globl mkfifoat
2819.type mkfifoat, @function;
2820mkfifoat:
2821.globl mknod
2822.type mknod, @function;
2823mknod:
2824.globl mknodat
2825.type mknodat, @function;
2826mknodat:
2827.globl mkostemp
2828.type mkostemp, @function;
2829mkostemp:
2830.weak mkostemp64
2831.type mkostemp64, @function;
2832mkostemp64:
2833.weak mkostemps
2834.type mkostemps, @function;
2835mkostemps:
2836.weak mkostemps64
2837.type mkostemps64, @function;
2838mkostemps64:
2839.globl mkstemp
2840.type mkstemp, @function;
2841mkstemp:
2842.weak mkstemp64
2843.type mkstemp64, @function;
2844mkstemp64:
2845.globl mkstemps
2846.type mkstemps, @function;
2847mkstemps:
2848.weak mkstemps64
2849.type mkstemps64, @function;
2850mkstemps64:
2851.globl mktemp
2852.type mktemp, @function;
2853mktemp:
2854.globl mktime
2855.type mktime, @function;
2856mktime:
2857.globl mlock
2858.type mlock, @function;
2859mlock:
2860.globl mlock2
2861.type mlock2, @function;
2862mlock2:
2863.globl mlockall
2864.type mlockall, @function;
2865mlockall:
2866.weak mmap
2867.type mmap, @function;
2868mmap:
2869.weak mmap64
2870.type mmap64, @function;
2871mmap64:
2872.globl modf
2873.type modf, @function;
2874modf:
2875.globl modff
2876.type modff, @function;
2877modff:
2878.globl modfl
2879.type modfl, @function;
2880modfl:
2881.globl mount
2882.type mount, @function;
2883mount:
2884.weak mprotect
2885.type mprotect, @function;
2886mprotect:
2887.globl mq_close
2888.type mq_close, @function;
2889mq_close:
2890.globl mq_getattr
2891.type mq_getattr, @function;
2892mq_getattr:
2893.globl mq_notify
2894.type mq_notify, @function;
2895mq_notify:
2896.globl mq_open
2897.type mq_open, @function;
2898mq_open:
2899.globl mq_receive
2900.type mq_receive, @function;
2901mq_receive:
2902.globl mq_send
2903.type mq_send, @function;
2904mq_send:
2905.globl mq_setattr
2906.type mq_setattr, @function;
2907mq_setattr:
2908.globl mq_timedreceive
2909.type mq_timedreceive, @function;
2910mq_timedreceive:
2911.globl mq_timedsend
2912.type mq_timedsend, @function;
2913mq_timedsend:
2914.globl mq_unlink
2915.type mq_unlink, @function;
2916mq_unlink:
2917.globl mrand48
2918.type mrand48, @function;
2919mrand48:
2920.weak mremap
2921.type mremap, @function;
2922mremap:
2923.globl msgctl
2924.type msgctl, @function;
2925msgctl:
2926.globl msgget
2927.type msgget, @function;
2928msgget:
2929.globl msgrcv
2930.type msgrcv, @function;
2931msgrcv:
2932.globl msgsnd
2933.type msgsnd, @function;
2934msgsnd:
2935.globl msync
2936.type msync, @function;
2937msync:
2938.globl mtx_destroy
2939.type mtx_destroy, @function;
2940mtx_destroy:
2941.globl mtx_init
2942.type mtx_init, @function;
2943mtx_init:
2944.globl mtx_lock
2945.type mtx_lock, @function;
2946mtx_lock:
2947.globl mtx_timedlock
2948.type mtx_timedlock, @function;
2949mtx_timedlock:
2950.globl mtx_trylock
2951.type mtx_trylock, @function;
2952mtx_trylock:
2953.globl mtx_unlock
2954.type mtx_unlock, @function;
2955mtx_unlock:
2956.globl munlock
2957.type munlock, @function;
2958munlock:
2959.globl munlockall
2960.type munlockall, @function;
2961munlockall:
2962.weak munmap
2963.type munmap, @function;
2964munmap:
2965.globl name_to_handle_at
2966.type name_to_handle_at, @function;
2967name_to_handle_at:
2968.globl nan
2969.type nan, @function;
2970nan:
2971.globl nanf
2972.type nanf, @function;
2973nanf:
2974.globl nanl
2975.type nanl, @function;
2976nanl:
2977.globl nanosleep
2978.type nanosleep, @function;
2979nanosleep:
2980.globl nearbyint
2981.type nearbyint, @function;
2982nearbyint:
2983.globl nearbyintf
2984.type nearbyintf, @function;
2985nearbyintf:
2986.globl nearbyintl
2987.type nearbyintl, @function;
2988nearbyintl:
2989.weak newlocale
2990.type newlocale, @function;
2991newlocale:
2992.globl nextafter
2993.type nextafter, @function;
2994nextafter:
2995.globl nextafterf
2996.type nextafterf, @function;
2997nextafterf:
2998.globl nextafterl
2999.type nextafterl, @function;
3000nextafterl:
3001.globl nexttoward
3002.type nexttoward, @function;
3003nexttoward:
3004.globl nexttowardf
3005.type nexttowardf, @function;
3006nexttowardf:
3007.globl nexttowardl
3008.type nexttowardl, @function;
3009nexttowardl:
3010.globl nftw
3011.type nftw, @function;
3012nftw:
3013.weak nftw64
3014.type nftw64, @function;
3015nftw64:
3016.globl ngettext
3017.type ngettext, @function;
3018ngettext:
3019.globl nice
3020.type nice, @function;
3021nice:
3022.weak nl_langinfo
3023.type nl_langinfo, @function;
3024nl_langinfo:
3025.weak nl_langinfo_l
3026.type nl_langinfo_l, @function;
3027nl_langinfo_l:
3028.globl nrand48
3029.type nrand48, @function;
3030nrand48:
3031.globl ns_get16
3032.type ns_get16, @function;
3033ns_get16:
3034.globl ns_get32
3035.type ns_get32, @function;
3036ns_get32:
3037.globl ns_initparse
3038.type ns_initparse, @function;
3039ns_initparse:
3040.globl ns_name_uncompress
3041.type ns_name_uncompress, @function;
3042ns_name_uncompress:
3043.globl ns_parserr
3044.type ns_parserr, @function;
3045ns_parserr:
3046.globl ns_put16
3047.type ns_put16, @function;
3048ns_put16:
3049.globl ns_put32
3050.type ns_put32, @function;
3051ns_put32:
3052.globl ns_skiprr
3053.type ns_skiprr, @function;
3054ns_skiprr:
3055.globl ntohl
3056.type ntohl, @function;
3057ntohl:
3058.globl ntohs
3059.type ntohs, @function;
3060ntohs:
3061.globl open
3062.type open, @function;
3063open:
3064.weak open64
3065.type open64, @function;
3066open64:
3067.globl open_by_handle_at
3068.type open_by_handle_at, @function;
3069open_by_handle_at:
3070.globl open_memstream
3071.type open_memstream, @function;
3072open_memstream:
3073.globl open_wmemstream
3074.type open_wmemstream, @function;
3075open_wmemstream:
3076.globl openat
3077.type openat, @function;
3078openat:
3079.weak openat64
3080.type openat64, @function;
3081openat64:
3082.globl opendir
3083.type opendir, @function;
3084opendir:
3085.globl openlog
3086.type openlog, @function;
3087openlog:
3088.globl openpty
3089.type openpty, @function;
3090openpty:
3091.globl pathconf
3092.type pathconf, @function;
3093pathconf:
3094.globl pause
3095.type pause, @function;
3096pause:
3097.globl pclose
3098.type pclose, @function;
3099pclose:
3100.globl perror
3101.type perror, @function;
3102perror:
3103.globl personality
3104.type personality, @function;
3105personality:
3106.globl pipe
3107.type pipe, @function;
3108pipe:
3109.globl pipe2
3110.type pipe2, @function;
3111pipe2:
3112.globl pivot_root
3113.type pivot_root, @function;
3114pivot_root:
3115.globl poll
3116.type poll, @function;
3117poll:
3118.globl popen
3119.type popen, @function;
3120popen:
3121.globl posix_close
3122.type posix_close, @function;
3123posix_close:
3124.globl posix_fadvise
3125.type posix_fadvise, @function;
3126posix_fadvise:
3127.weak posix_fadvise64
3128.type posix_fadvise64, @function;
3129posix_fadvise64:
3130.globl posix_fallocate
3131.type posix_fallocate, @function;
3132posix_fallocate:
3133.weak posix_fallocate64
3134.type posix_fallocate64, @function;
3135posix_fallocate64:
3136.globl posix_madvise
3137.type posix_madvise, @function;
3138posix_madvise:
3139.globl posix_memalign
3140.type posix_memalign, @function;
3141posix_memalign:
3142.globl posix_openpt
3143.type posix_openpt, @function;
3144posix_openpt:
3145.globl posix_spawn
3146.type posix_spawn, @function;
3147posix_spawn:
3148.globl posix_spawn_file_actions_addchdir_np
3149.type posix_spawn_file_actions_addchdir_np, @function;
3150posix_spawn_file_actions_addchdir_np:
3151.globl posix_spawn_file_actions_addclose
3152.type posix_spawn_file_actions_addclose, @function;
3153posix_spawn_file_actions_addclose:
3154.globl posix_spawn_file_actions_adddup2
3155.type posix_spawn_file_actions_adddup2, @function;
3156posix_spawn_file_actions_adddup2:
3157.globl posix_spawn_file_actions_addfchdir_np
3158.type posix_spawn_file_actions_addfchdir_np, @function;
3159posix_spawn_file_actions_addfchdir_np:
3160.globl posix_spawn_file_actions_addopen
3161.type posix_spawn_file_actions_addopen, @function;
3162posix_spawn_file_actions_addopen:
3163.globl posix_spawn_file_actions_destroy
3164.type posix_spawn_file_actions_destroy, @function;
3165posix_spawn_file_actions_destroy:
3166.globl posix_spawn_file_actions_init
3167.type posix_spawn_file_actions_init, @function;
3168posix_spawn_file_actions_init:
3169.globl posix_spawnattr_destroy
3170.type posix_spawnattr_destroy, @function;
3171posix_spawnattr_destroy:
3172.globl posix_spawnattr_getflags
3173.type posix_spawnattr_getflags, @function;
3174posix_spawnattr_getflags:
3175.globl posix_spawnattr_getpgroup
3176.type posix_spawnattr_getpgroup, @function;
3177posix_spawnattr_getpgroup:
3178.globl posix_spawnattr_getschedparam
3179.type posix_spawnattr_getschedparam, @function;
3180posix_spawnattr_getschedparam:
3181.globl posix_spawnattr_getschedpolicy
3182.type posix_spawnattr_getschedpolicy, @function;
3183posix_spawnattr_getschedpolicy:
3184.globl posix_spawnattr_getsigdefault
3185.type posix_spawnattr_getsigdefault, @function;
3186posix_spawnattr_getsigdefault:
3187.globl posix_spawnattr_getsigmask
3188.type posix_spawnattr_getsigmask, @function;
3189posix_spawnattr_getsigmask:
3190.globl posix_spawnattr_init
3191.type posix_spawnattr_init, @function;
3192posix_spawnattr_init:
3193.globl posix_spawnattr_setflags
3194.type posix_spawnattr_setflags, @function;
3195posix_spawnattr_setflags:
3196.globl posix_spawnattr_setpgroup
3197.type posix_spawnattr_setpgroup, @function;
3198posix_spawnattr_setpgroup:
3199.globl posix_spawnattr_setschedparam
3200.type posix_spawnattr_setschedparam, @function;
3201posix_spawnattr_setschedparam:
3202.globl posix_spawnattr_setschedpolicy
3203.type posix_spawnattr_setschedpolicy, @function;
3204posix_spawnattr_setschedpolicy:
3205.globl posix_spawnattr_setsigdefault
3206.type posix_spawnattr_setsigdefault, @function;
3207posix_spawnattr_setsigdefault:
3208.globl posix_spawnattr_setsigmask
3209.type posix_spawnattr_setsigmask, @function;
3210posix_spawnattr_setsigmask:
3211.globl posix_spawnp
3212.type posix_spawnp, @function;
3213posix_spawnp:
3214.globl pow
3215.type pow, @function;
3216pow:
3217.weak pow10
3218.type pow10, @function;
3219pow10:
3220.weak pow10f
3221.type pow10f, @function;
3222pow10f:
3223.weak pow10l
3224.type pow10l, @function;
3225pow10l:
3226.globl powf
3227.type powf, @function;
3228powf:
3229.globl powl
3230.type powl, @function;
3231powl:
3232.globl ppoll
3233.type ppoll, @function;
3234ppoll:
3235.globl prctl
3236.type prctl, @function;
3237prctl:
3238.globl pread
3239.type pread, @function;
3240pread:
3241.weak pread64
3242.type pread64, @function;
3243pread64:
3244.globl preadv
3245.type preadv, @function;
3246preadv:
3247.weak preadv64
3248.type preadv64, @function;
3249preadv64:
3250.globl printf
3251.type printf, @function;
3252printf:
3253.globl prlimit
3254.type prlimit, @function;
3255prlimit:
3256.weak prlimit64
3257.type prlimit64, @function;
3258prlimit64:
3259.globl process_vm_readv
3260.type process_vm_readv, @function;
3261process_vm_readv:
3262.globl process_vm_writev
3263.type process_vm_writev, @function;
3264process_vm_writev:
3265.globl pselect
3266.type pselect, @function;
3267pselect:
3268.globl psiginfo
3269.type psiginfo, @function;
3270psiginfo:
3271.globl psignal
3272.type psignal, @function;
3273psignal:
3274.globl pthread_atfork
3275.type pthread_atfork, @function;
3276pthread_atfork:
3277.globl pthread_attr_destroy
3278.type pthread_attr_destroy, @function;
3279pthread_attr_destroy:
3280.globl pthread_attr_getdetachstate
3281.type pthread_attr_getdetachstate, @function;
3282pthread_attr_getdetachstate:
3283.globl pthread_attr_getguardsize
3284.type pthread_attr_getguardsize, @function;
3285pthread_attr_getguardsize:
3286.globl pthread_attr_getinheritsched
3287.type pthread_attr_getinheritsched, @function;
3288pthread_attr_getinheritsched:
3289.globl pthread_attr_getschedparam
3290.type pthread_attr_getschedparam, @function;
3291pthread_attr_getschedparam:
3292.globl pthread_attr_getschedpolicy
3293.type pthread_attr_getschedpolicy, @function;
3294pthread_attr_getschedpolicy:
3295.globl pthread_attr_getscope
3296.type pthread_attr_getscope, @function;
3297pthread_attr_getscope:
3298.globl pthread_attr_getstack
3299.type pthread_attr_getstack, @function;
3300pthread_attr_getstack:
3301.globl pthread_attr_getstacksize
3302.type pthread_attr_getstacksize, @function;
3303pthread_attr_getstacksize:
3304.globl pthread_attr_init
3305.type pthread_attr_init, @function;
3306pthread_attr_init:
3307.globl pthread_attr_setdetachstate
3308.type pthread_attr_setdetachstate, @function;
3309pthread_attr_setdetachstate:
3310.globl pthread_attr_setguardsize
3311.type pthread_attr_setguardsize, @function;
3312pthread_attr_setguardsize:
3313.globl pthread_attr_setinheritsched
3314.type pthread_attr_setinheritsched, @function;
3315pthread_attr_setinheritsched:
3316.globl pthread_attr_setschedparam
3317.type pthread_attr_setschedparam, @function;
3318pthread_attr_setschedparam:
3319.globl pthread_attr_setschedpolicy
3320.type pthread_attr_setschedpolicy, @function;
3321pthread_attr_setschedpolicy:
3322.globl pthread_attr_setscope
3323.type pthread_attr_setscope, @function;
3324pthread_attr_setscope:
3325.globl pthread_attr_setstack
3326.type pthread_attr_setstack, @function;
3327pthread_attr_setstack:
3328.globl pthread_attr_setstacksize
3329.type pthread_attr_setstacksize, @function;
3330pthread_attr_setstacksize:
3331.globl pthread_barrier_destroy
3332.type pthread_barrier_destroy, @function;
3333pthread_barrier_destroy:
3334.globl pthread_barrier_init
3335.type pthread_barrier_init, @function;
3336pthread_barrier_init:
3337.globl pthread_barrier_wait
3338.type pthread_barrier_wait, @function;
3339pthread_barrier_wait:
3340.globl pthread_barrierattr_destroy
3341.type pthread_barrierattr_destroy, @function;
3342pthread_barrierattr_destroy:
3343.globl pthread_barrierattr_getpshared
3344.type pthread_barrierattr_getpshared, @function;
3345pthread_barrierattr_getpshared:
3346.globl pthread_barrierattr_init
3347.type pthread_barrierattr_init, @function;
3348pthread_barrierattr_init:
3349.globl pthread_barrierattr_setpshared
3350.type pthread_barrierattr_setpshared, @function;
3351pthread_barrierattr_setpshared:
3352.globl pthread_cancel
3353.type pthread_cancel, @function;
3354pthread_cancel:
3355.globl pthread_cond_broadcast
3356.type pthread_cond_broadcast, @function;
3357pthread_cond_broadcast:
3358.globl pthread_cond_destroy
3359.type pthread_cond_destroy, @function;
3360pthread_cond_destroy:
3361.globl pthread_cond_init
3362.type pthread_cond_init, @function;
3363pthread_cond_init:
3364.globl pthread_cond_signal
3365.type pthread_cond_signal, @function;
3366pthread_cond_signal:
3367.weak pthread_cond_timedwait
3368.type pthread_cond_timedwait, @function;
3369pthread_cond_timedwait:
3370.globl pthread_cond_wait
3371.type pthread_cond_wait, @function;
3372pthread_cond_wait:
3373.globl pthread_condattr_destroy
3374.type pthread_condattr_destroy, @function;
3375pthread_condattr_destroy:
3376.globl pthread_condattr_getclock
3377.type pthread_condattr_getclock, @function;
3378pthread_condattr_getclock:
3379.globl pthread_condattr_getpshared
3380.type pthread_condattr_getpshared, @function;
3381pthread_condattr_getpshared:
3382.globl pthread_condattr_init
3383.type pthread_condattr_init, @function;
3384pthread_condattr_init:
3385.globl pthread_condattr_setclock
3386.type pthread_condattr_setclock, @function;
3387pthread_condattr_setclock:
3388.globl pthread_condattr_setpshared
3389.type pthread_condattr_setpshared, @function;
3390pthread_condattr_setpshared:
3391.weak pthread_create
3392.type pthread_create, @function;
3393pthread_create:
3394.weak pthread_detach
3395.type pthread_detach, @function;
3396pthread_detach:
3397.weak pthread_equal
3398.type pthread_equal, @function;
3399pthread_equal:
3400.weak pthread_exit
3401.type pthread_exit, @function;
3402pthread_exit:
3403.globl pthread_getaffinity_np
3404.type pthread_getaffinity_np, @function;
3405pthread_getaffinity_np:
3406.globl pthread_getattr_default_np
3407.type pthread_getattr_default_np, @function;
3408pthread_getattr_default_np:
3409.globl pthread_getattr_np
3410.type pthread_getattr_np, @function;
3411pthread_getattr_np:
3412.globl pthread_getconcurrency
3413.type pthread_getconcurrency, @function;
3414pthread_getconcurrency:
3415.globl pthread_getcpuclockid
3416.type pthread_getcpuclockid, @function;
3417pthread_getcpuclockid:
3418.globl pthread_getschedparam
3419.type pthread_getschedparam, @function;
3420pthread_getschedparam:
3421.weak pthread_getspecific
3422.type pthread_getspecific, @function;
3423pthread_getspecific:
3424.weak pthread_join
3425.type pthread_join, @function;
3426pthread_join:
3427.weak pthread_key_create
3428.type pthread_key_create, @function;
3429pthread_key_create:
3430.weak pthread_key_delete
3431.type pthread_key_delete, @function;
3432pthread_key_delete:
3433.globl pthread_kill
3434.type pthread_kill, @function;
3435pthread_kill:
3436.globl pthread_mutex_consistent
3437.type pthread_mutex_consistent, @function;
3438pthread_mutex_consistent:
3439.globl pthread_mutex_destroy
3440.type pthread_mutex_destroy, @function;
3441pthread_mutex_destroy:
3442.globl pthread_mutex_getprioceiling
3443.type pthread_mutex_getprioceiling, @function;
3444pthread_mutex_getprioceiling:
3445.globl pthread_mutex_init
3446.type pthread_mutex_init, @function;
3447pthread_mutex_init:
3448.weak pthread_mutex_lock
3449.type pthread_mutex_lock, @function;
3450pthread_mutex_lock:
3451.globl pthread_mutex_setprioceiling
3452.type pthread_mutex_setprioceiling, @function;
3453pthread_mutex_setprioceiling:
3454.weak pthread_mutex_timedlock
3455.type pthread_mutex_timedlock, @function;
3456pthread_mutex_timedlock:
3457.weak pthread_mutex_trylock
3458.type pthread_mutex_trylock, @function;
3459pthread_mutex_trylock:
3460.weak pthread_mutex_unlock
3461.type pthread_mutex_unlock, @function;
3462pthread_mutex_unlock:
3463.globl pthread_mutexattr_destroy
3464.type pthread_mutexattr_destroy, @function;
3465pthread_mutexattr_destroy:
3466.globl pthread_mutexattr_getprotocol
3467.type pthread_mutexattr_getprotocol, @function;
3468pthread_mutexattr_getprotocol:
3469.globl pthread_mutexattr_getpshared
3470.type pthread_mutexattr_getpshared, @function;
3471pthread_mutexattr_getpshared:
3472.globl pthread_mutexattr_getrobust
3473.type pthread_mutexattr_getrobust, @function;
3474pthread_mutexattr_getrobust:
3475.globl pthread_mutexattr_gettype
3476.type pthread_mutexattr_gettype, @function;
3477pthread_mutexattr_gettype:
3478.globl pthread_mutexattr_init
3479.type pthread_mutexattr_init, @function;
3480pthread_mutexattr_init:
3481.globl pthread_mutexattr_setprotocol
3482.type pthread_mutexattr_setprotocol, @function;
3483pthread_mutexattr_setprotocol:
3484.globl pthread_mutexattr_setpshared
3485.type pthread_mutexattr_setpshared, @function;
3486pthread_mutexattr_setpshared:
3487.globl pthread_mutexattr_setrobust
3488.type pthread_mutexattr_setrobust, @function;
3489pthread_mutexattr_setrobust:
3490.globl pthread_mutexattr_settype
3491.type pthread_mutexattr_settype, @function;
3492pthread_mutexattr_settype:
3493.weak pthread_once
3494.type pthread_once, @function;
3495pthread_once:
3496.globl pthread_rwlock_destroy
3497.type pthread_rwlock_destroy, @function;
3498pthread_rwlock_destroy:
3499.globl pthread_rwlock_init
3500.type pthread_rwlock_init, @function;
3501pthread_rwlock_init:
3502.weak pthread_rwlock_rdlock
3503.type pthread_rwlock_rdlock, @function;
3504pthread_rwlock_rdlock:
3505.weak pthread_rwlock_timedrdlock
3506.type pthread_rwlock_timedrdlock, @function;
3507pthread_rwlock_timedrdlock:
3508.weak pthread_rwlock_timedwrlock
3509.type pthread_rwlock_timedwrlock, @function;
3510pthread_rwlock_timedwrlock:
3511.weak pthread_rwlock_tryrdlock
3512.type pthread_rwlock_tryrdlock, @function;
3513pthread_rwlock_tryrdlock:
3514.weak pthread_rwlock_trywrlock
3515.type pthread_rwlock_trywrlock, @function;
3516pthread_rwlock_trywrlock:
3517.weak pthread_rwlock_unlock
3518.type pthread_rwlock_unlock, @function;
3519pthread_rwlock_unlock:
3520.weak pthread_rwlock_wrlock
3521.type pthread_rwlock_wrlock, @function;
3522pthread_rwlock_wrlock:
3523.globl pthread_rwlockattr_destroy
3524.type pthread_rwlockattr_destroy, @function;
3525pthread_rwlockattr_destroy:
3526.globl pthread_rwlockattr_getpshared
3527.type pthread_rwlockattr_getpshared, @function;
3528pthread_rwlockattr_getpshared:
3529.globl pthread_rwlockattr_init
3530.type pthread_rwlockattr_init, @function;
3531pthread_rwlockattr_init:
3532.globl pthread_rwlockattr_setpshared
3533.type pthread_rwlockattr_setpshared, @function;
3534pthread_rwlockattr_setpshared:
3535.weak pthread_self
3536.type pthread_self, @function;
3537pthread_self:
3538.globl pthread_setaffinity_np
3539.type pthread_setaffinity_np, @function;
3540pthread_setaffinity_np:
3541.globl pthread_setattr_default_np
3542.type pthread_setattr_default_np, @function;
3543pthread_setattr_default_np:
3544.weak pthread_setcancelstate
3545.type pthread_setcancelstate, @function;
3546pthread_setcancelstate:
3547.globl pthread_setcanceltype
3548.type pthread_setcanceltype, @function;
3549pthread_setcanceltype:
3550.globl pthread_setconcurrency
3551.type pthread_setconcurrency, @function;
3552pthread_setconcurrency:
3553.globl pthread_setname_np
3554.type pthread_setname_np, @function;
3555pthread_setname_np:
3556.globl pthread_setschedparam
3557.type pthread_setschedparam, @function;
3558pthread_setschedparam:
3559.globl pthread_setschedprio
3560.type pthread_setschedprio, @function;
3561pthread_setschedprio:
3562.globl pthread_setspecific
3563.type pthread_setspecific, @function;
3564pthread_setspecific:
3565.globl pthread_sigmask
3566.type pthread_sigmask, @function;
3567pthread_sigmask:
3568.globl pthread_spin_destroy
3569.type pthread_spin_destroy, @function;
3570pthread_spin_destroy:
3571.globl pthread_spin_init
3572.type pthread_spin_init, @function;
3573pthread_spin_init:
3574.globl pthread_spin_lock
3575.type pthread_spin_lock, @function;
3576pthread_spin_lock:
3577.globl pthread_spin_trylock
3578.type pthread_spin_trylock, @function;
3579pthread_spin_trylock:
3580.globl pthread_spin_unlock
3581.type pthread_spin_unlock, @function;
3582pthread_spin_unlock:
3583.weak pthread_testcancel
3584.type pthread_testcancel, @function;
3585pthread_testcancel:
3586.weak pthread_timedjoin_np
3587.type pthread_timedjoin_np, @function;
3588pthread_timedjoin_np:
3589.weak pthread_tryjoin_np
3590.type pthread_tryjoin_np, @function;
3591pthread_tryjoin_np:
3592.globl ptrace
3593.type ptrace, @function;
3594ptrace:
3595.globl ptsname
3596.type ptsname, @function;
3597ptsname:
3598.weak ptsname_r
3599.type ptsname_r, @function;
3600ptsname_r:
3601.globl putc
3602.type putc, @function;
3603putc:
3604.globl putc_unlocked
3605.type putc_unlocked, @function;
3606putc_unlocked:
3607.globl putchar
3608.type putchar, @function;
3609putchar:
3610.globl putchar_unlocked
3611.type putchar_unlocked, @function;
3612putchar_unlocked:
3613.globl putenv
3614.type putenv, @function;
3615putenv:
3616.globl putgrent
3617.type putgrent, @function;
3618putgrent:
3619.globl putpwent
3620.type putpwent, @function;
3621putpwent:
3622.globl puts
3623.type puts, @function;
3624puts:
3625.globl putspent
3626.type putspent, @function;
3627putspent:
3628.weak pututline
3629.type pututline, @function;
3630pututline:
3631.globl pututxline
3632.type pututxline, @function;
3633pututxline:
3634.globl putw
3635.type putw, @function;
3636putw:
3637.globl putwc
3638.type putwc, @function;
3639putwc:
3640.weak putwc_unlocked
3641.type putwc_unlocked, @function;
3642putwc_unlocked:
3643.globl putwchar
3644.type putwchar, @function;
3645putwchar:
3646.weak putwchar_unlocked
3647.type putwchar_unlocked, @function;
3648putwchar_unlocked:
3649.globl pwrite
3650.type pwrite, @function;
3651pwrite:
3652.weak pwrite64
3653.type pwrite64, @function;
3654pwrite64:
3655.globl pwritev
3656.type pwritev, @function;
3657pwritev:
3658.weak pwritev64
3659.type pwritev64, @function;
3660pwritev64:
3661.globl qsort
3662.type qsort, @function;
3663qsort:
3664.globl quick_exit
3665.type quick_exit, @function;
3666quick_exit:
3667.globl quotactl
3668.type quotactl, @function;
3669quotactl:
3670.globl raise
3671.type raise, @function;
3672raise:
3673.globl rand
3674.type rand, @function;
3675rand:
3676.globl rand_r
3677.type rand_r, @function;
3678rand_r:
3679.globl random
3680.type random, @function;
3681random:
3682.globl read
3683.type read, @function;
3684read:
3685.globl readahead
3686.type readahead, @function;
3687readahead:
3688.globl readdir
3689.type readdir, @function;
3690readdir:
3691.weak readdir64
3692.type readdir64, @function;
3693readdir64:
3694.weak readdir64_r
3695.type readdir64_r, @function;
3696readdir64_r:
3697.globl readdir_r
3698.type readdir_r, @function;
3699readdir_r:
3700.globl readlink
3701.type readlink, @function;
3702readlink:
3703.globl readlinkat
3704.type readlinkat, @function;
3705readlinkat:
3706.globl readv
3707.type readv, @function;
3708readv:
3709.globl realloc
3710.type realloc, @function;
3711realloc:
3712.globl realpath
3713.type realpath, @function;
3714realpath:
3715.globl reboot
3716.type reboot, @function;
3717reboot:
3718.globl recv
3719.type recv, @function;
3720recv:
3721.globl recvfrom
3722.type recvfrom, @function;
3723recvfrom:
3724.globl recvmmsg
3725.type recvmmsg, @function;
3726recvmmsg:
3727.globl recvmsg
3728.type recvmsg, @function;
3729recvmsg:
3730.globl regcomp
3731.type regcomp, @function;
3732regcomp:
3733.globl regerror
3734.type regerror, @function;
3735regerror:
3736.globl regexec
3737.type regexec, @function;
3738regexec:
3739.globl regfree
3740.type regfree, @function;
3741regfree:
3742.globl remainder
3743.type remainder, @function;
3744remainder:
3745.globl remainderf
3746.type remainderf, @function;
3747remainderf:
3748.globl remainderl
3749.type remainderl, @function;
3750remainderl:
3751.globl remap_file_pages
3752.type remap_file_pages, @function;
3753remap_file_pages:
3754.globl remove
3755.type remove, @function;
3756remove:
3757.globl removexattr
3758.type removexattr, @function;
3759removexattr:
3760.globl remque
3761.type remque, @function;
3762remque:
3763.globl remquo
3764.type remquo, @function;
3765remquo:
3766.globl remquof
3767.type remquof, @function;
3768remquof:
3769.globl remquol
3770.type remquol, @function;
3771remquol:
3772.globl rename
3773.type rename, @function;
3774rename:
3775.globl renameat
3776.type renameat, @function;
3777renameat:
3778.globl res_init
3779.type res_init, @function;
3780res_init:
3781.weak res_mkquery
3782.type res_mkquery, @function;
3783res_mkquery:
3784.globl res_query
3785.type res_query, @function;
3786res_query:
3787.globl res_querydomain
3788.type res_querydomain, @function;
3789res_querydomain:
3790.weak res_search
3791.type res_search, @function;
3792res_search:
3793.weak res_send
3794.type res_send, @function;
3795res_send:
3796.globl rewind
3797.type rewind, @function;
3798rewind:
3799.globl rewinddir
3800.type rewinddir, @function;
3801rewinddir:
3802.globl rindex
3803.type rindex, @function;
3804rindex:
3805.globl rint
3806.type rint, @function;
3807rint:
3808.globl rintf
3809.type rintf, @function;
3810rintf:
3811.globl rintl
3812.type rintl, @function;
3813rintl:
3814.globl rmdir
3815.type rmdir, @function;
3816rmdir:
3817.globl round
3818.type round, @function;
3819round:
3820.globl roundf
3821.type roundf, @function;
3822roundf:
3823.globl roundl
3824.type roundl, @function;
3825roundl:
3826.globl sbrk
3827.type sbrk, @function;
3828sbrk:
3829.globl scalb
3830.type scalb, @function;
3831scalb:
3832.globl scalbf
3833.type scalbf, @function;
3834scalbf:
3835.globl scalbln
3836.type scalbln, @function;
3837scalbln:
3838.globl scalblnf
3839.type scalblnf, @function;
3840scalblnf:
3841.globl scalblnl
3842.type scalblnl, @function;
3843scalblnl:
3844.globl scalbn
3845.type scalbn, @function;
3846scalbn:
3847.globl scalbnf
3848.type scalbnf, @function;
3849scalbnf:
3850.globl scalbnl
3851.type scalbnl, @function;
3852scalbnl:
3853.globl scandir
3854.type scandir, @function;
3855scandir:
3856.weak scandir64
3857.type scandir64, @function;
3858scandir64:
3859.globl scanf
3860.type scanf, @function;
3861scanf:
3862.globl sched_get_priority_max
3863.type sched_get_priority_max, @function;
3864sched_get_priority_max:
3865.globl sched_get_priority_min
3866.type sched_get_priority_min, @function;
3867sched_get_priority_min:
3868.globl sched_getaffinity
3869.type sched_getaffinity, @function;
3870sched_getaffinity:
3871.globl sched_getcpu
3872.type sched_getcpu, @function;
3873sched_getcpu:
3874.globl sched_getparam
3875.type sched_getparam, @function;
3876sched_getparam:
3877.globl sched_getscheduler
3878.type sched_getscheduler, @function;
3879sched_getscheduler:
3880.globl sched_rr_get_interval
3881.type sched_rr_get_interval, @function;
3882sched_rr_get_interval:
3883.globl sched_setaffinity
3884.type sched_setaffinity, @function;
3885sched_setaffinity:
3886.globl sched_setparam
3887.type sched_setparam, @function;
3888sched_setparam:
3889.globl sched_setscheduler
3890.type sched_setscheduler, @function;
3891sched_setscheduler:
3892.globl sched_yield
3893.type sched_yield, @function;
3894sched_yield:
3895.globl secure_getenv
3896.type secure_getenv, @function;
3897secure_getenv:
3898.globl seed48
3899.type seed48, @function;
3900seed48:
3901.globl seekdir
3902.type seekdir, @function;
3903seekdir:
3904.globl select
3905.type select, @function;
3906select:
3907.globl sem_close
3908.type sem_close, @function;
3909sem_close:
3910.globl sem_destroy
3911.type sem_destroy, @function;
3912sem_destroy:
3913.globl sem_getvalue
3914.type sem_getvalue, @function;
3915sem_getvalue:
3916.globl sem_init
3917.type sem_init, @function;
3918sem_init:
3919.globl sem_open
3920.type sem_open, @function;
3921sem_open:
3922.globl sem_post
3923.type sem_post, @function;
3924sem_post:
3925.globl sem_timedwait
3926.type sem_timedwait, @function;
3927sem_timedwait:
3928.globl sem_trywait
3929.type sem_trywait, @function;
3930sem_trywait:
3931.globl sem_unlink
3932.type sem_unlink, @function;
3933sem_unlink:
3934.globl sem_wait
3935.type sem_wait, @function;
3936sem_wait:
3937.globl semctl
3938.type semctl, @function;
3939semctl:
3940.globl semget
3941.type semget, @function;
3942semget:
3943.globl semop
3944.type semop, @function;
3945semop:
3946.globl semtimedop
3947.type semtimedop, @function;
3948semtimedop:
3949.globl send
3950.type send, @function;
3951send:
3952.globl sendfile
3953.type sendfile, @function;
3954sendfile:
3955.weak sendfile64
3956.type sendfile64, @function;
3957sendfile64:
3958.globl sendmmsg
3959.type sendmmsg, @function;
3960sendmmsg:
3961.globl sendmsg
3962.type sendmsg, @function;
3963sendmsg:
3964.globl sendto
3965.type sendto, @function;
3966sendto:
3967.globl setbuf
3968.type setbuf, @function;
3969setbuf:
3970.globl setbuffer
3971.type setbuffer, @function;
3972setbuffer:
3973.globl setdomainname
3974.type setdomainname, @function;
3975setdomainname:
3976.globl setegid
3977.type setegid, @function;
3978setegid:
3979.globl setenv
3980.type setenv, @function;
3981setenv:
3982.globl seteuid
3983.type seteuid, @function;
3984seteuid:
3985.globl setfsgid
3986.type setfsgid, @function;
3987setfsgid:
3988.globl setfsuid
3989.type setfsuid, @function;
3990setfsuid:
3991.globl setgid
3992.type setgid, @function;
3993setgid:
3994.globl setgrent
3995.type setgrent, @function;
3996setgrent:
3997.globl setgroups
3998.type setgroups, @function;
3999setgroups:
4000.globl sethostent
4001.type sethostent, @function;
4002sethostent:
4003.globl sethostname
4004.type sethostname, @function;
4005sethostname:
4006.globl setitimer
4007.type setitimer, @function;
4008setitimer:
4009.globl setjmp
4010.type setjmp, @function;
4011setjmp:
4012.globl setkey
4013.type setkey, @function;
4014setkey:
4015.globl setlinebuf
4016.type setlinebuf, @function;
4017setlinebuf:
4018.globl setlocale
4019.type setlocale, @function;
4020setlocale:
4021.globl setlogmask
4022.type setlogmask, @function;
4023setlogmask:
4024.globl setmntent
4025.type setmntent, @function;
4026setmntent:
4027.weak setnetent
4028.type setnetent, @function;
4029setnetent:
4030.globl setns
4031.type setns, @function;
4032setns:
4033.globl setpgid
4034.type setpgid, @function;
4035setpgid:
4036.globl setpgrp
4037.type setpgrp, @function;
4038setpgrp:
4039.globl setpriority
4040.type setpriority, @function;
4041setpriority:
4042.globl setprotoent
4043.type setprotoent, @function;
4044setprotoent:
4045.globl setpwent
4046.type setpwent, @function;
4047setpwent:
4048.globl setregid
4049.type setregid, @function;
4050setregid:
4051.globl setresgid
4052.type setresgid, @function;
4053setresgid:
4054.globl setresuid
4055.type setresuid, @function;
4056setresuid:
4057.globl setreuid
4058.type setreuid, @function;
4059setreuid:
4060.globl setrlimit
4061.type setrlimit, @function;
4062setrlimit:
4063.weak setrlimit64
4064.type setrlimit64, @function;
4065setrlimit64:
4066.globl setservent
4067.type setservent, @function;
4068setservent:
4069.globl setsid
4070.type setsid, @function;
4071setsid:
4072.globl setsockopt
4073.type setsockopt, @function;
4074setsockopt:
4075.globl setspent
4076.type setspent, @function;
4077setspent:
4078.globl setstate
4079.type setstate, @function;
4080setstate:
4081.globl settimeofday
4082.type settimeofday, @function;
4083settimeofday:
4084.globl setuid
4085.type setuid, @function;
4086setuid:
4087.globl setusershell
4088.type setusershell, @function;
4089setusershell:
4090.weak setutent
4091.type setutent, @function;
4092setutent:
4093.globl setutxent
4094.type setutxent, @function;
4095setutxent:
4096.globl setvbuf
4097.type setvbuf, @function;
4098setvbuf:
4099.globl setxattr
4100.type setxattr, @function;
4101setxattr:
4102.globl shm_open
4103.type shm_open, @function;
4104shm_open:
4105.globl shm_unlink
4106.type shm_unlink, @function;
4107shm_unlink:
4108.globl shmat
4109.type shmat, @function;
4110shmat:
4111.globl shmctl
4112.type shmctl, @function;
4113shmctl:
4114.globl shmdt
4115.type shmdt, @function;
4116shmdt:
4117.globl shmget
4118.type shmget, @function;
4119shmget:
4120.globl shutdown
4121.type shutdown, @function;
4122shutdown:
4123.weak sigaction
4124.type sigaction, @function;
4125sigaction:
4126.globl sigaddset
4127.type sigaddset, @function;
4128sigaddset:
4129.globl sigaltstack
4130.type sigaltstack, @function;
4131sigaltstack:
4132.globl sigandset
4133.type sigandset, @function;
4134sigandset:
4135.globl sigdelset
4136.type sigdelset, @function;
4137sigdelset:
4138.globl sigemptyset
4139.type sigemptyset, @function;
4140sigemptyset:
4141.globl sigfillset
4142.type sigfillset, @function;
4143sigfillset:
4144.globl sighold
4145.type sighold, @function;
4146sighold:
4147.globl sigignore
4148.type sigignore, @function;
4149sigignore:
4150.globl siginterrupt
4151.type siginterrupt, @function;
4152siginterrupt:
4153.globl sigisemptyset
4154.type sigisemptyset, @function;
4155sigisemptyset:
4156.globl sigismember
4157.type sigismember, @function;
4158sigismember:
4159.globl siglongjmp
4160.type siglongjmp, @function;
4161siglongjmp:
4162.globl signal
4163.type signal, @function;
4164signal:
4165.globl signalfd
4166.type signalfd, @function;
4167signalfd:
4168.globl significand
4169.type significand, @function;
4170significand:
4171.globl significandf
4172.type significandf, @function;
4173significandf:
4174.globl sigorset
4175.type sigorset, @function;
4176sigorset:
4177.globl sigpause
4178.type sigpause, @function;
4179sigpause:
4180.globl sigpending
4181.type sigpending, @function;
4182sigpending:
4183.globl sigprocmask
4184.type sigprocmask, @function;
4185sigprocmask:
4186.globl sigqueue
4187.type sigqueue, @function;
4188sigqueue:
4189.globl sigrelse
4190.type sigrelse, @function;
4191sigrelse:
4192.globl sigset
4193.type sigset, @function;
4194sigset:
4195.globl sigsetjmp
4196.type sigsetjmp, @function;
4197sigsetjmp:
4198.globl sigsuspend
4199.type sigsuspend, @function;
4200sigsuspend:
4201.globl sigtimedwait
4202.type sigtimedwait, @function;
4203sigtimedwait:
4204.globl sigwait
4205.type sigwait, @function;
4206sigwait:
4207.globl sigwaitinfo
4208.type sigwaitinfo, @function;
4209sigwaitinfo:
4210.globl sin
4211.type sin, @function;
4212sin:
4213.globl sincos
4214.type sincos, @function;
4215sincos:
4216.globl sincosf
4217.type sincosf, @function;
4218sincosf:
4219.globl sincosl
4220.type sincosl, @function;
4221sincosl:
4222.globl sinf
4223.type sinf, @function;
4224sinf:
4225.globl sinh
4226.type sinh, @function;
4227sinh:
4228.globl sinhf
4229.type sinhf, @function;
4230sinhf:
4231.globl sinhl
4232.type sinhl, @function;
4233sinhl:
4234.globl sinl
4235.type sinl, @function;
4236sinl:
4237.globl sleep
4238.type sleep, @function;
4239sleep:
4240.globl snprintf
4241.type snprintf, @function;
4242snprintf:
4243.globl sockatmark
4244.type sockatmark, @function;
4245sockatmark:
4246.globl socket
4247.type socket, @function;
4248socket:
4249.globl socketpair
4250.type socketpair, @function;
4251socketpair:
4252.globl splice
4253.type splice, @function;
4254splice:
4255.globl sprintf
4256.type sprintf, @function;
4257sprintf:
4258.globl sqrt
4259.type sqrt, @function;
4260sqrt:
4261.globl sqrtf
4262.type sqrtf, @function;
4263sqrtf:
4264.globl sqrtl
4265.type sqrtl, @function;
4266sqrtl:
4267.globl srand
4268.type srand, @function;
4269srand:
4270.globl srand48
4271.type srand48, @function;
4272srand48:
4273.globl srandom
4274.type srandom, @function;
4275srandom:
4276.globl sscanf
4277.type sscanf, @function;
4278sscanf:
4279.globl stat
4280.type stat, @function;
4281stat:
4282.weak stat64
4283.type stat64, @function;
4284stat64:
4285.weak statfs
4286.type statfs, @function;
4287statfs:
4288.weak statfs64
4289.type statfs64, @function;
4290statfs64:
4291.globl statvfs
4292.type statvfs, @function;
4293statvfs:
4294.weak statvfs64
4295.type statvfs64, @function;
4296statvfs64:
4297.globl stime
4298.type stime, @function;
4299stime:
4300.weak stpcpy
4301.type stpcpy, @function;
4302stpcpy:
4303.weak stpncpy
4304.type stpncpy, @function;
4305stpncpy:
4306.globl strcasecmp
4307.type strcasecmp, @function;
4308strcasecmp:
4309.weak strcasecmp_l
4310.type strcasecmp_l, @function;
4311strcasecmp_l:
4312.globl strcasestr
4313.type strcasestr, @function;
4314strcasestr:
4315.globl strcat
4316.type strcat, @function;
4317strcat:
4318.globl strchr
4319.type strchr, @function;
4320strchr:
4321.weak strchrnul
4322.type strchrnul, @function;
4323strchrnul:
4324.globl strcmp
4325.type strcmp, @function;
4326strcmp:
4327.globl strcoll
4328.type strcoll, @function;
4329strcoll:
4330.weak strcoll_l
4331.type strcoll_l, @function;
4332strcoll_l:
4333.globl strcpy
4334.type strcpy, @function;
4335strcpy:
4336.globl strcspn
4337.type strcspn, @function;
4338strcspn:
4339.globl strdup
4340.type strdup, @function;
4341strdup:
4342.globl strerror
4343.type strerror, @function;
4344strerror:
4345.weak strerror_l
4346.type strerror_l, @function;
4347strerror_l:
4348.globl strerror_r
4349.type strerror_r, @function;
4350strerror_r:
4351.globl strfmon
4352.type strfmon, @function;
4353strfmon:
4354.globl strfmon_l
4355.type strfmon_l, @function;
4356strfmon_l:
4357.globl strftime
4358.type strftime, @function;
4359strftime:
4360.weak strftime_l
4361.type strftime_l, @function;
4362strftime_l:
4363.globl strlcat
4364.type strlcat, @function;
4365strlcat:
4366.globl strlcpy
4367.type strlcpy, @function;
4368strlcpy:
4369.globl strlen
4370.type strlen, @function;
4371strlen:
4372.globl strncasecmp
4373.type strncasecmp, @function;
4374strncasecmp:
4375.weak strncasecmp_l
4376.type strncasecmp_l, @function;
4377strncasecmp_l:
4378.globl strncat
4379.type strncat, @function;
4380strncat:
4381.globl strncmp
4382.type strncmp, @function;
4383strncmp:
4384.globl strncpy
4385.type strncpy, @function;
4386strncpy:
4387.globl strndup
4388.type strndup, @function;
4389strndup:
4390.globl strnlen
4391.type strnlen, @function;
4392strnlen:
4393.globl strpbrk
4394.type strpbrk, @function;
4395strpbrk:
4396.globl strptime
4397.type strptime, @function;
4398strptime:
4399.globl strrchr
4400.type strrchr, @function;
4401strrchr:
4402.globl strsep
4403.type strsep, @function;
4404strsep:
4405.globl strsignal
4406.type strsignal, @function;
4407strsignal:
4408.globl strspn
4409.type strspn, @function;
4410strspn:
4411.globl strstr
4412.type strstr, @function;
4413strstr:
4414.globl strtod
4415.type strtod, @function;
4416strtod:
4417.weak strtod_l
4418.type strtod_l, @function;
4419strtod_l:
4420.globl strtof
4421.type strtof, @function;
4422strtof:
4423.weak strtof_l
4424.type strtof_l, @function;
4425strtof_l:
4426.globl strtoimax
4427.type strtoimax, @function;
4428strtoimax:
4429.globl strtok
4430.type strtok, @function;
4431strtok:
4432.globl strtok_r
4433.type strtok_r, @function;
4434strtok_r:
4435.globl strtol
4436.type strtol, @function;
4437strtol:
4438.globl strtold
4439.type strtold, @function;
4440strtold:
4441.weak strtold_l
4442.type strtold_l, @function;
4443strtold_l:
4444.globl strtoll
4445.type strtoll, @function;
4446strtoll:
4447.globl strtoul
4448.type strtoul, @function;
4449strtoul:
4450.globl strtoull
4451.type strtoull, @function;
4452strtoull:
4453.globl strtoumax
4454.type strtoumax, @function;
4455strtoumax:
4456.globl strverscmp
4457.type strverscmp, @function;
4458strverscmp:
4459.globl strxfrm
4460.type strxfrm, @function;
4461strxfrm:
4462.weak strxfrm_l
4463.type strxfrm_l, @function;
4464strxfrm_l:
4465.globl swab
4466.type swab, @function;
4467swab:
4468.globl swapoff
4469.type swapoff, @function;
4470swapoff:
4471.globl swapon
4472.type swapon, @function;
4473swapon:
4474.globl swprintf
4475.type swprintf, @function;
4476swprintf:
4477.globl swscanf
4478.type swscanf, @function;
4479swscanf:
4480.globl symlink
4481.type symlink, @function;
4482symlink:
4483.globl symlinkat
4484.type symlinkat, @function;
4485symlinkat:
4486.globl sync
4487.type sync, @function;
4488sync:
4489.globl sync_file_range
4490.type sync_file_range, @function;
4491sync_file_range:
4492.globl syncfs
4493.type syncfs, @function;
4494syncfs:
4495.globl syscall
4496.type syscall, @function;
4497syscall:
4498.globl sysconf
4499.type sysconf, @function;
4500sysconf:
4501.weak sysinfo
4502.type sysinfo, @function;
4503sysinfo:
4504.globl syslog
4505.type syslog, @function;
4506syslog:
4507.globl system
4508.type system, @function;
4509system:
4510.globl tan
4511.type tan, @function;
4512tan:
4513.globl tanf
4514.type tanf, @function;
4515tanf:
4516.globl tanh
4517.type tanh, @function;
4518tanh:
4519.globl tanhf
4520.type tanhf, @function;
4521tanhf:
4522.globl tanhl
4523.type tanhl, @function;
4524tanhl:
4525.globl tanl
4526.type tanl, @function;
4527tanl:
4528.globl tcdrain
4529.type tcdrain, @function;
4530tcdrain:
4531.globl tcflow
4532.type tcflow, @function;
4533tcflow:
4534.globl tcflush
4535.type tcflush, @function;
4536tcflush:
4537.globl tcgetattr
4538.type tcgetattr, @function;
4539tcgetattr:
4540.globl tcgetpgrp
4541.type tcgetpgrp, @function;
4542tcgetpgrp:
4543.globl tcgetsid
4544.type tcgetsid, @function;
4545tcgetsid:
4546.globl tcsendbreak
4547.type tcsendbreak, @function;
4548tcsendbreak:
4549.globl tcsetattr
4550.type tcsetattr, @function;
4551tcsetattr:
4552.globl tcsetpgrp
4553.type tcsetpgrp, @function;
4554tcsetpgrp:
4555.globl tdelete
4556.type tdelete, @function;
4557tdelete:
4558.globl tdestroy
4559.type tdestroy, @function;
4560tdestroy:
4561.globl tee
4562.type tee, @function;
4563tee:
4564.globl telldir
4565.type telldir, @function;
4566telldir:
4567.globl tempnam
4568.type tempnam, @function;
4569tempnam:
4570.globl textdomain
4571.type textdomain, @function;
4572textdomain:
4573.globl tfind
4574.type tfind, @function;
4575tfind:
4576.globl tgamma
4577.type tgamma, @function;
4578tgamma:
4579.globl tgammaf
4580.type tgammaf, @function;
4581tgammaf:
4582.globl tgammal
4583.type tgammal, @function;
4584tgammal:
4585.globl thrd_create
4586.type thrd_create, @function;
4587thrd_create:
4588.weak thrd_current
4589.type thrd_current, @function;
4590thrd_current:
4591.weak thrd_detach
4592.type thrd_detach, @function;
4593thrd_detach:
4594.weak thrd_equal
4595.type thrd_equal, @function;
4596thrd_equal:
4597.globl thrd_exit
4598.type thrd_exit, @function;
4599thrd_exit:
4600.globl thrd_join
4601.type thrd_join, @function;
4602thrd_join:
4603.globl thrd_sleep
4604.type thrd_sleep, @function;
4605thrd_sleep:
4606.globl thrd_yield
4607.type thrd_yield, @function;
4608thrd_yield:
4609.globl time
4610.type time, @function;
4611time:
4612.globl timegm
4613.type timegm, @function;
4614timegm:
4615.globl timer_create
4616.type timer_create, @function;
4617timer_create:
4618.globl timer_delete
4619.type timer_delete, @function;
4620timer_delete:
4621.globl timer_getoverrun
4622.type timer_getoverrun, @function;
4623timer_getoverrun:
4624.globl timer_gettime
4625.type timer_gettime, @function;
4626timer_gettime:
4627.globl timer_settime
4628.type timer_settime, @function;
4629timer_settime:
4630.globl timerfd_create
4631.type timerfd_create, @function;
4632timerfd_create:
4633.globl timerfd_gettime
4634.type timerfd_gettime, @function;
4635timerfd_gettime:
4636.globl timerfd_settime
4637.type timerfd_settime, @function;
4638timerfd_settime:
4639.globl times
4640.type times, @function;
4641times:
4642.globl timespec_get
4643.type timespec_get, @function;
4644timespec_get:
4645.globl tmpfile
4646.type tmpfile, @function;
4647tmpfile:
4648.weak tmpfile64
4649.type tmpfile64, @function;
4650tmpfile64:
4651.globl tmpnam
4652.type tmpnam, @function;
4653tmpnam:
4654.globl toascii
4655.type toascii, @function;
4656toascii:
4657.globl tolower
4658.type tolower, @function;
4659tolower:
4660.weak tolower_l
4661.type tolower_l, @function;
4662tolower_l:
4663.globl toupper
4664.type toupper, @function;
4665toupper:
4666.weak toupper_l
4667.type toupper_l, @function;
4668toupper_l:
4669.globl towctrans
4670.type towctrans, @function;
4671towctrans:
4672.weak towctrans_l
4673.type towctrans_l, @function;
4674towctrans_l:
4675.globl towlower
4676.type towlower, @function;
4677towlower:
4678.weak towlower_l
4679.type towlower_l, @function;
4680towlower_l:
4681.globl towupper
4682.type towupper, @function;
4683towupper:
4684.weak towupper_l
4685.type towupper_l, @function;
4686towupper_l:
4687.globl trunc
4688.type trunc, @function;
4689trunc:
4690.globl truncate
4691.type truncate, @function;
4692truncate:
4693.weak truncate64
4694.type truncate64, @function;
4695truncate64:
4696.globl truncf
4697.type truncf, @function;
4698truncf:
4699.globl truncl
4700.type truncl, @function;
4701truncl:
4702.globl tsearch
4703.type tsearch, @function;
4704tsearch:
4705.globl tss_create
4706.type tss_create, @function;
4707tss_create:
4708.globl tss_delete
4709.type tss_delete, @function;
4710tss_delete:
4711.weak tss_get
4712.type tss_get, @function;
4713tss_get:
4714.globl tss_set
4715.type tss_set, @function;
4716tss_set:
4717.globl ttyname
4718.type ttyname, @function;
4719ttyname:
4720.globl ttyname_r
4721.type ttyname_r, @function;
4722ttyname_r:
4723.globl twalk
4724.type twalk, @function;
4725twalk:
4726.weak tzset
4727.type tzset, @function;
4728tzset:
4729.globl ualarm
4730.type ualarm, @function;
4731ualarm:
4732.globl ulckpwdf
4733.type ulckpwdf, @function;
4734ulckpwdf:
4735.globl ulimit
4736.type ulimit, @function;
4737ulimit:
4738.globl umask
4739.type umask, @function;
4740umask:
4741.globl umount
4742.type umount, @function;
4743umount:
4744.globl umount2
4745.type umount2, @function;
4746umount2:
4747.globl uname
4748.type uname, @function;
4749uname:
4750.globl ungetc
4751.type ungetc, @function;
4752ungetc:
4753.globl ungetwc
4754.type ungetwc, @function;
4755ungetwc:
4756.globl unlink
4757.type unlink, @function;
4758unlink:
4759.globl unlinkat
4760.type unlinkat, @function;
4761unlinkat:
4762.globl unlockpt
4763.type unlockpt, @function;
4764unlockpt:
4765.globl unsetenv
4766.type unsetenv, @function;
4767unsetenv:
4768.globl unshare
4769.type unshare, @function;
4770unshare:
4771.weak updwtmp
4772.type updwtmp, @function;
4773updwtmp:
4774.globl updwtmpx
4775.type updwtmpx, @function;
4776updwtmpx:
4777.weak uselocale
4778.type uselocale, @function;
4779uselocale:
4780.globl usleep
4781.type usleep, @function;
4782usleep:
4783.globl utime
4784.type utime, @function;
4785utime:
4786.globl utimensat
4787.type utimensat, @function;
4788utimensat:
4789.globl utimes
4790.type utimes, @function;
4791utimes:
4792.weak utmpname
4793.type utmpname, @function;
4794utmpname:
4795.weak utmpxname
4796.type utmpxname, @function;
4797utmpxname:
4798.globl valloc
4799.type valloc, @function;
4800valloc:
4801.globl vasprintf
4802.type vasprintf, @function;
4803vasprintf:
4804.globl vdprintf
4805.type vdprintf, @function;
4806vdprintf:
4807.globl verr
4808.type verr, @function;
4809verr:
4810.globl verrx
4811.type verrx, @function;
4812verrx:
4813.globl versionsort
4814.type versionsort, @function;
4815versionsort:
4816.weak versionsort64
4817.type versionsort64, @function;
4818versionsort64:
4819.globl vfork
4820.type vfork, @function;
4821vfork:
4822.globl vfprintf
4823.type vfprintf, @function;
4824vfprintf:
4825.globl vfscanf
4826.type vfscanf, @function;
4827vfscanf:
4828.globl vfwprintf
4829.type vfwprintf, @function;
4830vfwprintf:
4831.globl vfwscanf
4832.type vfwscanf, @function;
4833vfwscanf:
4834.globl vhangup
4835.type vhangup, @function;
4836vhangup:
4837.globl vmsplice
4838.type vmsplice, @function;
4839vmsplice:
4840.globl vprintf
4841.type vprintf, @function;
4842vprintf:
4843.globl vscanf
4844.type vscanf, @function;
4845vscanf:
4846.globl vsnprintf
4847.type vsnprintf, @function;
4848vsnprintf:
4849.globl vsprintf
4850.type vsprintf, @function;
4851vsprintf:
4852.globl vsscanf
4853.type vsscanf, @function;
4854vsscanf:
4855.globl vswprintf
4856.type vswprintf, @function;
4857vswprintf:
4858.globl vswscanf
4859.type vswscanf, @function;
4860vswscanf:
4861.weak vsyslog
4862.type vsyslog, @function;
4863vsyslog:
4864.globl vwarn
4865.type vwarn, @function;
4866vwarn:
4867.globl vwarnx
4868.type vwarnx, @function;
4869vwarnx:
4870.globl vwprintf
4871.type vwprintf, @function;
4872vwprintf:
4873.globl vwscanf
4874.type vwscanf, @function;
4875vwscanf:
4876.globl wait
4877.type wait, @function;
4878wait:
4879.globl wait3
4880.type wait3, @function;
4881wait3:
4882.globl wait4
4883.type wait4, @function;
4884wait4:
4885.globl waitid
4886.type waitid, @function;
4887waitid:
4888.globl waitpid
4889.type waitpid, @function;
4890waitpid:
4891.globl warn
4892.type warn, @function;
4893warn:
4894.globl warnx
4895.type warnx, @function;
4896warnx:
4897.globl wcpcpy
4898.type wcpcpy, @function;
4899wcpcpy:
4900.globl wcpncpy
4901.type wcpncpy, @function;
4902wcpncpy:
4903.globl wcrtomb
4904.type wcrtomb, @function;
4905wcrtomb:
4906.globl wcscasecmp
4907.type wcscasecmp, @function;
4908wcscasecmp:
4909.globl wcscasecmp_l
4910.type wcscasecmp_l, @function;
4911wcscasecmp_l:
4912.globl wcscat
4913.type wcscat, @function;
4914wcscat:
4915.globl wcschr
4916.type wcschr, @function;
4917wcschr:
4918.globl wcscmp
4919.type wcscmp, @function;
4920wcscmp:
4921.globl wcscoll
4922.type wcscoll, @function;
4923wcscoll:
4924.weak wcscoll_l
4925.type wcscoll_l, @function;
4926wcscoll_l:
4927.globl wcscpy
4928.type wcscpy, @function;
4929wcscpy:
4930.globl wcscspn
4931.type wcscspn, @function;
4932wcscspn:
4933.globl wcsdup
4934.type wcsdup, @function;
4935wcsdup:
4936.globl wcsftime
4937.type wcsftime, @function;
4938wcsftime:
4939.weak wcsftime_l
4940.type wcsftime_l, @function;
4941wcsftime_l:
4942.globl wcslen
4943.type wcslen, @function;
4944wcslen:
4945.globl wcsncasecmp
4946.type wcsncasecmp, @function;
4947wcsncasecmp:
4948.globl wcsncasecmp_l
4949.type wcsncasecmp_l, @function;
4950wcsncasecmp_l:
4951.globl wcsncat
4952.type wcsncat, @function;
4953wcsncat:
4954.globl wcsncmp
4955.type wcsncmp, @function;
4956wcsncmp:
4957.globl wcsncpy
4958.type wcsncpy, @function;
4959wcsncpy:
4960.globl wcsnlen
4961.type wcsnlen, @function;
4962wcsnlen:
4963.globl wcsnrtombs
4964.type wcsnrtombs, @function;
4965wcsnrtombs:
4966.globl wcspbrk
4967.type wcspbrk, @function;
4968wcspbrk:
4969.globl wcsrchr
4970.type wcsrchr, @function;
4971wcsrchr:
4972.globl wcsrtombs
4973.type wcsrtombs, @function;
4974wcsrtombs:
4975.globl wcsspn
4976.type wcsspn, @function;
4977wcsspn:
4978.globl wcsstr
4979.type wcsstr, @function;
4980wcsstr:
4981.globl wcstod
4982.type wcstod, @function;
4983wcstod:
4984.globl wcstof
4985.type wcstof, @function;
4986wcstof:
4987.globl wcstoimax
4988.type wcstoimax, @function;
4989wcstoimax:
4990.globl wcstok
4991.type wcstok, @function;
4992wcstok:
4993.globl wcstol
4994.type wcstol, @function;
4995wcstol:
4996.globl wcstold
4997.type wcstold, @function;
4998wcstold:
4999.globl wcstoll
5000.type wcstoll, @function;
5001wcstoll:
5002.globl wcstombs
5003.type wcstombs, @function;
5004wcstombs:
5005.globl wcstoul
5006.type wcstoul, @function;
5007wcstoul:
5008.globl wcstoull
5009.type wcstoull, @function;
5010wcstoull:
5011.globl wcstoumax
5012.type wcstoumax, @function;
5013wcstoumax:
5014.globl wcswcs
5015.type wcswcs, @function;
5016wcswcs:
5017.globl wcswidth
5018.type wcswidth, @function;
5019wcswidth:
5020.globl wcsxfrm
5021.type wcsxfrm, @function;
5022wcsxfrm:
5023.weak wcsxfrm_l
5024.type wcsxfrm_l, @function;
5025wcsxfrm_l:
5026.globl wctob
5027.type wctob, @function;
5028wctob:
5029.globl wctomb
5030.type wctomb, @function;
5031wctomb:
5032.globl wctrans
5033.type wctrans, @function;
5034wctrans:
5035.weak wctrans_l
5036.type wctrans_l, @function;
5037wctrans_l:
5038.globl wctype
5039.type wctype, @function;
5040wctype:
5041.weak wctype_l
5042.type wctype_l, @function;
5043wctype_l:
5044.globl wcwidth
5045.type wcwidth, @function;
5046wcwidth:
5047.globl wmemchr
5048.type wmemchr, @function;
5049wmemchr:
5050.globl wmemcmp
5051.type wmemcmp, @function;
5052wmemcmp:
5053.globl wmemcpy
5054.type wmemcpy, @function;
5055wmemcpy:
5056.globl wmemmove
5057.type wmemmove, @function;
5058wmemmove:
5059.globl wmemset
5060.type wmemset, @function;
5061wmemset:
5062.globl wordexp
5063.type wordexp, @function;
5064wordexp:
5065.globl wordfree
5066.type wordfree, @function;
5067wordfree:
5068.globl wprintf
5069.type wprintf, @function;
5070wprintf:
5071.globl write
5072.type write, @function;
5073write:
5074.globl writev
5075.type writev, @function;
5076writev:
5077.globl wscanf
5078.type wscanf, @function;
5079wscanf:
5080.globl y0
5081.type y0, @function;
5082y0:
5083.globl y0f
5084.type y0f, @function;
5085y0f:
5086.globl y1
5087.type y1, @function;
5088y1:
5089.globl y1f
5090.type y1f, @function;
5091y1f:
5092.globl yn
5093.type yn, @function;
5094yn:
5095.globl ynf
5096.type ynf, @function;
5097ynf:
lib/std/zig/cross_target.zig+5-1
......@@ -500,8 +500,12 @@ pub const CrossTarget = struct {
500500 self.dynamic_linker.get() == null and self.glibc_version == null;
501501 }
502502
503 pub fn isNativeAbi(self: CrossTarget) bool {
504 return self.os_tag == null and self.abi == null;
505 }
506
503507 pub fn isNative(self: CrossTarget) bool {
504 return self.isNativeCpu() and self.isNativeOs() and self.abi == null;
508 return self.isNativeCpu() and self.isNativeOs() and self.isNativeAbi();
505509 }
506510
507511 pub fn zigTriple(self: CrossTarget, allocator: *mem.Allocator) error{OutOfMemory}![]u8 {
src/Compilation.zig+21-2
......@@ -385,6 +385,7 @@ pub const InitOptions = struct {
385385 single_threaded: bool = false,
386386 function_sections: bool = false,
387387 is_native_os: bool,
388 is_native_abi: bool,
388389 time_report: bool = false,
389390 stack_report: bool = false,
390391 link_eh_frame_hdr: bool = false,
......@@ -600,7 +601,19 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
600601
601602 break :dl false;
602603 };
603 const default_link_mode: std.builtin.LinkMode = if (must_dynamic_link) .Dynamic else .Static;
604 const default_link_mode: std.builtin.LinkMode = blk: {
605 if (must_dynamic_link) {
606 break :blk .Dynamic;
607 } else if (is_exe_or_dyn_lib and link_libc and
608 options.is_native_abi and options.target.abi.isMusl())
609 {
610 // If targeting the system's native ABI and the system's
611 // libc is musl, link dynamically by default.
612 break :blk .Dynamic;
613 } else {
614 break :blk .Static;
615 }
616 };
604617 const link_mode: std.builtin.LinkMode = if (options.link_mode) |lm| blk: {
605618 if (lm == .Static and must_dynamic_link) {
606619 return error.UnableToStaticLink;
......@@ -910,6 +923,7 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
910923 .rpath_list = options.rpath_list,
911924 .strip = strip,
912925 .is_native_os = options.is_native_os,
926 .is_native_abi = options.is_native_abi,
913927 .function_sections = options.function_sections,
914928 .allow_shlib_undefined = options.linker_allow_shlib_undefined,
915929 .bind_global_refs_locally = options.linker_bind_global_refs_locally orelse false,
......@@ -1025,7 +1039,10 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
10251039 .{ .musl_crt_file = .crt1_o },
10261040 .{ .musl_crt_file = .scrt1_o },
10271041 .{ .musl_crt_file = .rcrt1_o },
1028 .{ .musl_crt_file = .libc_a },
1042 switch (comp.bin_file.options.link_mode) {
1043 .Static => .{ .musl_crt_file = .libc_a },
1044 .Dynamic => .{ .musl_crt_file = .libc_so },
1045 },
10291046 });
10301047 }
10311048 if (comp.wantBuildMinGWFromSource()) {
......@@ -2775,6 +2792,7 @@ fn buildOutputFromZig(
27752792 .emit_h = null,
27762793 .strip = comp.bin_file.options.strip,
27772794 .is_native_os = comp.bin_file.options.is_native_os,
2795 .is_native_abi = comp.bin_file.options.is_native_abi,
27782796 .self_exe_path = comp.self_exe_path,
27792797 .verbose_cc = comp.verbose_cc,
27802798 .verbose_link = comp.bin_file.options.verbose_link,
......@@ -3145,6 +3163,7 @@ pub fn build_crt_file(
31453163 .emit_h = null,
31463164 .strip = comp.bin_file.options.strip,
31473165 .is_native_os = comp.bin_file.options.is_native_os,
3166 .is_native_abi = comp.bin_file.options.is_native_abi,
31483167 .self_exe_path = comp.self_exe_path,
31493168 .c_source_files = c_source_files,
31503169 .verbose_cc = comp.verbose_cc,
src/glibc.zig+1
......@@ -944,6 +944,7 @@ fn buildSharedLib(
944944 .emit_h = null,
945945 .strip = comp.bin_file.options.strip,
946946 .is_native_os = false,
947 .is_native_abi = false,
947948 .self_exe_path = comp.self_exe_path,
948949 .verbose_cc = comp.verbose_cc,
949950 .verbose_link = comp.bin_file.options.verbose_link,
src/libcxx.zig+2
......@@ -175,6 +175,7 @@ pub fn buildLibCXX(comp: *Compilation) !void {
175175 .emit_h = null,
176176 .strip = comp.bin_file.options.strip,
177177 .is_native_os = comp.bin_file.options.is_native_os,
178 .is_native_abi = comp.bin_file.options.is_native_abi,
178179 .self_exe_path = comp.self_exe_path,
179180 .c_source_files = c_source_files.items,
180181 .verbose_cc = comp.verbose_cc,
......@@ -293,6 +294,7 @@ pub fn buildLibCXXABI(comp: *Compilation) !void {
293294 .emit_h = null,
294295 .strip = comp.bin_file.options.strip,
295296 .is_native_os = comp.bin_file.options.is_native_os,
297 .is_native_abi = comp.bin_file.options.is_native_abi,
296298 .self_exe_path = comp.self_exe_path,
297299 .c_source_files = &c_source_files,
298300 .verbose_cc = comp.verbose_cc,
src/libunwind.zig+1
......@@ -108,6 +108,7 @@ pub fn buildStaticLib(comp: *Compilation) !void {
108108 .emit_h = null,
109109 .strip = comp.bin_file.options.strip,
110110 .is_native_os = comp.bin_file.options.is_native_os,
111 .is_native_abi = comp.bin_file.options.is_native_abi,
111112 .self_exe_path = comp.self_exe_path,
112113 .c_source_files = &c_source_files,
113114 .verbose_cc = comp.verbose_cc,
src/link.zig+1
......@@ -71,6 +71,7 @@ pub const Options = struct {
7171 z_defs: bool,
7272 bind_global_refs_locally: bool,
7373 is_native_os: bool,
74 is_native_abi: bool,
7475 pic: bool,
7576 pie: bool,
7677 valgrind: bool,
src/link/Elf.zig+4-1
......@@ -1598,7 +1598,10 @@ fn linkWithLLD(self: *Elf, comp: *Compilation) !void {
15981598 try argv.append(try comp.get_libc_crt_file(arena, "libc_nonshared.a"));
15991599 } else if (target.isMusl()) {
16001600 try argv.append(comp.libunwind_static_lib.?.full_object_path);
1601 try argv.append(try comp.get_libc_crt_file(arena, "libc.a"));
1601 try argv.append(try comp.get_libc_crt_file(arena, switch (self.base.options.link_mode) {
1602 .Static => "libc.a",
1603 .Dynamic => "libc.so",
1604 }));
16021605 } else if (self.base.options.link_libcpp) {
16031606 try argv.append(comp.libunwind_static_lib.?.full_object_path);
16041607 } else {
src/main.zig+2
......@@ -1685,6 +1685,7 @@ fn buildOutputType(
16851685 .root_name = root_name,
16861686 .target = target_info.target,
16871687 .is_native_os = cross_target.isNativeOs(),
1688 .is_native_abi = cross_target.isNativeAbi(),
16881689 .dynamic_linker = target_info.dynamic_linker.get(),
16891690 .output_mode = output_mode,
16901691 .root_pkg = root_pkg,
......@@ -2415,6 +2416,7 @@ pub fn cmdBuild(gpa: *Allocator, arena: *Allocator, args: []const []const u8) !v
24152416 .root_name = "build",
24162417 .target = target_info.target,
24172418 .is_native_os = cross_target.isNativeOs(),
2419 .is_native_abi = cross_target.isNativeAbi(),
24182420 .dynamic_linker = target_info.dynamic_linker.get(),
24192421 .output_mode = .Exe,
24202422 .root_pkg = &root_pkg,
src/musl.zig+54
......@@ -15,6 +15,7 @@ pub const CRTFile = enum {
1515 rcrt1_o,
1616 scrt1_o,
1717 libc_a,
18 libc_so,
1819};
1920
2021pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void {
......@@ -189,6 +190,59 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void {
189190 }
190191 return comp.build_crt_file("c", .Lib, c_source_files.items);
191192 },
193 .libc_so => {
194 const sub_compilation = try Compilation.create(comp.gpa, .{
195 .local_cache_directory = comp.global_cache_directory,
196 .global_cache_directory = comp.global_cache_directory,
197 .zig_lib_directory = comp.zig_lib_directory,
198 .target = comp.getTarget(),
199 .root_name = "c",
200 .root_pkg = null,
201 .output_mode = .Lib,
202 .link_mode = .Dynamic,
203 .rand = comp.rand,
204 .libc_installation = comp.bin_file.options.libc_installation,
205 .emit_bin = Compilation.EmitLoc{ .directory = null, .basename = "libc.so" },
206 .optimize_mode = comp.bin_file.options.optimize_mode,
207 .want_sanitize_c = false,
208 .want_stack_check = false,
209 .want_valgrind = false,
210 .emit_h = null,
211 .strip = comp.bin_file.options.strip,
212 .is_native_os = false,
213 .is_native_abi = false,
214 .self_exe_path = comp.self_exe_path,
215 .verbose_cc = comp.verbose_cc,
216 .verbose_link = comp.bin_file.options.verbose_link,
217 .verbose_tokenize = comp.verbose_tokenize,
218 .verbose_ast = comp.verbose_ast,
219 .verbose_ir = comp.verbose_ir,
220 .verbose_llvm_ir = comp.verbose_llvm_ir,
221 .verbose_cimport = comp.verbose_cimport,
222 .verbose_llvm_cpu_features = comp.verbose_llvm_cpu_features,
223 .clang_passthrough_mode = comp.clang_passthrough_mode,
224 .c_source_files = &[_]Compilation.CSourceFile{
225 .{ .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "musl", "libc.s" }) },
226 },
227 .is_compiler_rt_or_libc = true,
228 .soname = "libc.so",
229 });
230 defer sub_compilation.destroy();
231
232 try sub_compilation.updateSubCompilation();
233
234 try comp.crt_files.ensureCapacity(comp.gpa, comp.crt_files.count() + 1);
235
236 const basename = try comp.gpa.dupe(u8, "libc.so");
237 errdefer comp.gpa.free(basename);
238
239 comp.crt_files.putAssumeCapacityNoClobber(basename, .{
240 .full_object_path = try sub_compilation.bin_file.options.emit.?.directory.join(comp.gpa, &[_][]const u8{
241 sub_compilation.bin_file.options.emit.?.sub_path,
242 }),
243 .lock = sub_compilation.bin_file.toOwnedLock(),
244 });
245 },
192246 }
193247}
194248
src/test.zig+1
......@@ -561,6 +561,7 @@ pub const TestContext = struct {
561561 .keep_source_files_loaded = true,
562562 .object_format = ofmt,
563563 .is_native_os = case.target.isNativeOs(),
564 .is_native_abi = case.target.isNativeAbi(),
564565 });
565566 defer comp.destroy();
566567
tools/gen_stubs.zig created+117
......@@ -0,0 +1,117 @@
1const std = @import("std");
2
3const mem = std.mem;
4
5const Symbol = struct {
6 name: []const u8,
7 section: []const u8,
8 kind: enum {
9 global,
10 weak,
11 },
12 type: enum {
13 none,
14 function,
15 object,
16 },
17 protected: bool,
18};
19
20// Example usage:
21// objdump --dynamic-syms /path/to/libc.so | ./gen_stubs > lib/libc/musl/libc.s
22pub fn main() !void {
23 const stdin = std.io.getStdIn().reader();
24 const stdout = std.io.getStdOut().writer();
25
26 var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
27 defer arena.deinit();
28 const ally = &arena.allocator;
29
30 var symbols = std.ArrayList(Symbol).init(ally);
31 var sections = std.ArrayList([]const u8).init(ally);
32
33 // This is many times larger than any line objdump produces should ever be
34 var buf: [4096]u8 = undefined;
35
36 // Sample input line:
37 // 00000000000241b0 g DF .text 000000000000001b copy_file_range
38 while (try stdin.readUntilDelimiterOrEof(&buf, '\n')) |line| {
39 // the lines we want all start with a 16 digit hex value
40 if (line.len < 16) continue;
41 _ = std.fmt.parseInt(u64, line[0..16], 16) catch continue;
42
43 // Ignore non-dynamic symbols
44 if (line[22] != 'D') continue;
45
46 const section = line[25 .. 25 + mem.indexOfAny(u8, line[25..], &std.ascii.spaces).?];
47
48 // the last whitespace-separated column is the symbol name
49 const name = line[1 + mem.lastIndexOfAny(u8, line, &std.ascii.spaces).? ..];
50
51 const symbol = Symbol{
52 .name = try ally.dupe(u8, name),
53 .section = try ally.dupe(u8, section),
54
55 .kind = if (line[17] == 'g' and line[18] == ' ')
56 .global
57 else if (line[17] == ' ' and line[18] == 'w')
58 .weak
59 else
60 unreachable,
61
62 .type = switch (line[23]) {
63 'F' => .function,
64 'O' => .object,
65 ' ' => .none,
66 else => unreachable,
67 },
68
69 .protected = mem.indexOf(u8, line, ".protected") != null,
70 };
71
72 for (sections.items) |s| {
73 if (mem.eql(u8, s, symbol.section)) break;
74 } else {
75 try sections.append(symbol.section);
76 }
77
78 try symbols.append(symbol);
79 }
80
81 std.sort.sort(Symbol, symbols.items, {}, cmpSymbols);
82 std.sort.sort([]const u8, sections.items, {}, alphabetical);
83
84 for (sections.items) |section| {
85 try stdout.print("{s}\n", .{section});
86
87 for (symbols.items) |symbol| {
88 if (!mem.eql(u8, symbol.section, section)) continue;
89
90 switch (symbol.kind) {
91 .global => try stdout.print(".globl {s}\n", .{symbol.name}),
92 .weak => try stdout.print(".weak {s}\n", .{symbol.name}),
93 }
94 switch (symbol.type) {
95 .function => try stdout.print(".type {s}, @function;\n", .{symbol.name}),
96 .object => try stdout.print(".type {s}, @object;\n", .{symbol.name}),
97 .none => {},
98 }
99 if (symbol.protected)
100 try stdout.print(".protected {s}\n", .{symbol.name});
101 try stdout.print("{s}:\n", .{symbol.name});
102 }
103 }
104}
105
106fn cmpSymbols(_: void, lhs: Symbol, rhs: Symbol) bool {
107 return alphabetical({}, lhs.name, rhs.name);
108}
109
110fn alphabetical(_: void, lhs: []const u8, rhs: []const u8) bool {
111 var i: usize = 0;
112 while (i < lhs.len and i < rhs.len) : (i += 1) {
113 if (lhs[i] == rhs[i]) continue;
114 return lhs[i] < rhs[i];
115 }
116 return lhs.len < rhs.len;
117}