aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/musl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/musl')
-rw-r--r--lib/libc/musl/COPYRIGHT5
-rw-r--r--lib/libc/musl/arch/aarch64/bits/hwcap.h2
-rw-r--r--lib/libc/musl/arch/aarch64/bits/mman.h2
-rw-r--r--lib/libc/musl/arch/aarch64/bits/syscall.h.in6
-rw-r--r--lib/libc/musl/arch/arm/bits/syscall.h.in6
-rw-r--r--lib/libc/musl/arch/i386/arch.mak1
-rw-r--r--lib/libc/musl/arch/i386/bits/syscall.h.in6
-rw-r--r--lib/libc/musl/arch/m68k/arch.mak1
-rw-r--r--lib/libc/musl/arch/m68k/atomic_arch.h8
-rw-r--r--lib/libc/musl/arch/m68k/bits/alltypes.h.in25
-rw-r--r--lib/libc/musl/arch/m68k/bits/fcntl.h40
-rw-r--r--lib/libc/musl/arch/m68k/bits/fenv.h29
-rw-r--r--lib/libc/musl/arch/m68k/bits/float.h39
-rw-r--r--lib/libc/musl/arch/m68k/bits/ipcstat.h1
-rw-r--r--lib/libc/musl/arch/m68k/bits/msg.h18
-rw-r--r--lib/libc/musl/arch/m68k/bits/posix.h2
-rw-r--r--lib/libc/musl/arch/m68k/bits/ptrace.h2
-rw-r--r--lib/libc/musl/arch/m68k/bits/reg.h45
-rw-r--r--lib/libc/musl/arch/m68k/bits/sem.h13
-rw-r--r--lib/libc/musl/arch/m68k/bits/setjmp.h1
-rw-r--r--lib/libc/musl/arch/m68k/bits/shm.h31
-rw-r--r--lib/libc/musl/arch/m68k/bits/signal.h140
-rw-r--r--lib/libc/musl/arch/m68k/bits/stat.h25
-rw-r--r--lib/libc/musl/arch/m68k/bits/stdint.h20
-rw-r--r--lib/libc/musl/arch/m68k/bits/syscall.h.in418
-rw-r--r--lib/libc/musl/arch/m68k/bits/user.h38
-rw-r--r--lib/libc/musl/arch/m68k/crt_arch.h14
-rw-r--r--lib/libc/musl/arch/m68k/kstat.h21
-rw-r--r--lib/libc/musl/arch/m68k/pthread_arch.h12
-rw-r--r--lib/libc/musl/arch/m68k/reloc.h30
-rw-r--r--lib/libc/musl/arch/m68k/syscall_arch.h90
-rw-r--r--lib/libc/musl/arch/mips/arch.mak1
-rw-r--r--lib/libc/musl/arch/mips/bits/syscall.h.in6
-rw-r--r--lib/libc/musl/arch/mips/pthread_arch.h3
-rw-r--r--lib/libc/musl/arch/mips64/bits/syscall.h.in6
-rw-r--r--lib/libc/musl/arch/powerpc/arch.mak1
-rw-r--r--lib/libc/musl/arch/powerpc/bits/fenv.h2
-rw-r--r--lib/libc/musl/arch/powerpc/bits/shm.h2
-rw-r--r--lib/libc/musl/arch/powerpc/bits/syscall.h.in6
-rw-r--r--lib/libc/musl/arch/powerpc/reloc.h2
-rw-r--r--lib/libc/musl/arch/powerpc64/bits/syscall.h.in6
-rw-r--r--lib/libc/musl/arch/riscv64/bits/syscall.h.in8
-rw-r--r--lib/libc/musl/arch/riscv64/bits/user.h1
-rw-r--r--lib/libc/musl/arch/s390x/bits/ptrace.h3
-rw-r--r--lib/libc/musl/arch/s390x/bits/syscall.h.in6
-rw-r--r--lib/libc/musl/arch/x86_64/bits/syscall.h.in6
-rw-r--r--lib/libc/musl/include/ctype.h2
-rw-r--r--lib/libc/musl/include/elf.h2
-rw-r--r--lib/libc/musl/include/locale.h4
-rw-r--r--lib/libc/musl/include/netinet/if_ether.h1
-rw-r--r--lib/libc/musl/include/netinet/in.h1
-rw-r--r--lib/libc/musl/include/netinet/tcp.h11
-rw-r--r--lib/libc/musl/include/pthread.h1
-rw-r--r--lib/libc/musl/include/setjmp.h14
-rw-r--r--lib/libc/musl/include/signal.h8
-rw-r--r--lib/libc/musl/include/stdc-predef.h3
-rw-r--r--lib/libc/musl/include/stddef.h4
-rw-r--r--lib/libc/musl/include/stdio.h4
-rw-r--r--lib/libc/musl/include/stdlib.h5
-rw-r--r--lib/libc/musl/include/string.h4
-rw-r--r--lib/libc/musl/include/sys/membarrier.h4
-rw-r--r--lib/libc/musl/include/sys/mman.h1
-rw-r--r--lib/libc/musl/include/sys/mount.h1
-rw-r--r--lib/libc/musl/include/sys/prctl.h16
-rw-r--r--lib/libc/musl/include/sys/ptrace.h9
-rw-r--r--lib/libc/musl/include/sys/socket.h2
-rw-r--r--lib/libc/musl/include/time.h4
-rw-r--r--lib/libc/musl/include/unistd.h6
-rw-r--r--lib/libc/musl/include/wchar.h4
-rw-r--r--lib/libc/musl/libc.S8769
-rw-r--r--lib/libc/musl/src/complex/cacosf.c4
-rw-r--r--lib/libc/musl/src/complex/catanf.c4
-rw-r--r--lib/libc/musl/src/complex/cproj.c2
-rw-r--r--lib/libc/musl/src/complex/cprojf.c2
-rw-r--r--lib/libc/musl/src/complex/cprojl.c2
-rw-r--r--lib/libc/musl/src/ctype/nonspacing.h118
-rw-r--r--lib/libc/musl/src/env/__libc_start_main.c3
-rw-r--r--lib/libc/musl/src/env/__stack_chk_fail.c9
-rw-r--r--lib/libc/musl/src/errno/__strerror.h4
-rw-r--r--lib/libc/musl/src/fenv/powerpc/fenv-sf.c2
-rw-r--r--lib/libc/musl/src/fenv/powerpc/fenv.S2
-rw-r--r--lib/libc/musl/src/include/stdlib.h1
-rw-r--r--lib/libc/musl/src/internal/version.h2
-rw-r--r--lib/libc/musl/src/ldso/dl_iterate_phdr.c3
-rw-r--r--lib/libc/musl/src/legacy/cuserid.c14
-rw-r--r--lib/libc/musl/src/linux/epoll.c4
-rw-r--r--lib/libc/musl/src/locale/dcngettext.c3
-rw-r--r--lib/libc/musl/src/locale/duplocale.c5
-rw-r--r--lib/libc/musl/src/locale/strtod_l.c22
-rw-r--r--lib/libc/musl/src/malloc/free.c2
-rw-r--r--lib/libc/musl/src/malloc/mallocng/aligned_alloc.c3
-rw-r--r--lib/libc/musl/src/malloc/mallocng/free.c12
-rw-r--r--lib/libc/musl/src/malloc/oldmalloc/malloc.c6
-rw-r--r--lib/libc/musl/src/math/acoshf.c8
-rw-r--r--lib/libc/musl/src/math/expm1f.c3
-rw-r--r--lib/libc/musl/src/math/fmaf.c21
-rw-r--r--lib/libc/musl/src/math/powerpc/fabs.c2
-rw-r--r--lib/libc/musl/src/math/powerpc/fabsf.c2
-rw-r--r--lib/libc/musl/src/math/powerpc/fma.c2
-rw-r--r--lib/libc/musl/src/math/powerpc/fmaf.c2
-rw-r--r--lib/libc/musl/src/misc/ioctl.c9
-rw-r--r--lib/libc/musl/src/passwd/nscd_query.c10
-rw-r--r--lib/libc/musl/src/process/fdop.h5
-rw-r--r--lib/libc/musl/src/process/posix_spawn_file_actions_addclose.c1
-rw-r--r--lib/libc/musl/src/process/posix_spawn_file_actions_adddup2.c1
-rw-r--r--lib/libc/musl/src/process/posix_spawn_file_actions_addfchdir.c1
-rw-r--r--lib/libc/musl/src/process/posix_spawn_file_actions_addopen.c1
-rw-r--r--lib/libc/musl/src/setjmp/powerpc/longjmp.S32
-rw-r--r--lib/libc/musl/src/setjmp/powerpc/setjmp.S32
-rw-r--r--lib/libc/musl/src/signal/block.c4
-rw-r--r--lib/libc/musl/src/stdio/fgetws.c7
-rw-r--r--lib/libc/musl/src/stdio/fseek.c7
-rw-r--r--lib/libc/musl/src/stdio/getdelim.c8
-rw-r--r--lib/libc/musl/src/stdio/popen.c24
-rw-r--r--lib/libc/musl/src/stdlib/qsort.c37
-rw-r--r--lib/libc/musl/src/stdlib/qsort_nr.c14
-rw-r--r--lib/libc/musl/src/stdlib/strtod.c7
-rw-r--r--lib/libc/musl/src/thread/pthread_getname_np.c25
-rw-r--r--lib/libc/musl/src/thread/pthread_setname_np.c2
-rw-r--r--lib/libc/musl/src/time/__tz.c40
-rw-r--r--lib/libc/musl/src/unistd/nice.c9
121 files changed, 6015 insertions, 4560 deletions
diff --git a/lib/libc/musl/COPYRIGHT b/lib/libc/musl/COPYRIGHT
index e647237146..c1628e9ac8 100644
--- a/lib/libc/musl/COPYRIGHT
+++ b/lib/libc/musl/COPYRIGHT
@@ -127,10 +127,13 @@ Copyright © 2017-2018 Arm Limited
and labelled as such in comments in the individual source files. All
have been licensed under extremely permissive terms.
-The ARM memcpy code (src/string/arm/memcpy_el.S) is Copyright © 2008
+The ARM memcpy code (src/string/arm/memcpy.S) is Copyright © 2008
The Android Open Source Project and is licensed under a two-clause BSD
license. It was taken from Bionic libc, used on Android.
+The AArch64 memcpy and memset code (src/string/aarch64/*) are
+Copyright © 1999-2019, Arm Limited.
+
The implementation of DES for crypt (src/crypt/crypt_des.c) is
Copyright © 1994 David Burren. It is licensed under a BSD license.
diff --git a/lib/libc/musl/arch/aarch64/bits/hwcap.h b/lib/libc/musl/arch/aarch64/bits/hwcap.h
index 7ab73f99b6..424cc4d4fc 100644
--- a/lib/libc/musl/arch/aarch64/bits/hwcap.h
+++ b/lib/libc/musl/arch/aarch64/bits/hwcap.h
@@ -48,3 +48,5 @@
#define HWCAP2_BF16 (1 << 14)
#define HWCAP2_DGH (1 << 15)
#define HWCAP2_RNG (1 << 16)
+#define HWCAP2_BTI (1 << 17)
+#define HWCAP2_MTE (1 << 18)
diff --git a/lib/libc/musl/arch/aarch64/bits/mman.h b/lib/libc/musl/arch/aarch64/bits/mman.h
new file mode 100644
index 0000000000..8fad5ceb0f
--- /dev/null
+++ b/lib/libc/musl/arch/aarch64/bits/mman.h
@@ -0,0 +1,2 @@
+#define PROT_BTI 0x10
+#define PROT_MTE 0x20
diff --git a/lib/libc/musl/arch/aarch64/bits/syscall.h.in b/lib/libc/musl/arch/aarch64/bits/syscall.h.in
index f9457c184a..5f420e6176 100644
--- a/lib/libc/musl/arch/aarch64/bits/syscall.h.in
+++ b/lib/libc/musl/arch/aarch64/bits/syscall.h.in
@@ -293,4 +293,10 @@
#define __NR_openat2 437
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/lib/libc/musl/arch/arm/bits/syscall.h.in b/lib/libc/musl/arch/arm/bits/syscall.h.in
index 7e2fc26697..048fdea797 100644
--- a/lib/libc/musl/arch/arm/bits/syscall.h.in
+++ b/lib/libc/musl/arch/arm/bits/syscall.h.in
@@ -393,6 +393,12 @@
#define __NR_openat2 437
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
#define __ARM_NR_breakpoint 0x0f0001
#define __ARM_NR_cacheflush 0x0f0002
diff --git a/lib/libc/musl/arch/i386/arch.mak b/lib/libc/musl/arch/i386/arch.mak
new file mode 100644
index 0000000000..aa4d05ceff
--- /dev/null
+++ b/lib/libc/musl/arch/i386/arch.mak
@@ -0,0 +1 @@
+COMPAT_SRC_DIRS = compat/time32
diff --git a/lib/libc/musl/arch/i386/bits/syscall.h.in b/lib/libc/musl/arch/i386/bits/syscall.h.in
index abdb210d39..46ffe1d99a 100644
--- a/lib/libc/musl/arch/i386/bits/syscall.h.in
+++ b/lib/libc/musl/arch/i386/bits/syscall.h.in
@@ -430,4 +430,10 @@
#define __NR_openat2 437
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/lib/libc/musl/arch/m68k/arch.mak b/lib/libc/musl/arch/m68k/arch.mak
new file mode 100644
index 0000000000..aa4d05ceff
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/arch.mak
@@ -0,0 +1 @@
+COMPAT_SRC_DIRS = compat/time32
diff --git a/lib/libc/musl/arch/m68k/atomic_arch.h b/lib/libc/musl/arch/m68k/atomic_arch.h
new file mode 100644
index 0000000000..b369649a1a
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/atomic_arch.h
@@ -0,0 +1,8 @@
+#define a_cas a_cas
+static inline int a_cas(volatile int *p, int t, int s)
+{
+ __asm__ __volatile__ (
+ "cas.l %0, %2, (%1)"
+ : "+d"(t) : "a"(p), "d"(s) : "memory", "cc");
+ return t;
+}
diff --git a/lib/libc/musl/arch/m68k/bits/alltypes.h.in b/lib/libc/musl/arch/m68k/bits/alltypes.h.in
new file mode 100644
index 0000000000..f564690983
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/alltypes.h.in
@@ -0,0 +1,25 @@
+#define _REDIR_TIME64 1
+#define _Addr int
+#define _Int64 long long
+#define _Reg int
+
+#define __BYTE_ORDER 4321
+#define __LONG_MAX 0x7fffffffL
+
+#ifndef __cplusplus
+#ifdef __WCHAR_TYPE__
+TYPEDEF __WCHAR_TYPE__ wchar_t;
+#else
+TYPEDEF long wchar_t;
+#endif
+#endif
+
+#if __mcffpu__
+TYPEDEF float float_t;
+TYPEDEF double double_t;
+#else
+TYPEDEF long double float_t;
+TYPEDEF long double double_t;
+#endif
+
+TYPEDEF struct { long long __ll; long double __ld; } max_align_t;
diff --git a/lib/libc/musl/arch/m68k/bits/fcntl.h b/lib/libc/musl/arch/m68k/bits/fcntl.h
new file mode 100644
index 0000000000..f1c8400ffc
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/fcntl.h
@@ -0,0 +1,40 @@
+#define O_CREAT 0100
+#define O_EXCL 0200
+#define O_NOCTTY 0400
+#define O_TRUNC 01000
+#define O_APPEND 02000
+#define O_NONBLOCK 04000
+#define O_DSYNC 010000
+#define O_SYNC 04010000
+#define O_RSYNC 04010000
+#define O_DIRECTORY 040000
+#define O_NOFOLLOW 0100000
+#define O_CLOEXEC 02000000
+
+#define O_ASYNC 020000
+#define O_DIRECT 0200000
+#define O_LARGEFILE 0400000
+#define O_NOATIME 01000000
+#define O_PATH 010000000
+#define O_TMPFILE 020200000
+#define O_NDELAY O_NONBLOCK
+
+#define F_DUPFD 0
+#define F_GETFD 1
+#define F_SETFD 2
+#define F_GETFL 3
+#define F_SETFL 4
+
+#define F_SETOWN 8
+#define F_GETOWN 9
+#define F_SETSIG 10
+#define F_GETSIG 11
+
+#define F_GETLK 12
+#define F_SETLK 13
+#define F_SETLKW 14
+
+#define F_SETOWN_EX 15
+#define F_GETOWN_EX 16
+
+#define F_GETOWNER_UIDS 17
diff --git a/lib/libc/musl/arch/m68k/bits/fenv.h b/lib/libc/musl/arch/m68k/bits/fenv.h
new file mode 100644
index 0000000000..c90a4a58af
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/fenv.h
@@ -0,0 +1,29 @@
+#if __HAVE_68881__ || __mcffpu__
+
+#define FE_INEXACT 8
+#define FE_DIVBYZERO 16
+#define FE_UNDERFLOW 32
+#define FE_OVERFLOW 64
+#define FE_INVALID 128
+
+#define FE_ALL_EXCEPT 0xf8
+
+#define FE_TONEAREST 0
+#define FE_TOWARDZERO 16
+#define FE_DOWNWARD 32
+#define FE_UPWARD 48
+
+#else
+
+#define FE_ALL_EXCEPT 0
+#define FE_TONEAREST 0
+
+#endif
+
+typedef unsigned fexcept_t;
+
+typedef struct {
+ unsigned __control_register, __status_register, __instruction_address;
+} fenv_t;
+
+#define FE_DFL_ENV ((const fenv_t *) -1)
diff --git a/lib/libc/musl/arch/m68k/bits/float.h b/lib/libc/musl/arch/m68k/bits/float.h
new file mode 100644
index 0000000000..0e6899d583
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/float.h
@@ -0,0 +1,39 @@
+#if !__mcffpu__
+
+#define FLT_EVAL_METHOD 2
+
+#define LDBL_TRUE_MIN 3.6451995318824746025e-4951L
+#define LDBL_MIN 1.68105157155604675313e-4932L
+#define LDBL_MAX 1.1897314953572317650e+4932L
+#define LDBL_EPSILON 1.0842021724855044340e-19L
+
+#define LDBL_MANT_DIG 64
+#define LDBL_MIN_EXP (-16382)
+#define LDBL_MAX_EXP 16384
+
+#define LDBL_DIG 18
+#define LDBL_MIN_10_EXP (-4931)
+#define LDBL_MAX_10_EXP 4932
+
+#define DECIMAL_DIG 21
+
+#else
+
+#define FLT_EVAL_METHOD 0
+
+#define LDBL_TRUE_MIN 4.94065645841246544177e-324L
+#define LDBL_MIN 2.22507385850720138309e-308L
+#define LDBL_MAX 1.79769313486231570815e+308L
+#define LDBL_EPSILON 2.22044604925031308085e-16L
+
+#define LDBL_MANT_DIG 53
+#define LDBL_MIN_EXP (-1021)
+#define LDBL_MAX_EXP 1024
+
+#define LDBL_DIG 15
+#define LDBL_MIN_10_EXP (-307)
+#define LDBL_MAX_10_EXP 308
+
+#define DECIMAL_DIG 17
+
+#endif
diff --git a/lib/libc/musl/arch/m68k/bits/ipcstat.h b/lib/libc/musl/arch/m68k/bits/ipcstat.h
new file mode 100644
index 0000000000..4f4fcb0c5b
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/ipcstat.h
@@ -0,0 +1 @@
+#define IPC_STAT 0x102
diff --git a/lib/libc/musl/arch/m68k/bits/msg.h b/lib/libc/musl/arch/m68k/bits/msg.h
new file mode 100644
index 0000000000..7bbbb2bf43
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/msg.h
@@ -0,0 +1,18 @@
+struct msqid_ds {
+ struct ipc_perm msg_perm;
+ unsigned long __msg_stime_lo;
+ unsigned long __msg_stime_hi;
+ unsigned long __msg_rtime_lo;
+ unsigned long __msg_rtime_hi;
+ unsigned long __msg_ctime_lo;
+ unsigned long __msg_ctime_hi;
+ unsigned long msg_cbytes;
+ msgqnum_t msg_qnum;
+ msglen_t msg_qbytes;
+ pid_t msg_lspid;
+ pid_t msg_lrpid;
+ unsigned long __unused[2];
+ time_t msg_stime;
+ time_t msg_rtime;
+ time_t msg_ctime;
+};
diff --git a/lib/libc/musl/arch/m68k/bits/posix.h b/lib/libc/musl/arch/m68k/bits/posix.h
new file mode 100644
index 0000000000..30a38714f3
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/posix.h
@@ -0,0 +1,2 @@
+#define _POSIX_V6_ILP32_OFFBIG 1
+#define _POSIX_V7_ILP32_OFFBIG 1
diff --git a/lib/libc/musl/arch/m68k/bits/ptrace.h b/lib/libc/musl/arch/m68k/bits/ptrace.h
new file mode 100644
index 0000000000..da93e7a729
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/ptrace.h
@@ -0,0 +1,2 @@
+#define PTRACE_GET_THREAD_AREA 25
+#define PTRACE_SINGLEBLOCK 33
diff --git a/lib/libc/musl/arch/m68k/bits/reg.h b/lib/libc/musl/arch/m68k/bits/reg.h
new file mode 100644
index 0000000000..99201f7094
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/reg.h
@@ -0,0 +1,45 @@
+#undef __WORDSIZE
+#define __WORDSIZE 32
+#define PT_D1 0
+#define PT_D2 1
+#define PT_D3 2
+#define PT_D4 3
+#define PT_D5 4
+#define PT_D6 5
+#define PT_D7 6
+#define PT_A0 7
+#define PT_A1 8
+#define PT_A2 9
+#define PT_A3 10
+#define PT_A4 11
+#define PT_A5 12
+#define PT_A6 13
+#define PT_D0 14
+#define PT_USP 15
+#define PT_ORIG_D0 16
+#define PT_SR 17
+#define PT_PC 18
+
+#if __mcffpu__
+#define PT_FP0 21
+#define PT_FP1 23
+#define PT_FP2 25
+#define PT_FP3 27
+#define PT_FP4 29
+#define PT_FP5 31
+#define PT_FP6 33
+#define PT_FP7 35
+#else
+#define PT_FP0 21
+#define PT_FP1 24
+#define PT_FP2 27
+#define PT_FP3 30
+#define PT_FP4 33
+#define PT_FP5 36
+#define PT_FP6 39
+#define PT_FP7 42
+#endif
+
+#define PT_FPCR 45
+#define PT_FPSR 46
+#define PT_FPIAR 47
diff --git a/lib/libc/musl/arch/m68k/bits/sem.h b/lib/libc/musl/arch/m68k/bits/sem.h
new file mode 100644
index 0000000000..d88338e695
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/sem.h
@@ -0,0 +1,13 @@
+struct semid_ds {
+ struct ipc_perm sem_perm;
+ unsigned long __sem_otime_lo;
+ unsigned long __sem_otime_hi;
+ unsigned long __sem_ctime_lo;
+ unsigned long __sem_ctime_hi;
+ char __sem_nsems_pad[sizeof(long)-sizeof(short)];
+ unsigned short sem_nsems;
+ long __unused3;
+ long __unused4;
+ time_t sem_otime;
+ time_t sem_ctime;
+};
diff --git a/lib/libc/musl/arch/m68k/bits/setjmp.h b/lib/libc/musl/arch/m68k/bits/setjmp.h
new file mode 100644
index 0000000000..5e091fb49b
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/setjmp.h
@@ -0,0 +1 @@
+typedef unsigned long __jmp_buf[39];
diff --git a/lib/libc/musl/arch/m68k/bits/shm.h b/lib/libc/musl/arch/m68k/bits/shm.h
new file mode 100644
index 0000000000..725fb46968
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/shm.h
@@ -0,0 +1,31 @@
+#define SHMLBA 4096
+
+struct shmid_ds {
+ struct ipc_perm shm_perm;
+ size_t shm_segsz;
+ unsigned long __shm_atime_lo;
+ unsigned long __shm_atime_hi;
+ unsigned long __shm_dtime_lo;
+ unsigned long __shm_dtime_hi;
+ unsigned long __shm_ctime_lo;
+ unsigned long __shm_ctime_hi;
+ pid_t shm_cpid;
+ pid_t shm_lpid;
+ unsigned long shm_nattch;
+ unsigned long __pad1;
+ unsigned long __pad2;
+ unsigned long __pad3;
+ time_t shm_atime;
+ time_t shm_dtime;
+ time_t shm_ctime;
+};
+
+struct shminfo {
+ unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
+};
+
+struct shm_info {
+ int __used_ids;
+ unsigned long shm_tot, shm_rss, shm_swp;
+ unsigned long __swap_attempts, __swap_successes;
+};
diff --git a/lib/libc/musl/arch/m68k/bits/signal.h b/lib/libc/musl/arch/m68k/bits/signal.h
new file mode 100644
index 0000000000..2c369ca35c
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/signal.h
@@ -0,0 +1,140 @@
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+#define MINSIGSTKSZ 2048
+#define SIGSTKSZ 8192
+#endif
+
+#ifdef _GNU_SOURCE
+enum { R_D0 = 0 };
+#define R_D0 R_D0
+enum { R_D1 = 1 };
+#define R_D1 R_D1
+enum { R_D2 = 2 };
+#define R_D2 R_D2
+enum { R_D3 = 3 };
+#define R_D3 R_D3
+enum { R_D4 = 4 };
+#define R_D4 R_D4
+enum { R_D5 = 5 };
+#define R_D5 R_D5
+enum { R_D6 = 6 };
+#define R_D6 R_D6
+enum { R_D7 = 7 };
+#define R_D7 R_D7
+enum { R_A0 = 8 };
+#define R_A0 R_A0
+enum { R_A1 = 9 };
+#define R_A1 R_A1
+enum { R_A2 = 10 };
+#define R_A2 R_A2
+enum { R_A3 = 11 };
+#define R_A3 R_A3
+enum { R_A4 = 12 };
+#define R_A4 R_A4
+enum { R_A5 = 13 };
+#define R_A5 R_A5
+enum { R_A6 = 14 };
+#define R_A6 R_A6
+enum { R_A7 = 15 };
+#define R_A7 R_A7
+enum { R_SP = 15 };
+#define R_SP R_SP
+enum { R_PC = 16 };
+#define R_PC R_PC
+enum { R_PS = 17 };
+#define R_PS R_PS
+#endif
+
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+
+struct sigcontext {
+ unsigned long sc_mask, sc_usp, sc_d0, sc_d1, sc_a0, sc_a1;
+ unsigned short sc_sr;
+ unsigned long sc_pc;
+ unsigned short sc_formatvec;
+ unsigned long sc_fpregs[6], sc_fpcntl[3];
+ unsigned char sc_fpstate[216];
+};
+
+typedef int greg_t, gregset_t[18];
+typedef struct {
+ int f_pcr, f_psr, f_fpiaddr, f_fpregs[8][3];
+} fpregset_t;
+
+typedef struct {
+ int version;
+ gregset_t gregs;
+ fpregset_t fpregs;
+} mcontext_t;
+#else
+typedef struct {
+ int __version;
+ int __gregs[18];
+ int __fpregs[27];
+} mcontext_t;
+#endif
+
+struct sigaltstack {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+};
+
+typedef struct __ucontext {
+ unsigned long uc_flags;
+ struct __ucontext *uc_link;
+ stack_t uc_stack;
+ mcontext_t uc_mcontext;
+ long __reserved[80];
+ sigset_t uc_sigmask;
+} ucontext_t;
+
+#define SA_NOCLDSTOP 1
+#define SA_NOCLDWAIT 2
+#define SA_SIGINFO 4
+#define SA_ONSTACK 0x08000000
+#define SA_RESTART 0x10000000
+#define SA_NODEFER 0x40000000
+#define SA_RESETHAND 0x80000000
+#define SA_RESTORER 0x04000000
+
+#endif
+
+#define SIGHUP 1
+#define SIGINT 2
+#define SIGQUIT 3
+#define SIGILL 4
+#define SIGTRAP 5
+#define SIGABRT 6
+#define SIGIOT SIGABRT
+#define SIGBUS 7
+#define SIGFPE 8
+#define SIGKILL 9
+#define SIGUSR1 10
+#define SIGSEGV 11
+#define SIGUSR2 12
+#define SIGPIPE 13
+#define SIGALRM 14
+#define SIGTERM 15
+#define SIGSTKFLT 16
+#define SIGCHLD 17
+#define SIGCONT 18
+#define SIGSTOP 19
+#define SIGTSTP 20
+#define SIGTTIN 21
+#define SIGTTOU 22
+#define SIGURG 23
+#define SIGXCPU 24
+#define SIGXFSZ 25
+#define SIGVTALRM 26
+#define SIGPROF 27
+#define SIGWINCH 28
+#define SIGIO 29
+#define SIGPOLL 29
+#define SIGPWR 30
+#define SIGSYS 31
+#define SIGUNUSED SIGSYS
+
+#define _NSIG 65
diff --git a/lib/libc/musl/arch/m68k/bits/stat.h b/lib/libc/musl/arch/m68k/bits/stat.h
new file mode 100644
index 0000000000..f87681471a
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/stat.h
@@ -0,0 +1,25 @@
+/* copied from kernel definition, but with padding replaced
+ * by the corresponding correctly-sized userspace types. */
+
+struct stat {
+ dev_t st_dev;
+ short __st_dev_padding;
+ long __st_ino_truncated;
+ mode_t st_mode;
+ nlink_t st_nlink;
+ uid_t st_uid;
+ gid_t st_gid;
+ dev_t st_rdev;
+ short __st_rdev_padding;
+ off_t st_size;
+ blksize_t st_blksize;
+ blkcnt_t st_blocks;
+ struct {
+ long tv_sec;
+ long tv_nsec;
+ } __st_atim32, __st_mtim32, __st_ctim32;
+ ino_t st_ino;
+ struct timespec st_atim;
+ struct timespec st_mtim;
+ struct timespec st_ctim;
+};
diff --git a/lib/libc/musl/arch/m68k/bits/stdint.h b/lib/libc/musl/arch/m68k/bits/stdint.h
new file mode 100644
index 0000000000..d1b2712199
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/stdint.h
@@ -0,0 +1,20 @@
+typedef int32_t int_fast16_t;
+typedef int32_t int_fast32_t;
+typedef uint32_t uint_fast16_t;
+typedef uint32_t uint_fast32_t;
+
+#define INT_FAST16_MIN INT32_MIN
+#define INT_FAST32_MIN INT32_MIN
+
+#define INT_FAST16_MAX INT32_MAX
+#define INT_FAST32_MAX INT32_MAX
+
+#define UINT_FAST16_MAX UINT32_MAX
+#define UINT_FAST32_MAX UINT32_MAX
+
+#define INTPTR_MIN INT32_MIN
+#define INTPTR_MAX INT32_MAX
+#define UINTPTR_MAX UINT32_MAX
+#define PTRDIFF_MIN INT32_MIN
+#define PTRDIFF_MAX INT32_MAX
+#define SIZE_MAX UINT32_MAX
diff --git a/lib/libc/musl/arch/m68k/bits/syscall.h.in b/lib/libc/musl/arch/m68k/bits/syscall.h.in
new file mode 100644
index 0000000000..a0c6332330
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/syscall.h.in
@@ -0,0 +1,418 @@
+#define __NR_restart_syscall 0
+#define __NR_exit 1
+#define __NR_fork 2
+#define __NR_read 3
+#define __NR_write 4
+#define __NR_open 5
+#define __NR_close 6
+#define __NR_waitpid 7
+#define __NR_creat 8
+#define __NR_link 9
+#define __NR_unlink 10
+#define __NR_execve 11
+#define __NR_chdir 12
+#define __NR_time 13
+#define __NR_mknod 14
+#define __NR_chmod 15
+#define __NR_chown 16
+#define __NR_oldstat 18
+#define __NR_lseek 19
+#define __NR_getpid 20
+#define __NR_mount 21
+#define __NR_umount 22
+#define __NR_setuid 23
+#define __NR_getuid 24
+#define __NR_stime 25
+#define __NR_ptrace 26
+#define __NR_alarm 27
+#define __NR_oldfstat 28
+#define __NR_pause 29
+#define __NR_utime 30
+#define __NR_access 33
+#define __NR_nice 34
+#define __NR_sync 36
+#define __NR_kill 37
+#define __NR_rename 38
+#define __NR_mkdir 39
+#define __NR_rmdir 40
+#define __NR_dup 41
+#define __NR_pipe 42
+#define __NR_times 43
+#define __NR_brk 45
+#define __NR_setgid 46
+#define __NR_getgid 47
+#define __NR_signal 48
+#define __NR_geteuid 49
+#define __NR_getegid 50
+#define __NR_acct 51
+#define __NR_umount2 52
+#define __NR_ioctl 54
+#define __NR_fcntl 55
+#define __NR_setpgid 57
+#define __NR_umask 60
+#define __NR_chroot 61
+#define __NR_ustat 62
+#define __NR_dup2 63
+#define __NR_getppid 64
+#define __NR_getpgrp 65
+#define __NR_setsid 66
+#define __NR_sigaction 67
+#define __NR_sgetmask 68
+#define __NR_ssetmask 69
+#define __NR_setreuid 70
+#define __NR_setregid 71
+#define __NR_sigsuspend 72
+#define __NR_sigpending 73
+#define __NR_sethostname 74
+#define __NR_setrlimit 75
+#define __NR_getrlimit 76
+#define __NR_getrusage 77
+#define __NR_gettimeofday_time32 78
+#define __NR_settimeofday_time32 79
+#define __NR_getgroups 80
+#define __NR_setgroups 81
+#define __NR_select 82
+#define __NR_symlink 83
+#define __NR_oldlstat 84
+#define __NR_readlink 85
+#define __NR_uselib 86
+#define __NR_swapon 87
+#define __NR_reboot 88
+#define __NR_readdir 89
+#define __NR_mmap 90
+#define __NR_munmap 91
+#define __NR_truncate 92
+#define __NR_ftruncate 93
+#define __NR_fchmod 94
+#define __NR_fchown 95
+#define __NR_getpriority 96
+#define __NR_setpriority 97
+#define __NR_statfs 99
+#define __NR_fstatfs 100
+#define __NR_socketcall 102
+#define __NR_syslog 103
+#define __NR_setitimer 104
+#define __NR_getitimer 105
+#define __NR_stat 106
+#define __NR_lstat 107
+#define __NR_fstat 108
+#define __NR_vhangup 111
+#define __NR_wait4 114
+#define __NR_swapoff 115
+#define __NR_sysinfo 116
+#define __NR_ipc 117
+#define __NR_fsync 118
+#define __NR_sigreturn 119
+#define __NR_clone 120
+#define __NR_setdomainname 121
+#define __NR_uname 122
+#define __NR_cacheflush 123
+#define __NR_adjtimex 124
+#define __NR_mprotect 125
+#define __NR_sigprocmask 126
+#define __NR_create_module 127
+#define __NR_init_module 128
+#define __NR_delete_module 129
+#define __NR_get_kernel_syms 130
+#define __NR_quotactl 131
+#define __NR_getpgid 132
+#define __NR_fchdir 133
+#define __NR_bdflush 134
+#define __NR_sysfs 135
+#define __NR_personality 136
+#define __NR_setfsuid 138
+#define __NR_setfsgid 139
+#define __NR__llseek 140
+#define __NR_getdents 141
+#define __NR__newselect 142
+#define __NR_flock 143
+#define __NR_msync 144
+#define __NR_readv 145
+#define __NR_writev 146
+#define __NR_getsid 147
+#define __NR_fdatasync 148
+#define __NR__sysctl 149
+#define __NR_mlock 150
+#define __NR_munlock 151
+#define __NR_mlockall 152
+#define __NR_munlockall 153
+#define __NR_sched_setparam 154
+#define __NR_sched_getparam 155
+#define __NR_sched_setscheduler 156
+#define __NR_sched_getscheduler 157
+#define __NR_sched_yield 158
+#define __NR_sched_get_priority_max 159
+#define __NR_sched_get_priority_min 160
+#define __NR_sched_rr_get_interval 161
+#define __NR_nanosleep 162
+#define __NR_mremap 163
+#define __NR_setresuid 164
+#define __NR_getresuid 165
+#define __NR_getpagesize 166
+#define __NR_query_module 167
+#define __NR_poll 168
+#define __NR_nfsservctl 169
+#define __NR_setresgid 170
+#define __NR_getresgid 171
+#define __NR_prctl 172
+#define __NR_rt_sigreturn 173
+#define __NR_rt_sigaction 174
+#define __NR_rt_sigprocmask 175
+#define __NR_rt_sigpending 176
+#define __NR_rt_sigtimedwait 177
+#define __NR_rt_sigqueueinfo 178
+#define __NR_rt_sigsuspend 179
+#define __NR_pread64 180
+#define __NR_pwrite64 181
+#define __NR_lchown 182
+#define __NR_getcwd 183
+#define __NR_capget 184
+#define __NR_capset 185
+#define __NR_sigaltstack 186
+#define __NR_sendfile 187
+#define __NR_getpmsg 188
+#define __NR_putpmsg 189
+#define __NR_vfork 190
+#define __NR_ugetrlimit 191
+#define __NR_mmap2 192
+#define __NR_truncate64 193
+#define __NR_ftruncate64 194
+#define __NR_stat64 195
+#define __NR_lstat64 196
+#define __NR_fstat64 197
+#define __NR_chown32 198
+#define __NR_getuid32 199
+#define __NR_getgid32 200
+#define __NR_geteuid32 201
+#define __NR_getegid32 202
+#define __NR_setreuid32 203
+#define __NR_setregid32 204
+#define __NR_getgroups32 205
+#define __NR_setgroups32 206
+#define __NR_fchown32 207
+#define __NR_setresuid32 208
+#define __NR_getresuid32 209
+#define __NR_setresgid32 210
+#define __NR_getresgid32 211
+#define __NR_lchown32 212
+#define __NR_setuid32 213
+#define __NR_setgid32 214
+#define __NR_setfsuid32 215
+#define __NR_setfsgid32 216
+#define __NR_pivot_root 217
+#define __NR_getdents64 220
+#define __NR_gettid 221
+#define __NR_tkill 222
+#define __NR_setxattr 223
+#define __NR_lsetxattr 224
+#define __NR_fsetxattr 225
+#define __NR_getxattr 226
+#define __NR_lgetxattr 227
+#define __NR_fgetxattr 228
+#define __NR_listxattr 229
+#define __NR_llistxattr 230
+#define __NR_flistxattr 231
+#define __NR_removexattr 232
+#define __NR_lremovexattr 233
+#define __NR_fremovexattr 234
+#define __NR_futex 235
+#define __NR_sendfile64 236
+#define __NR_mincore 237
+#define __NR_madvise 238
+#define __NR_fcntl64 239
+#define __NR_readahead 240
+#define __NR_io_setup 241
+#define __NR_io_destroy 242
+#define __NR_io_getevents 243
+#define __NR_io_submit 244
+#define __NR_io_cancel 245
+#define __NR_fadvise64 246
+#define __NR_exit_group 247
+#define __NR_lookup_dcookie 248
+#define __NR_epoll_create 249
+#define __NR_epoll_ctl 250
+#define __NR_epoll_wait 251
+#define __NR_remap_file_pages 252
+#define __NR_set_tid_address 253
+#define __NR_timer_create 254
+#define __NR_timer_settime32 255
+#define __NR_timer_gettime32 256
+#define __NR_timer_getoverrun 257
+#define __NR_timer_delete 258
+#define __NR_clock_settime32 259
+#define __NR_clock_gettime32 260
+#define __NR_clock_getres_time32 261
+#define __NR_clock_nanosleep_time32 262
+#define __NR_statfs64 263
+#define __NR_fstatfs64 264
+#define __NR_tgkill 265
+#define __NR_utimes 266
+#define __NR_fadvise64_64 267
+#define __NR_mbind 268
+#define __NR_get_mempolicy 269
+#define __NR_set_mempolicy 270
+#define __NR_mq_open 271
+#define __NR_mq_unlink 272
+#define __NR_mq_timedsend 273
+#define __NR_mq_timedreceive 274
+#define __NR_mq_notify 275
+#define __NR_mq_getsetattr 276
+#define __NR_waitid 277
+#define __NR_add_key 279
+#define __NR_request_key 280
+#define __NR_keyctl 281
+#define __NR_ioprio_set 282
+#define __NR_ioprio_get 283
+#define __NR_inotify_init 284
+#define __NR_inotify_add_watch 285
+#define __NR_inotify_rm_watch 286
+#define __NR_migrate_pages 287
+#define __NR_openat 288
+#define __NR_mkdirat 289
+#define __NR_mknodat 290
+#define __NR_fchownat 291
+#define __NR_futimesat 292
+#define __NR_fstatat64 293
+#define __NR_unlinkat 294
+#define __NR_renameat 295
+#define __NR_linkat 296
+#define __NR_symlinkat 297
+#define __NR_readlinkat 298
+#define __NR_fchmodat 299
+#define __NR_faccessat 300
+#define __NR_pselect6 301
+#define __NR_ppoll 302
+#define __NR_unshare 303
+#define __NR_set_robust_list 304
+#define __NR_get_robust_list 305
+#define __NR_splice 306
+#define __NR_sync_file_range 307
+#define __NR_tee 308
+#define __NR_vmsplice 309
+#define __NR_move_pages 310
+#define __NR_sched_setaffinity 311
+#define __NR_sched_getaffinity 312
+#define __NR_kexec_load 313
+#define __NR_getcpu 314
+#define __NR_epoll_pwait 315
+#define __NR_utimensat 316
+#define __NR_signalfd 317
+#define __NR_timerfd_create 318
+#define __NR_eventfd 319
+#define __NR_fallocate 320
+#define __NR_timerfd_settime32 321
+#define __NR_timerfd_gettime32 322
+#define __NR_signalfd4 323
+#define __NR_eventfd2 324
+#define __NR_epoll_create1 325
+#define __NR_dup3 326
+#define __NR_pipe2 327
+#define __NR_inotify_init1 328
+#define __NR_preadv 329
+#define __NR_pwritev 330
+#define __NR_rt_tgsigqueueinfo 331
+#define __NR_perf_event_open 332
+#define __NR_get_thread_area 333
+#define __NR_set_thread_area 334
+#define __NR_atomic_cmpxchg_32 335
+#define __NR_atomic_barrier 336
+#define __NR_fanotify_init 337
+#define __NR_fanotify_mark 338
+#define __NR_prlimit64 339
+#define __NR_name_to_handle_at 340
+#define __NR_open_by_handle_at 341
+#define __NR_clock_adjtime 342
+#define __NR_syncfs 343
+#define __NR_setns 344
+#define __NR_process_vm_readv 345
+#define __NR_process_vm_writev 346
+#define __NR_kcmp 347
+#define __NR_finit_module 348
+#define __NR_sched_setattr 349
+#define __NR_sched_getattr 350
+#define __NR_renameat2 351
+#define __NR_getrandom 352
+#define __NR_memfd_create 353
+#define __NR_bpf 354
+#define __NR_execveat 355
+#define __NR_socket 356
+#define __NR_socketpair 357
+#define __NR_bind 358
+#define __NR_connect 359
+#define __NR_listen 360
+#define __NR_accept4 361
+#define __NR_getsockopt 362
+#define __NR_setsockopt 363
+#define __NR_getsockname 364
+#define __NR_getpeername 365
+#define __NR_sendto 366
+#define __NR_sendmsg 367
+#define __NR_recvfrom 368
+#define __NR_recvmsg 369
+#define __NR_shutdown 370
+#define __NR_recvmmsg 371
+#define __NR_sendmmsg 372
+#define __NR_userfaultfd 373
+#define __NR_membarrier 374
+#define __NR_mlock2 375
+#define __NR_copy_file_range 376
+#define __NR_preadv2 377
+#define __NR_pwritev2 378
+#define __NR_statx 379
+#define __NR_seccomp 380
+#define __NR_pkey_mprotect 381
+#define __NR_pkey_alloc 382
+#define __NR_pkey_free 383
+#define __NR_rseq 384
+#define __NR_semget 393
+#define __NR_semctl 394
+#define __NR_shmget 395
+#define __NR_shmctl 396
+#define __NR_shmat 397
+#define __NR_shmdt 398
+#define __NR_msgget 399
+#define __NR_msgsnd 400
+#define __NR_msgrcv 401
+#define __NR_msgctl 402
+#define __NR_clock_gettime64 403
+#define __NR_clock_settime64 404
+#define __NR_clock_adjtime64 405
+#define __NR_clock_getres_time64 406
+#define __NR_clock_nanosleep_time64 407
+#define __NR_timer_gettime64 408
+#define __NR_timer_settime64 409
+#define __NR_timerfd_gettime64 410
+#define __NR_timerfd_settime64 411
+#define __NR_utimensat_time64 412
+#define __NR_pselect6_time64 413
+#define __NR_ppoll_time64 414
+#define __NR_io_pgetevents_time64 416
+#define __NR_recvmmsg_time64 417
+#define __NR_mq_timedsend_time64 418
+#define __NR_mq_timedreceive_time64 419
+#define __NR_semtimedop_time64 420
+#define __NR_rt_sigtimedwait_time64 421
+#define __NR_futex_time64 422
+#define __NR_sched_rr_get_interval_time64 423
+#define __NR_pidfd_send_signal 424
+#define __NR_io_uring_setup 425
+#define __NR_io_uring_enter 426
+#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/lib/libc/musl/arch/m68k/bits/user.h b/lib/libc/musl/arch/m68k/bits/user.h
new file mode 100644
index 0000000000..6a4439196b
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/bits/user.h
@@ -0,0 +1,38 @@
+#undef __WORDSIZE
+#define __WORDSIZE 32
+
+struct user_m68kfp_struct {
+ unsigned long fpregs[24], fpcntl[3];
+};
+
+struct user_regs_struct {
+ long d1, d2, d3, d4, d5, d6, d7;
+ long a0, a1, a2, a3, a4, a5, a6;
+ long d0, usp, orig_d0;
+ short stkadj, sr;
+ long pc;
+ short fmtvec, __pad;
+};
+
+struct user {
+ struct user_regs_struct regs;
+ int u_fpvalid;
+ struct user_m68kfp_struct m68kfp;
+ unsigned long u_tsize, u_dsize, u_ssize, start_code, start_stack;
+ long signal;
+ int reserved;
+ unsigned long u_ar0;
+ struct user_m68kfp_struct *u_fpstate;
+ unsigned long magic;
+ char u_comm[32];
+};
+
+#define ELF_NGREG 20
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+typedef struct user_m68kfp_struct elf_fpregset_t;
+
+#define NBPG 4096
+#define UPAGES 1
+#define HOST_TEXT_START_ADDR (u.start_code)
+#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
diff --git a/lib/libc/musl/arch/m68k/crt_arch.h b/lib/libc/musl/arch/m68k/crt_arch.h
new file mode 100644
index 0000000000..48a42f29e2
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/crt_arch.h
@@ -0,0 +1,14 @@
+__asm__(
+".text\n"
+".weak _DYNAMIC \n"
+".hidden _DYNAMIC \n"
+".global " START "\n"
+START ":\n"
+" suba.l %fp,%fp \n"
+" movea.l %sp,%a0 \n"
+" lea _DYNAMIC-.-8,%a1 \n"
+" pea (%pc,%a1) \n"
+" pea (%a0) \n"
+" lea " START "_c-.-8,%a1 \n"
+" jsr (%pc,%a1) \n"
+);
diff --git a/lib/libc/musl/arch/m68k/kstat.h b/lib/libc/musl/arch/m68k/kstat.h
new file mode 100644
index 0000000000..ac13e272ce
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/kstat.h
@@ -0,0 +1,21 @@
+struct kstat {
+ dev_t st_dev;
+ short __st_dev_padding;
+ long __st_ino_truncated;
+ mode_t st_mode;
+ nlink_t st_nlink;
+ uid_t st_uid;
+ gid_t st_gid;
+ dev_t st_rdev;
+ short __st_rdev_padding;
+ off_t st_size;
+ blksize_t st_blksize;
+ blkcnt_t st_blocks;
+ long st_atime_sec;
+ long st_atime_nsec;
+ long st_mtime_sec;
+ long st_mtime_nsec;
+ long st_ctime_sec;
+ long st_ctime_nsec;
+ ino_t st_ino;
+};
diff --git a/lib/libc/musl/arch/m68k/pthread_arch.h b/lib/libc/musl/arch/m68k/pthread_arch.h
new file mode 100644
index 0000000000..5bea4e1adc
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/pthread_arch.h
@@ -0,0 +1,12 @@
+static inline uintptr_t __get_tp()
+{
+ return __syscall(SYS_get_thread_area);
+}
+
+#define TLS_ABOVE_TP
+#define GAP_ABOVE_TP 0
+
+#define TP_OFFSET 0x7000
+#define DTP_OFFSET 0x8000
+
+#define MC_PC gregs[R_PC]
diff --git a/lib/libc/musl/arch/m68k/reloc.h b/lib/libc/musl/arch/m68k/reloc.h
new file mode 100644
index 0000000000..f920b39e03
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/reloc.h
@@ -0,0 +1,30 @@
+#if __HAVE_68881__
+#define FP_SUFFIX ""
+#elif __mcffpu__
+#define FP_SUFFIX "-fp64"
+#else
+#define FP_SUFFIX "-sf"
+#endif
+
+#define LDSO_ARCH "m68k" FP_SUFFIX
+
+#define TPOFF_K (-0x7000)
+
+#define REL_SYMBOLIC R_68K_32
+#define REL_OFFSET R_68K_PC32
+#define REL_GOT R_68K_GLOB_DAT
+#define REL_PLT R_68K_JMP_SLOT
+#define REL_RELATIVE R_68K_RELATIVE
+#define REL_COPY R_68K_COPY
+#define REL_DTPMOD R_68K_TLS_DTPMOD32
+#define REL_DTPOFF R_68K_TLS_DTPREL32
+#define REL_TPOFF R_68K_TLS_TPREL32
+
+#define CRTJMP(pc,sp) __asm__ __volatile__( \
+ "move.l %1,%%sp ; jmp (%0)" : : "r"(pc), "r"(sp) : "memory" )
+
+#define GETFUNCSYM(fp, sym, got) __asm__ ( \
+ ".hidden " #sym "\n" \
+ "lea " #sym "-.-8,%0 \n" \
+ "lea (%%pc,%0),%0 \n" \
+ : "=a"(*fp) : : "memory" )
diff --git a/lib/libc/musl/arch/m68k/syscall_arch.h b/lib/libc/musl/arch/m68k/syscall_arch.h
new file mode 100644
index 0000000000..6a9d0ae8e4
--- /dev/null
+++ b/lib/libc/musl/arch/m68k/syscall_arch.h
@@ -0,0 +1,90 @@
+#define __SYSCALL_LL_E(x) \
+((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
+((union { long long ll; long l[2]; }){ .ll = x }).l[1]
+#define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x))
+
+static __inline long __syscall0(long n)
+{
+ register unsigned long d0 __asm__("d0") = n;
+ __asm__ __volatile__ ("trap #0" : "+r"(d0)
+ :
+ : "memory");
+ return d0;
+}
+
+static inline long __syscall1(long n, long a)
+{
+ register unsigned long d0 __asm__("d0") = n;
+ register unsigned long d1 __asm__("d1") = a;
+ __asm__ __volatile__ ("trap #0" : "+r"(d0)
+ : "r"(d1)
+ : "memory");
+ return d0;
+}
+
+static inline long __syscall2(long n, long a, long b)
+{
+ register unsigned long d0 __asm__("d0") = n;
+ register unsigned long d1 __asm__("d1") = a;
+ register unsigned long d2 __asm__("d2") = b;
+ __asm__ __volatile__ ("trap #0" : "+r"(d0)
+ : "r"(d1), "r"(d2)
+ : "memory");
+ return d0;
+}
+
+static inline long __syscall3(long n, long a, long b, long c)
+{
+ register unsigned long d0 __asm__("d0") = n;
+ register unsigned long d1 __asm__("d1") = a;
+ register unsigned long d2 __asm__("d2") = b;
+ register unsigned long d3 __asm__("d3") = c;
+ __asm__ __volatile__ ("trap #0" : "+r"(d0)
+ : "r"(d1), "r"(d2), "r"(d3)
+ : "memory");
+ return d0;
+}
+
+static inline long __syscall4(long n, long a, long b, long c, long d)
+{
+ register unsigned long d0 __asm__("d0") = n;
+ register unsigned long d1 __asm__("d1") = a;
+ register unsigned long d2 __asm__("d2") = b;
+ register unsigned long d3 __asm__("d3") = c;
+ register unsigned long d4 __asm__("d4") = d;
+ __asm__ __volatile__ ("trap #0" : "+r"(d0)
+ : "r"(d1), "r"(d2), "r"(d3), "r"(d4)
+ : "memory");
+ return d0;
+}
+
+static inline long __syscall5(long n, long a, long b, long c, long d, long e)
+{
+ register unsigned long d0 __asm__("d0") = n;
+ register unsigned long d1 __asm__("d1") = a;
+ register unsigned long d2 __asm__("d2") = b;
+ register unsigned long d3 __asm__("d3") = c;
+ register unsigned long d4 __asm__("d4") = d;
+ register unsigned long d5 __asm__("d5") = e;
+ __asm__ __volatile__ ("trap #0" : "+r"(d0)
+ : "r"(d1), "r"(d2), "r"(d3), "r"(d4), "r"(d5)
+ : "memory");
+ return d0;
+}
+
+static inline long __syscall6(long n, long a, long b, long c, long d, long e, long f)
+{
+ register unsigned long d0 __asm__("d0") = n;
+ register unsigned long d1 __asm__("d1") = a;
+ register unsigned long d2 __asm__("d2") = b;
+ register unsigned long d3 __asm__("d3") = c;
+ register unsigned long d4 __asm__("d4") = d;
+ register unsigned long d5 __asm__("d5") = e;
+ register unsigned long a0 __asm__("a0") = f;
+ __asm__ __volatile__ ("trap #0" : "+r"(d0)
+ : "r"(d1), "r"(d2), "r"(d3), "r"(d4), "r"(d5), "r"(a0)
+ : "memory");
+ return d0;
+}
+
+#define SYSCALL_IPC_BROKEN_MODE
diff --git a/lib/libc/musl/arch/mips/arch.mak b/lib/libc/musl/arch/mips/arch.mak
new file mode 100644
index 0000000000..aa4d05ceff
--- /dev/null
+++ b/lib/libc/musl/arch/mips/arch.mak
@@ -0,0 +1 @@
+COMPAT_SRC_DIRS = compat/time32
diff --git a/lib/libc/musl/arch/mips/bits/syscall.h.in b/lib/libc/musl/arch/mips/bits/syscall.h.in
index 2bb03f067a..63e3503a6b 100644
--- a/lib/libc/musl/arch/mips/bits/syscall.h.in
+++ b/lib/libc/musl/arch/mips/bits/syscall.h.in
@@ -412,4 +412,10 @@
#define __NR_openat2 4437
#define __NR_pidfd_getfd 4438
#define __NR_faccessat2 4439
+#define __NR_process_madvise 4440
+#define __NR_epoll_pwait2 4441
+#define __NR_mount_setattr 4442
+#define __NR_landlock_create_ruleset 4444
+#define __NR_landlock_add_rule 4445
+#define __NR_landlock_restrict_self 4446
diff --git a/lib/libc/musl/arch/mips/pthread_arch.h b/lib/libc/musl/arch/mips/pthread_arch.h
index c45347ab92..376b77415a 100644
--- a/lib/libc/musl/arch/mips/pthread_arch.h
+++ b/lib/libc/musl/arch/mips/pthread_arch.h
@@ -1,10 +1,9 @@
static inline uintptr_t __get_tp()
{
-#if __mips_isa_rev < 2
register uintptr_t tp __asm__("$3");
+#if __mips_isa_rev < 2
__asm__ (".word 0x7c03e83b" : "=r" (tp) );
#else
- uintptr_t tp;
__asm__ ("rdhwr %0, $29" : "=r" (tp) );
#endif
return tp;
diff --git a/lib/libc/musl/arch/mips64/bits/syscall.h.in b/lib/libc/musl/arch/mips64/bits/syscall.h.in
index 045e8238ad..b89965d11a 100644
--- a/lib/libc/musl/arch/mips64/bits/syscall.h.in
+++ b/lib/libc/musl/arch/mips64/bits/syscall.h.in
@@ -342,4 +342,10 @@
#define __NR_openat2 5437
#define __NR_pidfd_getfd 5438
#define __NR_faccessat2 5439
+#define __NR_process_madvise 5440
+#define __NR_epoll_pwait2 5441
+#define __NR_mount_setattr 5442
+#define __NR_landlock_create_ruleset 5444
+#define __NR_landlock_add_rule 5445
+#define __NR_landlock_restrict_self 5446
diff --git a/lib/libc/musl/arch/powerpc/arch.mak b/lib/libc/musl/arch/powerpc/arch.mak
new file mode 100644
index 0000000000..aa4d05ceff
--- /dev/null
+++ b/lib/libc/musl/arch/powerpc/arch.mak
@@ -0,0 +1 @@
+COMPAT_SRC_DIRS = compat/time32
diff --git a/lib/libc/musl/arch/powerpc/bits/fenv.h b/lib/libc/musl/arch/powerpc/bits/fenv.h
index c5a3e5c5c7..5b15c69a3a 100644
--- a/lib/libc/musl/arch/powerpc/bits/fenv.h
+++ b/lib/libc/musl/arch/powerpc/bits/fenv.h
@@ -1,4 +1,4 @@
-#ifdef _SOFT_FLOAT
+#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__)
#define FE_ALL_EXCEPT 0
#define FE_TONEAREST 0
#else
diff --git a/lib/libc/musl/arch/powerpc/bits/shm.h b/lib/libc/musl/arch/powerpc/bits/shm.h
index fb1d4020f6..7f1ca17ebf 100644
--- a/lib/libc/musl/arch/powerpc/bits/shm.h
+++ b/lib/libc/musl/arch/powerpc/bits/shm.h
@@ -8,11 +8,11 @@ struct shmid_ds {
unsigned long __shm_dtime_lo;
unsigned long __shm_ctime_hi;
unsigned long __shm_ctime_lo;
+ unsigned long __pad1;
size_t shm_segsz;
pid_t shm_cpid;
pid_t shm_lpid;
unsigned long shm_nattch;
- unsigned long __pad1;
unsigned long __pad2;
time_t shm_atime;
time_t shm_dtime;
diff --git a/lib/libc/musl/arch/powerpc/bits/syscall.h.in b/lib/libc/musl/arch/powerpc/bits/syscall.h.in
index 5c6fae3e58..b1605a58f1 100644
--- a/lib/libc/musl/arch/powerpc/bits/syscall.h.in
+++ b/lib/libc/musl/arch/powerpc/bits/syscall.h.in
@@ -419,4 +419,10 @@
#define __NR_openat2 437
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/lib/libc/musl/arch/powerpc/reloc.h b/lib/libc/musl/arch/powerpc/reloc.h
index 527b6b7cdc..fdfbf827e8 100644
--- a/lib/libc/musl/arch/powerpc/reloc.h
+++ b/lib/libc/musl/arch/powerpc/reloc.h
@@ -1,4 +1,4 @@
-#ifdef _SOFT_FLOAT
+#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__)
#define FP_SUFFIX "-sf"
#else
#define FP_SUFFIX ""
diff --git a/lib/libc/musl/arch/powerpc64/bits/syscall.h.in b/lib/libc/musl/arch/powerpc64/bits/syscall.h.in
index edf73d3d6b..b3a8fba092 100644
--- a/lib/libc/musl/arch/powerpc64/bits/syscall.h.in
+++ b/lib/libc/musl/arch/powerpc64/bits/syscall.h.in
@@ -391,4 +391,10 @@
#define __NR_openat2 437
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/lib/libc/musl/arch/riscv64/bits/syscall.h.in b/lib/libc/musl/arch/riscv64/bits/syscall.h.in
index 5def016b12..b534afe81c 100644
--- a/lib/libc/musl/arch/riscv64/bits/syscall.h.in
+++ b/lib/libc/musl/arch/riscv64/bits/syscall.h.in
@@ -76,7 +76,7 @@
#define __NR_splice 76
#define __NR_tee 77
#define __NR_readlinkat 78
-#define __NR_fstatat 79
+#define __NR_newfstatat 79
#define __NR_fstat 80
#define __NR_sync 81
#define __NR_fsync 82
@@ -293,6 +293,12 @@
#define __NR_openat2 437
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
#define __NR_sysriscv __NR_arch_specific_syscall
#define __NR_riscv_flush_icache (__NR_sysriscv + 15)
diff --git a/lib/libc/musl/arch/riscv64/bits/user.h b/lib/libc/musl/arch/riscv64/bits/user.h
index 2da743eaf8..0d37de0b04 100644
--- a/lib/libc/musl/arch/riscv64/bits/user.h
+++ b/lib/libc/musl/arch/riscv64/bits/user.h
@@ -1,5 +1,6 @@
#include <signal.h>
#define ELF_NGREG 32
+#define ELF_NFPREG 33
typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
typedef union __riscv_mc_fp_state elf_fpregset_t;
diff --git a/lib/libc/musl/arch/s390x/bits/ptrace.h b/lib/libc/musl/arch/s390x/bits/ptrace.h
index d50e326211..a06cb0778f 100644
--- a/lib/libc/musl/arch/s390x/bits/ptrace.h
+++ b/lib/libc/musl/arch/s390x/bits/ptrace.h
@@ -1,4 +1,7 @@
#define PTRACE_SINGLEBLOCK 12
+#define PTRACE_OLDSETOPTIONS 21
+#define PTRACE_SYSEMU 31
+#define PTRACE_SYSEMU_SINGLESTEP 32
#define PTRACE_PEEKUSR_AREA 0x5000
#define PTRACE_POKEUSR_AREA 0x5001
#define PTRACE_GET_LAST_BREAK 0x5006
diff --git a/lib/libc/musl/arch/s390x/bits/syscall.h.in b/lib/libc/musl/arch/s390x/bits/syscall.h.in
index fb2e60e30b..dfc384792a 100644
--- a/lib/libc/musl/arch/s390x/bits/syscall.h.in
+++ b/lib/libc/musl/arch/s390x/bits/syscall.h.in
@@ -356,4 +356,10 @@
#define __NR_openat2 437
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/lib/libc/musl/arch/x86_64/bits/syscall.h.in b/lib/libc/musl/arch/x86_64/bits/syscall.h.in
index a611795104..c3882de7e7 100644
--- a/lib/libc/musl/arch/x86_64/bits/syscall.h.in
+++ b/lib/libc/musl/arch/x86_64/bits/syscall.h.in
@@ -349,4 +349,10 @@
#define __NR_openat2 437
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/lib/libc/musl/include/ctype.h b/lib/libc/musl/include/ctype.h
index 7936536f57..32bcef4dab 100644
--- a/lib/libc/musl/include/ctype.h
+++ b/lib/libc/musl/include/ctype.h
@@ -64,7 +64,9 @@ int isascii(int);
int toascii(int);
#define _tolower(a) ((a)|0x20)
#define _toupper(a) ((a)&0x5f)
+#ifndef __cplusplus
#define isascii(a) (0 ? isascii(a) : (unsigned)(a) < 128)
+#endif
#endif
diff --git a/lib/libc/musl/include/elf.h b/lib/libc/musl/include/elf.h
index b5e7befb02..86e2f0bb7d 100644
--- a/lib/libc/musl/include/elf.h
+++ b/lib/libc/musl/include/elf.h
@@ -686,6 +686,8 @@ typedef struct {
#define NT_ARM_PAC_MASK 0x406
#define NT_ARM_PACA_KEYS 0x407
#define NT_ARM_PACG_KEYS 0x408
+#define NT_ARM_TAGGED_ADDR_CTRL 0x409
+#define NT_ARM_PAC_ENABLED_KEYS 0x40a
#define NT_METAG_CBUF 0x500
#define NT_METAG_RPIPE 0x501
#define NT_METAG_TLS 0x502
diff --git a/lib/libc/musl/include/locale.h b/lib/libc/musl/include/locale.h
index ce384381c6..11106fea87 100644
--- a/lib/libc/musl/include/locale.h
+++ b/lib/libc/musl/include/locale.h
@@ -7,7 +7,9 @@ extern "C" {
#include <features.h>
-#ifdef __cplusplus
+#if __cplusplus >= 201103L
+#define NULL nullptr
+#elif defined(__cplusplus)
#define NULL 0L
#else
#define NULL ((void*)0)
diff --git a/lib/libc/musl/include/netinet/if_ether.h b/lib/libc/musl/include/netinet/if_ether.h
index 55a2ff1b17..3479f511bf 100644
--- a/lib/libc/musl/include/netinet/if_ether.h
+++ b/lib/libc/musl/include/netinet/if_ether.h
@@ -66,6 +66,7 @@
#define ETH_P_1588 0x88F7
#define ETH_P_NCSI 0x88F8
#define ETH_P_PRP 0x88FB
+#define ETH_P_CFM 0x8902
#define ETH_P_FCOE 0x8906
#define ETH_P_TDLS 0x890D
#define ETH_P_FIP 0x8914
diff --git a/lib/libc/musl/include/netinet/in.h b/lib/libc/musl/include/netinet/in.h
index f9594339f0..fb628b61a9 100644
--- a/lib/libc/musl/include/netinet/in.h
+++ b/lib/libc/musl/include/netinet/in.h
@@ -48,6 +48,7 @@ struct ipv6_mreq {
#define INADDR_BROADCAST ((in_addr_t) 0xffffffff)
#define INADDR_NONE ((in_addr_t) 0xffffffff)
#define INADDR_LOOPBACK ((in_addr_t) 0x7f000001)
+#define INADDR_DUMMY ((in_addr_t) 0xc0000008)
#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000)
#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001)
diff --git a/lib/libc/musl/include/netinet/tcp.h b/lib/libc/musl/include/netinet/tcp.h
index b7b997f5fd..fad1d84494 100644
--- a/lib/libc/musl/include/netinet/tcp.h
+++ b/lib/libc/musl/include/netinet/tcp.h
@@ -80,6 +80,8 @@ enum {
TCP_NLA_SRTT,
TCP_NLA_TIMEOUT_REHASH,
TCP_NLA_BYTES_NOTSENT,
+ TCP_NLA_EDT,
+ TCP_NLA_TTL,
};
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
@@ -281,12 +283,21 @@ struct tcp_repair_window {
uint32_t rcv_wup;
};
+#define TCP_RECEIVE_ZEROCOPY_FLAG_TLB_CLEAN_HINT 0x1
+
struct tcp_zerocopy_receive {
uint64_t address;
uint32_t length;
uint32_t recv_skip_hint;
uint32_t inq;
int32_t err;
+ uint64_t copybuf_address;
+ int32_t copybuf_len;
+ uint32_t flags;
+ uint64_t msg_control;
+ uint64_t msg_controllen;
+ uint32_t msg_flags;
+ uint32_t reserved;
};
#endif
diff --git a/lib/libc/musl/include/pthread.h b/lib/libc/musl/include/pthread.h
index 0492f26a6b..89fd9ff7c1 100644
--- a/lib/libc/musl/include/pthread.h
+++ b/lib/libc/musl/include/pthread.h
@@ -221,6 +221,7 @@ int pthread_getaffinity_np(pthread_t, size_t, struct cpu_set_t *);
int pthread_setaffinity_np(pthread_t, size_t, const struct cpu_set_t *);
int pthread_getattr_np(pthread_t, pthread_attr_t *);
int pthread_setname_np(pthread_t, const char *);
+int pthread_getname_np(pthread_t, char *, size_t);
int pthread_getattr_default_np(pthread_attr_t *);
int pthread_setattr_default_np(const pthread_attr_t *);
int pthread_tryjoin_np(pthread_t, void **);
diff --git a/lib/libc/musl/include/setjmp.h b/lib/libc/musl/include/setjmp.h
index 2d43abf84f..1976af231b 100644
--- a/lib/libc/musl/include/setjmp.h
+++ b/lib/libc/musl/include/setjmp.h
@@ -15,25 +15,33 @@ typedef struct __jmp_buf_tag {
unsigned long __ss[128/sizeof(long)];
} jmp_buf[1];
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)
+#define __setjmp_attr __attribute__((__returns_twice__))
+#else
+#define __setjmp_attr
+#endif
+
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
|| defined(_BSD_SOURCE)
typedef jmp_buf sigjmp_buf;
-int sigsetjmp (sigjmp_buf, int);
+int sigsetjmp (sigjmp_buf, int) __setjmp_attr;
_Noreturn void siglongjmp (sigjmp_buf, int);
#endif
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
|| defined(_BSD_SOURCE)
-int _setjmp (jmp_buf);
+int _setjmp (jmp_buf) __setjmp_attr;
_Noreturn void _longjmp (jmp_buf, int);
#endif
-int setjmp (jmp_buf);
+int setjmp (jmp_buf) __setjmp_attr;
_Noreturn void longjmp (jmp_buf, int);
#define setjmp setjmp
+#undef __setjmp_attr
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/libc/musl/include/signal.h b/lib/libc/musl/include/signal.h
index 9ed929e4f2..c347f8610a 100644
--- a/lib/libc/musl/include/signal.h
+++ b/lib/libc/musl/include/signal.h
@@ -75,6 +75,8 @@ typedef struct sigaltstack stack_t;
#define SEGV_ACCERR 2
#define SEGV_BNDERR 3
#define SEGV_PKUERR 4
+#define SEGV_MTEAERR 8
+#define SEGV_MTESERR 9
#define BUS_ADRALN 1
#define BUS_ADRERR 2
@@ -176,6 +178,9 @@ struct sigaction {
#define sa_handler __sa_handler.sa_handler
#define sa_sigaction __sa_handler.sa_sigaction
+#define SA_UNSUPPORTED 0x00000400
+#define SA_EXPOSE_TAGBITS 0x00000800
+
struct sigevent {
union sigval sigev_value;
int sigev_signo;
@@ -259,6 +264,9 @@ void (*sigset(int, void (*)(int)))(int);
#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
#define NSIG _NSIG
typedef void (*sig_t)(int);
+
+#define SYS_SECCOMP 1
+#define SYS_USER_DISPATCH 2
#endif
#ifdef _GNU_SOURCE
diff --git a/lib/libc/musl/include/stdc-predef.h b/lib/libc/musl/include/stdc-predef.h
index f8cd4b8911..af1a27998f 100644
--- a/lib/libc/musl/include/stdc-predef.h
+++ b/lib/libc/musl/include/stdc-predef.h
@@ -7,4 +7,7 @@
#define __STDC_IEC_559__ 1
#endif
+#define __STDC_UTF_16__ 1
+#define __STDC_UTF_32__ 1
+
#endif
diff --git a/lib/libc/musl/include/stddef.h b/lib/libc/musl/include/stddef.h
index bd75385350..f25b86396e 100644
--- a/lib/libc/musl/include/stddef.h
+++ b/lib/libc/musl/include/stddef.h
@@ -1,7 +1,9 @@
#ifndef _STDDEF_H
#define _STDDEF_H
-#ifdef __cplusplus
+#if __cplusplus >= 201103L
+#define NULL nullptr
+#elif defined(__cplusplus)
#define NULL 0L
#else
#define NULL ((void*)0)
diff --git a/lib/libc/musl/include/stdio.h b/lib/libc/musl/include/stdio.h
index 3604198c3e..d1ed01f03f 100644
--- a/lib/libc/musl/include/stdio.h
+++ b/lib/libc/musl/include/stdio.h
@@ -25,7 +25,9 @@ extern "C" {
#include <bits/alltypes.h>
-#ifdef __cplusplus
+#if __cplusplus >= 201103L
+#define NULL nullptr
+#elif defined(__cplusplus)
#define NULL 0L
#else
#define NULL ((void*)0)
diff --git a/lib/libc/musl/include/stdlib.h b/lib/libc/musl/include/stdlib.h
index b54a051fe9..b507ca33b4 100644
--- a/lib/libc/musl/include/stdlib.h
+++ b/lib/libc/musl/include/stdlib.h
@@ -7,7 +7,9 @@ extern "C" {
#include <features.h>
-#ifdef __cplusplus
+#if __cplusplus >= 201103L
+#define NULL nullptr
+#elif defined(__cplusplus)
#define NULL 0L
#else
#define NULL ((void*)0)
@@ -146,6 +148,7 @@ int clearenv(void);
#define WCOREDUMP(s) ((s) & 0x80)
#define WIFCONTINUED(s) ((s) == 0xffff)
void *reallocarray (void *, size_t, size_t);
+void qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
#endif
#ifdef _GNU_SOURCE
diff --git a/lib/libc/musl/include/string.h b/lib/libc/musl/include/string.h
index 795a2abcd9..43ad0942ed 100644
--- a/lib/libc/musl/include/string.h
+++ b/lib/libc/musl/include/string.h
@@ -7,7 +7,9 @@ extern "C" {
#include <features.h>
-#ifdef __cplusplus
+#if __cplusplus >= 201103L
+#define NULL nullptr
+#elif defined(__cplusplus)
#define NULL 0L
#else
#define NULL ((void*)0)
diff --git a/lib/libc/musl/include/sys/membarrier.h b/lib/libc/musl/include/sys/membarrier.h
index 10cb31083c..11193eda15 100644
--- a/lib/libc/musl/include/sys/membarrier.h
+++ b/lib/libc/musl/include/sys/membarrier.h
@@ -9,9 +9,13 @@
#define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED 16
#define MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE 32
#define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE 64
+#define MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ 128
+#define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ 256
#define MEMBARRIER_CMD_SHARED MEMBARRIER_CMD_GLOBAL
+#define MEMBARRIER_CMD_FLAG_CPU 1
+
int membarrier(int, int);
#endif
diff --git a/lib/libc/musl/include/sys/mman.h b/lib/libc/musl/include/sys/mman.h
index 4d603e9104..80a3baae23 100644
--- a/lib/libc/musl/include/sys/mman.h
+++ b/lib/libc/musl/include/sys/mman.h
@@ -40,6 +40,7 @@ extern "C" {
#define MAP_HUGE_SHIFT 26
#define MAP_HUGE_MASK 0x3f
+#define MAP_HUGE_16KB (14 << 26)
#define MAP_HUGE_64KB (16 << 26)
#define MAP_HUGE_512KB (19 << 26)
#define MAP_HUGE_1MB (20 << 26)
diff --git a/lib/libc/musl/include/sys/mount.h b/lib/libc/musl/include/sys/mount.h
index 57a89c09ec..09bd6e9dfe 100644
--- a/lib/libc/musl/include/sys/mount.h
+++ b/lib/libc/musl/include/sys/mount.h
@@ -31,6 +31,7 @@ extern "C" {
#define MS_REMOUNT 32
#define MS_MANDLOCK 64
#define MS_DIRSYNC 128
+#define MS_NOSYMFOLLOW 256
#define MS_NOATIME 1024
#define MS_NODIRATIME 2048
#define MS_BIND 4096
diff --git a/lib/libc/musl/include/sys/prctl.h b/lib/libc/musl/include/sys/prctl.h
index 4b9fcc0508..087a75c9da 100644
--- a/lib/libc/musl/include/sys/prctl.h
+++ b/lib/libc/musl/include/sys/prctl.h
@@ -157,10 +157,26 @@ struct prctl_mm_map {
#define PR_SET_TAGGED_ADDR_CTRL 55
#define PR_GET_TAGGED_ADDR_CTRL 56
#define PR_TAGGED_ADDR_ENABLE (1UL << 0)
+#define PR_MTE_TCF_SHIFT 1
+#define PR_MTE_TCF_NONE (0UL << 1)
+#define PR_MTE_TCF_SYNC (1UL << 1)
+#define PR_MTE_TCF_ASYNC (2UL << 1)
+#define PR_MTE_TCF_MASK (3UL << 1)
+#define PR_MTE_TAG_SHIFT 3
+#define PR_MTE_TAG_MASK (0xffffUL << 3)
#define PR_SET_IO_FLUSHER 57
#define PR_GET_IO_FLUSHER 58
+#define PR_SET_SYSCALL_USER_DISPATCH 59
+#define PR_SYS_DISPATCH_OFF 0
+#define PR_SYS_DISPATCH_ON 1
+#define SYSCALL_DISPATCH_FILTER_ALLOW 0
+#define SYSCALL_DISPATCH_FILTER_BLOCK 1
+
+#define PR_PAC_SET_ENABLED_KEYS 60
+#define PR_PAC_GET_ENABLED_KEYS 61
+
int prctl (int, ...);
#ifdef __cplusplus
diff --git a/lib/libc/musl/include/sys/ptrace.h b/lib/libc/musl/include/sys/ptrace.h
index 5d62a9859a..c72e3c061c 100644
--- a/lib/libc/musl/include/sys/ptrace.h
+++ b/lib/libc/musl/include/sys/ptrace.h
@@ -42,6 +42,7 @@ extern "C" {
#define PTRACE_SECCOMP_GET_FILTER 0x420c
#define PTRACE_SECCOMP_GET_METADATA 0x420d
#define PTRACE_GET_SYSCALL_INFO 0x420e
+#define PTRACE_GET_RSEQ_CONFIGURATION 0x420f
#define PT_READ_I PTRACE_PEEKTEXT
#define PT_READ_D PTRACE_PEEKDATA
@@ -130,6 +131,14 @@ struct __ptrace_syscall_info {
};
};
+struct __ptrace_rseq_configuration {
+ uint64_t rseq_abi_pointer;
+ uint32_t rseq_abi_size;
+ uint32_t signature;
+ uint32_t flags;
+ uint32_t pad;
+};
+
long ptrace(int, ...);
#ifdef __cplusplus
diff --git a/lib/libc/musl/include/sys/socket.h b/lib/libc/musl/include/sys/socket.h
index 38f5bb17b3..6dc1e40adf 100644
--- a/lib/libc/musl/include/sys/socket.h
+++ b/lib/libc/musl/include/sys/socket.h
@@ -289,6 +289,8 @@ struct linger {
#define SCM_TXTIME SO_TXTIME
#define SO_BINDTOIFINDEX 62
#define SO_DETACH_REUSEPORT_BPF 68
+#define SO_PREFER_BUSY_POLL 69
+#define SO_BUSY_POLL_BUDGET 70
#ifndef SOL_SOCKET
#define SOL_SOCKET 1
diff --git a/lib/libc/musl/include/time.h b/lib/libc/musl/include/time.h
index 5494df1836..3d94837205 100644
--- a/lib/libc/musl/include/time.h
+++ b/lib/libc/musl/include/time.h
@@ -7,7 +7,9 @@ extern "C" {
#include <features.h>
-#ifdef __cplusplus
+#if __cplusplus >= 201103L
+#define NULL nullptr
+#elif defined(__cplusplus)
#define NULL 0L
#else
#define NULL ((void*)0)
diff --git a/lib/libc/musl/include/unistd.h b/lib/libc/musl/include/unistd.h
index 1306402603..212263a7e8 100644
--- a/lib/libc/musl/include/unistd.h
+++ b/lib/libc/musl/include/unistd.h
@@ -14,8 +14,12 @@ extern "C" {
#define SEEK_SET 0
#define SEEK_CUR 1
#define SEEK_END 2
+#define SEEK_DATA 3
+#define SEEK_HOLE 4
-#ifdef __cplusplus
+#if __cplusplus >= 201103L
+#define NULL nullptr
+#elif defined(__cplusplus)
#define NULL 0L
#else
#define NULL ((void*)0)
diff --git a/lib/libc/musl/include/wchar.h b/lib/libc/musl/include/wchar.h
index 88eb55b18c..ed5d774dfa 100644
--- a/lib/libc/musl/include/wchar.h
+++ b/lib/libc/musl/include/wchar.h
@@ -38,7 +38,9 @@ extern "C" {
#define WCHAR_MIN (-1-0x7fffffff+L'\0')
#endif
-#ifdef __cplusplus
+#if __cplusplus >= 201103L
+#define NULL nullptr
+#elif defined(__cplusplus)
#define NULL 0L
#else
#define NULL ((void*)0)
diff --git a/lib/libc/musl/libc.S b/lib/libc/musl/libc.S
index 14970ca0ea..7ee1f1a4ed 100644
--- a/lib/libc/musl/libc.S
+++ b/lib/libc/musl/libc.S
@@ -7,7 +7,134 @@
#define PTR_SIZE_BYTES 4
#define PTR2_SIZE_BYTES 8
#endif
+.bss
+.weak ___environ
+.type ___environ, %object;
+.size ___environ, PTR_SIZE_BYTES
+___environ:
+.globl __daylight
+.type __daylight, %object;
+.size __daylight, 4
+__daylight:
+.globl __environ
+.type __environ, %object;
+.size __environ, PTR_SIZE_BYTES
+__environ:
+.globl __optpos
+.type __optpos, %object;
+.size __optpos, 4
+__optpos:
+.globl __optreset
+.type __optreset, %object;
+.size __optreset, 4
+__optreset:
+.globl __progname
+.type __progname, %object;
+.size __progname, PTR_SIZE_BYTES
+__progname:
+.globl __progname_full
+.type __progname_full, %object;
+.size __progname_full, PTR_SIZE_BYTES
+__progname_full:
+.globl __signgam
+.type __signgam, %object;
+.size __signgam, 4
+__signgam:
+.globl __stack_chk_guard
+.type __stack_chk_guard, %object;
+.size __stack_chk_guard, PTR_SIZE_BYTES
+__stack_chk_guard:
+.globl __timezone
+.type __timezone, %object;
+.size __timezone, PTR_SIZE_BYTES
+__timezone:
+.globl __tzname
+.type __tzname, %object;
+.size __tzname, PTR2_SIZE_BYTES
+__tzname:
+.weak _environ
+.type _environ, %object;
+.size _environ, PTR_SIZE_BYTES
+_environ:
+.weak daylight
+.type daylight, %object;
+.size daylight, 4
+daylight:
+.weak environ
+.type environ, %object;
+.size environ, PTR_SIZE_BYTES
+environ:
+.globl getdate_err
+.type getdate_err, %object;
+.size getdate_err, 4
+getdate_err:
+.globl h_errno
+.type h_errno, %object;
+.size h_errno, 4
+h_errno:
+.globl optarg
+.type optarg, %object;
+.size optarg, PTR_SIZE_BYTES
+optarg:
+.globl optopt
+.type optopt, %object;
+.size optopt, 4
+optopt:
+.weak optreset
+.type optreset, %object;
+.size optreset, 4
+optreset:
+.weak program_invocation_name
+.type program_invocation_name, %object;
+.size program_invocation_name, PTR_SIZE_BYTES
+program_invocation_name:
+.weak program_invocation_short_name
+.type program_invocation_short_name, %object;
+.size program_invocation_short_name, PTR_SIZE_BYTES
+program_invocation_short_name:
+.weak signgam
+.type signgam, %object;
+.size signgam, 4
+signgam:
+.weak timezone
+.type timezone, %object;
+.size timezone, PTR_SIZE_BYTES
+timezone:
+.weak tzname
+.type tzname, %object;
+.size tzname, PTR2_SIZE_BYTES
+tzname:
+.data
+.globl _dl_debug_addr
+.type _dl_debug_addr, %object;
+.size _dl_debug_addr, PTR_SIZE_BYTES
+_dl_debug_addr:
+.globl opterr
+.type opterr, %object;
+.size opterr, 4
+opterr:
+.globl optind
+.type optind, %object;
+.size optind, 4
+optind:
+.data.rel.ro
+.globl stderr
+.type stderr, %object;
+.size stderr, PTR_SIZE_BYTES
+stderr:
+.globl stdin
+.type stdin, %object;
+.size stdin, PTR_SIZE_BYTES
+stdin:
+.globl stdout
+.type stdout, %object;
+.size stdout, PTR_SIZE_BYTES
+stdout:
.rodata
+.globl _ns_flagdata
+.type _ns_flagdata, %object;
+.size _ns_flagdata, 128
+_ns_flagdata:
.globl in6addr_any
.type in6addr_any, %object;
.size in6addr_any, 16
@@ -16,59 +143,916 @@ in6addr_any:
.type in6addr_loopback, %object;
.size in6addr_loopback, 16
in6addr_loopback:
-.globl _ns_flagdata
-.type _ns_flagdata, %object;
-.size _ns_flagdata, 128
-_ns_flagdata:
.text
-.weak aio_read64
-.type aio_read64, %function;
-aio_read64:
-.globl aio_read
-.type aio_read, %function;
-aio_read:
-.globl aio_write
-.type aio_write, %function;
-aio_write:
-.weak aio_write64
-.type aio_write64, %function;
-aio_write64:
+.globl _Exit
+.type _Exit, %function;
+_Exit:
+.globl _Fork
+.type _Fork, %function;
+_Fork:
+.weak _IO_feof_unlocked
+.type _IO_feof_unlocked, %function;
+_IO_feof_unlocked:
+.weak _IO_ferror_unlocked
+.type _IO_ferror_unlocked, %function;
+_IO_ferror_unlocked:
+.weak _IO_getc
+.type _IO_getc, %function;
+_IO_getc:
+.weak _IO_getc_unlocked
+.type _IO_getc_unlocked, %function;
+_IO_getc_unlocked:
+.weak _IO_putc
+.type _IO_putc, %function;
+_IO_putc:
+.weak _IO_putc_unlocked
+.type _IO_putc_unlocked, %function;
+_IO_putc_unlocked:
+#if !defined(ARCH_riscv64) && !defined(ARCH_mips) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
+.globl ___tls_get_addr
+.type ___tls_get_addr, %function;
+___tls_get_addr:
+#endif
+#ifdef PTR32
+.globl __adjtime64
+.type __adjtime64, %function;
+__adjtime64:
+.globl __adjtimex_time64
+.type __adjtimex_time64, %function;
+__adjtimex_time64:
+.globl __aio_suspend_time64
+.type __aio_suspend_time64, %function;
+__aio_suspend_time64:
+#endif
+.globl __assert_fail
+.type __assert_fail, %function;
+__assert_fail:
+#if !defined(ARCH_riscv64) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
+.globl __cachectl
+.type __cachectl, %function;
+__cachectl:
+#endif
+#ifdef PTR32
+.globl __clock_adjtime64
+.type __clock_adjtime64, %function;
+__clock_adjtime64:
+.globl __clock_getres_time64
+.type __clock_getres_time64, %function;
+__clock_getres_time64:
+.weak __clock_gettime64
+.type __clock_gettime64, %function;
+__clock_gettime64:
+.weak __clock_nanosleep_time64
+.type __clock_nanosleep_time64, %function;
+__clock_nanosleep_time64:
+.globl __clock_settime64
+.type __clock_settime64, %function;
+__clock_settime64:
+.globl __cnd_timedwait_time64
+.type __cnd_timedwait_time64, %function;
+__cnd_timedwait_time64:
+.globl __ctime64
+.type __ctime64, %function;
+__ctime64:
+.globl __ctime64_r
+.type __ctime64_r, %function;
+__ctime64_r:
+#endif
+.globl __ctype_b_loc
+.type __ctype_b_loc, %function;
+__ctype_b_loc:
+.globl __ctype_get_mb_cur_max
+.type __ctype_get_mb_cur_max, %function;
+__ctype_get_mb_cur_max:
+.globl __ctype_tolower_loc
+.type __ctype_tolower_loc, %function;
+__ctype_tolower_loc:
+.globl __ctype_toupper_loc
+.type __ctype_toupper_loc, %function;
+__ctype_toupper_loc:
+.globl __cxa_atexit
+.type __cxa_atexit, %function;
+__cxa_atexit:
+.globl __cxa_finalize
+.type __cxa_finalize, %function;
+__cxa_finalize:
+#ifdef PTR32
+.globl __difftime64
+.type __difftime64, %function;
+__difftime64:
+#endif
+.globl __dls2b
+.type __dls2b, %function;
+__dls2b:
+.globl __dls3
+.type __dls3, %function;
+__dls3:
+#ifdef PTR32
+.globl __dlsym_time64
+.type __dlsym_time64, %function;
+__dlsym_time64:
+#endif
+.globl __duplocale
+.type __duplocale, %function;
+__duplocale:
+.globl __errno_location
+.type __errno_location, %function;
+__errno_location:
+.globl __fbufsize
+.type __fbufsize, %function;
+__fbufsize:
+.globl __fgetwc_unlocked
+.type __fgetwc_unlocked, %function;
+__fgetwc_unlocked:
+.globl __flbf
+.type __flbf, %function;
+__flbf:
+.globl __flt_rounds
+.type __flt_rounds, %function;
+__flt_rounds:
+.globl __fpclassify
+.type __fpclassify, %function;
+__fpclassify:
+.globl __fpclassifyf
+.type __fpclassifyf, %function;
+__fpclassifyf:
+.globl __fpclassifyl
+.type __fpclassifyl, %function;
+__fpclassifyl:
+.globl __fpending
+.type __fpending, %function;
+__fpending:
+.globl __fpurge
+.type __fpurge, %function;
+__fpurge:
+.globl __fputwc_unlocked
+.type __fputwc_unlocked, %function;
+__fputwc_unlocked:
+.globl __freadable
+.type __freadable, %function;
+__freadable:
+.globl __freadahead
+.type __freadahead, %function;
+__freadahead:
+.globl __freading
+.type __freading, %function;
+__freading:
+.globl __freadptr
+.type __freadptr, %function;
+__freadptr:
+.globl __freadptrinc
+.type __freadptrinc, %function;
+__freadptrinc:
+.weak __freelocale
+.type __freelocale, %function;
+__freelocale:
+.globl __fseterr
+.type __fseterr, %function;
+__fseterr:
+.globl __fsetlocking
+.type __fsetlocking, %function;
+__fsetlocking:
+#ifdef PTR32
+.globl __fstat_time64
+.type __fstat_time64, %function;
+__fstat_time64:
+.globl __fstatat_time64
+.type __fstatat_time64, %function;
+__fstatat_time64:
+.globl __ftime64
+.type __ftime64, %function;
+__ftime64:
+.globl __futimens_time64
+.type __futimens_time64, %function;
+__futimens_time64:
+.globl __futimes_time64
+.type __futimes_time64, %function;
+__futimes_time64:
+.weak __futimesat_time64
+.type __futimesat_time64, %function;
+__futimesat_time64:
+#endif
+.globl __fwritable
+.type __fwritable, %function;
+__fwritable:
+.globl __fwriting
+.type __fwriting, %function;
+__fwriting:
+#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_powerpc)
+.globl __fxstat
+.type __fxstat, %function;
+__fxstat:
+#endif
+WEAK64 __fxstat64
+.type __fxstat64, %function;
+__fxstat64:
+#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_powerpc)
+.globl __fxstatat
+.type __fxstatat, %function;
+__fxstatat:
+#endif
+WEAK64 __fxstatat64
+.type __fxstatat64, %function;
+__fxstatat64:
+.weak __getdelim
+.type __getdelim, %function;
+__getdelim:
+#ifdef PTR32
+.globl __getitimer_time64
+.type __getitimer_time64, %function;
+__getitimer_time64:
+.globl __getrusage_time64
+.type __getrusage_time64, %function;
+__getrusage_time64:
+.globl __gettimeofday_time64
+.type __gettimeofday_time64, %function;
+__gettimeofday_time64:
+.globl __gmtime64
+.type __gmtime64, %function;
+__gmtime64:
+.weak __gmtime64_r
+.type __gmtime64_r, %function;
+__gmtime64_r:
+#endif
+.globl __h_errno_location
+.type __h_errno_location, %function;
+__h_errno_location:
+.globl __isalnum_l
+.type __isalnum_l, %function;
+__isalnum_l:
+.globl __isalpha_l
+.type __isalpha_l, %function;
+__isalpha_l:
+.globl __isblank_l
+.type __isblank_l, %function;
+__isblank_l:
+.globl __iscntrl_l
+.type __iscntrl_l, %function;
+__iscntrl_l:
+.globl __isdigit_l
+.type __isdigit_l, %function;
+__isdigit_l:
+.globl __isgraph_l
+.type __isgraph_l, %function;
+__isgraph_l:
+.globl __islower_l
+.type __islower_l, %function;
+__islower_l:
+.weak __isoc99_fscanf
+.type __isoc99_fscanf, %function;
+__isoc99_fscanf:
+.weak __isoc99_fwscanf
+.type __isoc99_fwscanf, %function;
+__isoc99_fwscanf:
+.weak __isoc99_scanf
+.type __isoc99_scanf, %function;
+__isoc99_scanf:
+.weak __isoc99_sscanf
+.type __isoc99_sscanf, %function;
+__isoc99_sscanf:
+.weak __isoc99_swscanf
+.type __isoc99_swscanf, %function;
+__isoc99_swscanf:
+.weak __isoc99_vfscanf
+.type __isoc99_vfscanf, %function;
+__isoc99_vfscanf:
+.weak __isoc99_vfwscanf
+.type __isoc99_vfwscanf, %function;
+__isoc99_vfwscanf:
+.weak __isoc99_vscanf
+.type __isoc99_vscanf, %function;
+__isoc99_vscanf:
+.weak __isoc99_vsscanf
+.type __isoc99_vsscanf, %function;
+__isoc99_vsscanf:
+.weak __isoc99_vswscanf
+.type __isoc99_vswscanf, %function;
+__isoc99_vswscanf:
+.weak __isoc99_vwscanf
+.type __isoc99_vwscanf, %function;
+__isoc99_vwscanf:
+.weak __isoc99_wscanf
+.type __isoc99_wscanf, %function;
+__isoc99_wscanf:
+.globl __isprint_l
+.type __isprint_l, %function;
+__isprint_l:
+.globl __ispunct_l
+.type __ispunct_l, %function;
+__ispunct_l:
+.globl __isspace_l
+.type __isspace_l, %function;
+__isspace_l:
+.globl __isupper_l
+.type __isupper_l, %function;
+__isupper_l:
+.globl __iswalnum_l
+.type __iswalnum_l, %function;
+__iswalnum_l:
+.globl __iswalpha_l
+.type __iswalpha_l, %function;
+__iswalpha_l:
+.globl __iswblank_l
+.type __iswblank_l, %function;
+__iswblank_l:
+.globl __iswcntrl_l
+.type __iswcntrl_l, %function;
+__iswcntrl_l:
+.globl __iswctype_l
+.type __iswctype_l, %function;
+__iswctype_l:
+.globl __iswdigit_l
+.type __iswdigit_l, %function;
+__iswdigit_l:
+.globl __iswgraph_l
+.type __iswgraph_l, %function;
+__iswgraph_l:
+.globl __iswlower_l
+.type __iswlower_l, %function;
+__iswlower_l:
+.globl __iswprint_l
+.type __iswprint_l, %function;
+__iswprint_l:
+.globl __iswpunct_l
+.type __iswpunct_l, %function;
+__iswpunct_l:
+.globl __iswspace_l
+.type __iswspace_l, %function;
+__iswspace_l:
+.globl __iswupper_l
+.type __iswupper_l, %function;
+__iswupper_l:
+.globl __iswxdigit_l
+.type __iswxdigit_l, %function;
+__iswxdigit_l:
+.globl __isxdigit_l
+.type __isxdigit_l, %function;
+__isxdigit_l:
+.globl __lgammal_r
+.type __lgammal_r, %function;
+__lgammal_r:
+.globl __libc_current_sigrtmax
+.type __libc_current_sigrtmax, %function;
+__libc_current_sigrtmax:
+.globl __libc_current_sigrtmin
+.type __libc_current_sigrtmin, %function;
+__libc_current_sigrtmin:
+.globl __libc_start_main
+.type __libc_start_main, %function;
+__libc_start_main:
+#ifdef PTR32
+.globl __localtime64
+.type __localtime64, %function;
+__localtime64:
+.weak __localtime64_r
+.type __localtime64_r, %function;
+__localtime64_r:
+#endif
+#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
+.globl __longjmp
+.type __longjmp, %function;
+__longjmp:
+#endif
+#ifdef PTR32
+.globl __lstat_time64
+.type __lstat_time64, %function;
+__lstat_time64:
+.globl __lutimes_time64
+.type __lutimes_time64, %function;
+__lutimes_time64:
+#endif
+#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_powerpc)
+.globl __lxstat
+.type __lxstat, %function;
+__lxstat:
+#endif
+WEAK64 __lxstat64
+.type __lxstat64, %function;
+__lxstat64:
+#ifdef PTR32
+.globl __mktime64
+.type __mktime64, %function;
+__mktime64:
+.globl __mq_timedreceive_time64
+.type __mq_timedreceive_time64, %function;
+__mq_timedreceive_time64:
+.globl __mq_timedsend_time64
+.type __mq_timedsend_time64, %function;
+__mq_timedsend_time64:
+.globl __mtx_timedlock_time64
+.type __mtx_timedlock_time64, %function;
+__mtx_timedlock_time64:
+.globl __nanosleep_time64
+.type __nanosleep_time64, %function;
+__nanosleep_time64:
+#endif
+.globl __newlocale
+.type __newlocale, %function;
+__newlocale:
+.globl __nl_langinfo
+.type __nl_langinfo, %function;
+__nl_langinfo:
+.globl __nl_langinfo_l
+.type __nl_langinfo_l, %function;
+__nl_langinfo_l:
+.globl __overflow
+.type __overflow, %function;
+.protected __overflow
+__overflow:
+.weak __posix_getopt
+.type __posix_getopt, %function;
+__posix_getopt:
+#ifdef PTR32
+.globl __ppoll_time64
+.type __ppoll_time64, %function;
+__ppoll_time64:
+.globl __pselect_time64
+.type __pselect_time64, %function;
+__pselect_time64:
+.weak __pthread_cond_timedwait_time64
+.type __pthread_cond_timedwait_time64, %function;
+__pthread_cond_timedwait_time64:
+.weak __pthread_mutex_timedlock_time64
+.type __pthread_mutex_timedlock_time64, %function;
+__pthread_mutex_timedlock_time64:
+.weak __pthread_rwlock_timedrdlock_time64
+.type __pthread_rwlock_timedrdlock_time64, %function;
+__pthread_rwlock_timedrdlock_time64:
+.weak __pthread_rwlock_timedwrlock_time64
+.type __pthread_rwlock_timedwrlock_time64, %function;
+__pthread_rwlock_timedwrlock_time64:
+.weak __pthread_timedjoin_np_time64
+.type __pthread_timedjoin_np_time64, %function;
+__pthread_timedjoin_np_time64:
+.globl __recvmmsg_time64
+.type __recvmmsg_time64, %function;
+__recvmmsg_time64:
+#endif
+.globl __res_state
+.type __res_state, %function;
+__res_state:
+#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
+.globl __riscv_flush_icache
+.type __riscv_flush_icache, %function;
+__riscv_flush_icache:
+#endif
+.globl __sched_cpucount
+.type __sched_cpucount, %function;
+__sched_cpucount:
+#ifdef PTR32
+.globl __sched_rr_get_interval_time64
+.type __sched_rr_get_interval_time64, %function;
+__sched_rr_get_interval_time64:
+.globl __select_time64
+.type __select_time64, %function;
+__select_time64:
+.globl __sem_timedwait_time64
+.type __sem_timedwait_time64, %function;
+__sem_timedwait_time64:
+.globl __semtimedop_time64
+.type __semtimedop_time64, %function;
+__semtimedop_time64:
+.globl __setitimer_time64
+.type __setitimer_time64, %function;
+__setitimer_time64:
+#endif
+.globl __setjmp
+.type __setjmp, %function;
+__setjmp:
+#ifdef PTR32
+.globl __settimeofday_time64
+.type __settimeofday_time64, %function;
+__settimeofday_time64:
+#endif
+.globl __signbit
+.type __signbit, %function;
+__signbit:
+.globl __signbitf
+.type __signbitf, %function;
+__signbitf:
+.globl __signbitl
+.type __signbitl, %function;
+__signbitl:
+.globl __sigsetjmp
+.type __sigsetjmp, %function;
+__sigsetjmp:
+#ifdef PTR32
+.globl __sigtimedwait_time64
+.type __sigtimedwait_time64, %function;
+__sigtimedwait_time64:
+#endif
+.globl __stack_chk_fail
+.type __stack_chk_fail, %function;
+__stack_chk_fail:
+#ifdef PTR32
+.globl __stat_time64
+.type __stat_time64, %function;
+__stat_time64:
+.globl __stime64
+.type __stime64, %function;
+__stime64:
+#endif
+.globl __strcasecmp_l
+.type __strcasecmp_l, %function;
+__strcasecmp_l:
+.globl __strcoll_l
+.type __strcoll_l, %function;
+__strcoll_l:
+.globl __strerror_l
+.type __strerror_l, %function;
+__strerror_l:
+.globl __strncasecmp_l
+.type __strncasecmp_l, %function;
+__strncasecmp_l:
+.weak __strtod_l
+.type __strtod_l, %function;
+__strtod_l:
+.weak __strtof_l
+.type __strtof_l, %function;
+__strtof_l:
+.weak __strtoimax_internal
+.type __strtoimax_internal, %function;
+__strtoimax_internal:
+.weak __strtol_internal
+.type __strtol_internal, %function;
+__strtol_internal:
+.weak __strtold_l
+.type __strtold_l, %function;
+__strtold_l:
+.weak __strtoll_internal
+.type __strtoll_internal, %function;
+__strtoll_internal:
+.weak __strtoul_internal
+.type __strtoul_internal, %function;
+__strtoul_internal:
+.weak __strtoull_internal
+.type __strtoull_internal, %function;
+__strtoull_internal:
+.weak __strtoumax_internal
+.type __strtoumax_internal, %function;
+__strtoumax_internal:
+.globl __strxfrm_l
+.type __strxfrm_l, %function;
+__strxfrm_l:
+.weak __sysv_signal
+.type __sysv_signal, %function;
+__sysv_signal:
+#ifdef PTR32
+.globl __thrd_sleep_time64
+.type __thrd_sleep_time64, %function;
+__thrd_sleep_time64:
+.globl __time64
+.type __time64, %function;
+__time64:
+.globl __timegm_time64
+.type __timegm_time64, %function;
+__timegm_time64:
+.globl __timer_gettime64
+.type __timer_gettime64, %function;
+__timer_gettime64:
+.globl __timer_settime64
+.type __timer_settime64, %function;
+__timer_settime64:
+.globl __timerfd_gettime64
+.type __timerfd_gettime64, %function;
+__timerfd_gettime64:
+.globl __timerfd_settime64
+.type __timerfd_settime64, %function;
+__timerfd_settime64:
+.globl __timespec_get_time64
+.type __timespec_get_time64, %function;
+__timespec_get_time64:
+#endif
+.globl __tls_get_addr
+.type __tls_get_addr, %function;
+__tls_get_addr:
+.globl __tolower_l
+.type __tolower_l, %function;
+__tolower_l:
+.globl __toupper_l
+.type __toupper_l, %function;
+__toupper_l:
+.globl __towctrans_l
+.type __towctrans_l, %function;
+__towctrans_l:
+.globl __towlower_l
+.type __towlower_l, %function;
+__towlower_l:
+.globl __towupper_l
+.type __towupper_l, %function;
+__towupper_l:
+.globl __uflow
+.type __uflow, %function;
+.protected __uflow
+__uflow:
+.globl __uselocale
+.type __uselocale, %function;
+__uselocale:
+#ifdef PTR32
+.globl __utime64
+.type __utime64, %function;
+__utime64:
+.globl __utimensat_time64
+.type __utimensat_time64, %function;
+__utimensat_time64:
+.globl __utimes_time64
+.type __utimes_time64, %function;
+__utimes_time64:
+.globl __wait3_time64
+.type __wait3_time64, %function;
+__wait3_time64:
+.globl __wait4_time64
+.type __wait4_time64, %function;
+__wait4_time64:
+#endif
+.globl __wcscoll_l
+.type __wcscoll_l, %function;
+__wcscoll_l:
+.globl __wcsftime_l
+.type __wcsftime_l, %function;
+__wcsftime_l:
+.globl __wcsxfrm_l
+.type __wcsxfrm_l, %function;
+__wcsxfrm_l:
+.globl __wctrans_l
+.type __wctrans_l, %function;
+__wctrans_l:
+.globl __wctype_l
+.type __wctype_l, %function;
+__wctype_l:
+.globl __xmknod
+.type __xmknod, %function;
+__xmknod:
+.globl __xmknodat
+.type __xmknodat, %function;
+__xmknodat:
+.weak __xpg_basename
+.type __xpg_basename, %function;
+__xpg_basename:
+.weak __xpg_strerror_r
+.type __xpg_strerror_r, %function;
+__xpg_strerror_r:
+#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_powerpc)
+.globl __xstat
+.type __xstat, %function;
+__xstat:
+#endif
+WEAK64 __xstat64
+.type __xstat64, %function;
+__xstat64:
+.weak _dl_debug_state
+.type _dl_debug_state, %function;
+_dl_debug_state:
+.globl _dlstart
+.type _dlstart, %function;
+_dlstart:
+.globl _exit
+.type _exit, %function;
+_exit:
+.weak _fini
+.type _fini, %function;
+_fini:
+#if !defined(ARCH_riscv64) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
+.globl _flush_cache
+.type _flush_cache, %function;
+_flush_cache:
+#endif
+.globl _flushlbf
+.type _flushlbf, %function;
+_flushlbf:
+.weak _init
+.type _init, %function;
+_init:
+.globl _longjmp
+.type _longjmp, %function;
+_longjmp:
+.globl _pthread_cleanup_pop
+.type _pthread_cleanup_pop, %function;
+_pthread_cleanup_pop:
+.globl _pthread_cleanup_push
+.type _pthread_cleanup_push, %function;
+_pthread_cleanup_push:
+.globl _setjmp
+.type _setjmp, %function;
+_setjmp:
+.globl a64l
+.type a64l, %function;
+a64l:
+.globl abort
+.type abort, %function;
+abort:
+.globl abs
+.type abs, %function;
+abs:
+.globl accept
+.type accept, %function;
+accept:
+.globl accept4
+.type accept4, %function;
+accept4:
+.globl access
+.type access, %function;
+access:
+.globl acct
+.type acct, %function;
+acct:
+.globl acos
+.type acos, %function;
+acos:
+.globl acosf
+.type acosf, %function;
+acosf:
+.globl acosh
+.type acosh, %function;
+acosh:
+.globl acoshf
+.type acoshf, %function;
+acoshf:
+.globl acoshl
+.type acoshl, %function;
+acoshl:
+.globl acosl
+.type acosl, %function;
+acosl:
+.globl addmntent
+.type addmntent, %function;
+addmntent:
+.globl adjtime
+.type adjtime, %function;
+adjtime:
+.globl adjtimex
+.type adjtimex, %function;
+adjtimex:
+.globl aio_cancel
+.type aio_cancel, %function;
+aio_cancel:
+.weak aio_cancel64
+.type aio_cancel64, %function;
+aio_cancel64:
+.globl aio_error
+.type aio_error, %function;
+aio_error:
+.weak aio_error64
+.type aio_error64, %function;
+aio_error64:
.globl aio_fsync
.type aio_fsync, %function;
aio_fsync:
.weak aio_fsync64
.type aio_fsync64, %function;
aio_fsync64:
-.weak aio_return64
-.type aio_return64, %function;
-aio_return64:
+.globl aio_read
+.type aio_read, %function;
+aio_read:
+.weak aio_read64
+.type aio_read64, %function;
+aio_read64:
.globl aio_return
.type aio_return, %function;
aio_return:
-.globl aio_error
-.type aio_error, %function;
-aio_error:
-.weak aio_error64
-.type aio_error64, %function;
-aio_error64:
-.globl aio_cancel
-.type aio_cancel, %function;
-aio_cancel:
-.weak aio_cancel64
-.type aio_cancel64, %function;
-aio_cancel64:
+.weak aio_return64
+.type aio_return64, %function;
+aio_return64:
.globl aio_suspend
.type aio_suspend, %function;
aio_suspend:
.weak aio_suspend64
.type aio_suspend64, %function;
aio_suspend64:
-.globl lio_listio
-.type lio_listio, %function;
-lio_listio:
-.weak lio_listio64
-.type lio_listio64, %function;
-lio_listio64:
+.globl aio_write
+.type aio_write, %function;
+aio_write:
+.weak aio_write64
+.type aio_write64, %function;
+aio_write64:
+.globl alarm
+.type alarm, %function;
+alarm:
+.globl aligned_alloc
+.type aligned_alloc, %function;
+aligned_alloc:
+.globl alphasort
+.type alphasort, %function;
+alphasort:
+.weak alphasort64
+.type alphasort64, %function;
+alphasort64:
+#if !defined(ARCH_riscv64) && !defined(ARCH_mips) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
+.globl arch_prctl
+.type arch_prctl, %function;
+arch_prctl:
+#endif
+.globl asctime
+.type asctime, %function;
+asctime:
+.weak asctime_r
+.type asctime_r, %function;
+asctime_r:
+.globl asin
+.type asin, %function;
+asin:
+.globl asinf
+.type asinf, %function;
+asinf:
+.globl asinh
+.type asinh, %function;
+asinh:
+.globl asinhf
+.type asinhf, %function;
+asinhf:
+.globl asinhl
+.type asinhl, %function;
+asinhl:
+.globl asinl
+.type asinl, %function;
+asinl:
+.globl asprintf
+.type asprintf, %function;
+asprintf:
+.globl at_quick_exit
+.type at_quick_exit, %function;
+at_quick_exit:
+.globl atan
+.type atan, %function;
+atan:
+.globl atan2
+.type atan2, %function;
+atan2:
+.globl atan2f
+.type atan2f, %function;
+atan2f:
+.globl atan2l
+.type atan2l, %function;
+atan2l:
+.globl atanf
+.type atanf, %function;
+atanf:
+.globl atanh
+.type atanh, %function;
+atanh:
+.globl atanhf
+.type atanhf, %function;
+atanhf:
+.globl atanhl
+.type atanhl, %function;
+atanhl:
+.globl atanl
+.type atanl, %function;
+atanl:
+.globl atexit
+.type atexit, %function;
+atexit:
+.globl atof
+.type atof, %function;
+atof:
+.globl atoi
+.type atoi, %function;
+atoi:
+.globl atol
+.type atol, %function;
+atol:
+.globl atoll
+.type atoll, %function;
+atoll:
+.globl basename
+.type basename, %function;
+basename:
+.globl bcmp
+.type bcmp, %function;
+bcmp:
+.globl bcopy
+.type bcopy, %function;
+bcopy:
+.globl bind
+.type bind, %function;
+bind:
+.globl bind_textdomain_codeset
+.type bind_textdomain_codeset, %function;
+bind_textdomain_codeset:
+.globl bindtextdomain
+.type bindtextdomain, %function;
+bindtextdomain:
+.globl brk
+.type brk, %function;
+brk:
+.weak bsd_signal
+.type bsd_signal, %function;
+bsd_signal:
+.globl bsearch
+.type bsearch, %function;
+bsearch:
+.globl btowc
+.type btowc, %function;
+btowc:
+.globl bzero
+.type bzero, %function;
+bzero:
+.globl c16rtomb
+.type c16rtomb, %function;
+c16rtomb:
+.globl c32rtomb
+.type c32rtomb, %function;
+c32rtomb:
.globl cabs
.type cabs, %function;
cabs:
@@ -78,6 +1062,16 @@ cabsf:
.globl cabsl
.type cabsl, %function;
cabsl:
+#if !defined(ARCH_riscv64) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
+.weak cachectl
+.type cachectl, %function;
+cachectl:
+#endif
+#if !defined(ARCH_riscv64) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
+.weak cacheflush
+.type cacheflush, %function;
+cacheflush:
+#endif
.globl cacos
.type cacos, %function;
cacos:
@@ -96,6 +1090,18 @@ cacoshl:
.globl cacosl
.type cacosl, %function;
cacosl:
+.globl call_once
+.type call_once, %function;
+call_once:
+.globl calloc
+.type calloc, %function;
+calloc:
+.globl capget
+.type capget, %function;
+capget:
+.globl capset
+.type capset, %function;
+capset:
.globl carg
.type carg, %function;
carg:
@@ -141,6 +1147,24 @@ catanhl:
.globl catanl
.type catanl, %function;
catanl:
+.globl catclose
+.type catclose, %function;
+catclose:
+.globl catgets
+.type catgets, %function;
+catgets:
+.globl catopen
+.type catopen, %function;
+catopen:
+.globl cbrt
+.type cbrt, %function;
+cbrt:
+.globl cbrtf
+.type cbrtf, %function;
+cbrtf:
+.globl cbrtl
+.type cbrtl, %function;
+cbrtl:
.globl ccos
.type ccos, %function;
ccos:
@@ -159,6 +1183,15 @@ ccoshl:
.globl ccosl
.type ccosl, %function;
ccosl:
+.globl ceil
+.type ceil, %function;
+ceil:
+.globl ceilf
+.type ceilf, %function;
+ceilf:
+.globl ceill
+.type ceill, %function;
+ceill:
.globl cexp
.type cexp, %function;
cexp:
@@ -168,6 +1201,36 @@ cexpf:
.globl cexpl
.type cexpl, %function;
cexpl:
+.globl cfgetispeed
+.type cfgetispeed, %function;
+cfgetispeed:
+.globl cfgetospeed
+.type cfgetospeed, %function;
+cfgetospeed:
+.globl cfmakeraw
+.type cfmakeraw, %function;
+cfmakeraw:
+.globl cfsetispeed
+.type cfsetispeed, %function;
+cfsetispeed:
+.globl cfsetospeed
+.type cfsetospeed, %function;
+cfsetospeed:
+.weak cfsetspeed
+.type cfsetspeed, %function;
+cfsetspeed:
+.globl chdir
+.type chdir, %function;
+chdir:
+.globl chmod
+.type chmod, %function;
+chmod:
+.globl chown
+.type chown, %function;
+chown:
+.globl chroot
+.type chroot, %function;
+chroot:
.globl cimag
.type cimag, %function;
cimag:
@@ -177,6 +1240,36 @@ cimagf:
.globl cimagl
.type cimagl, %function;
cimagl:
+.globl clearenv
+.type clearenv, %function;
+clearenv:
+.globl clearerr
+.type clearerr, %function;
+clearerr:
+.weak clearerr_unlocked
+.type clearerr_unlocked, %function;
+clearerr_unlocked:
+.globl clock
+.type clock, %function;
+clock:
+.globl clock_adjtime
+.type clock_adjtime, %function;
+clock_adjtime:
+.globl clock_getcpuclockid
+.type clock_getcpuclockid, %function;
+clock_getcpuclockid:
+.globl clock_getres
+.type clock_getres, %function;
+clock_getres:
+WEAK64 clock_gettime
+.type clock_gettime, %function;
+clock_gettime:
+WEAK64 clock_nanosleep
+.type clock_nanosleep, %function;
+clock_nanosleep:
+.globl clock_settime
+.type clock_settime, %function;
+clock_settime:
.globl clog
.type clog, %function;
clog:
@@ -186,6 +1279,39 @@ clogf:
.globl clogl
.type clogl, %function;
clogl:
+.globl clone
+.type clone, %function;
+clone:
+.globl close
+.type close, %function;
+close:
+.globl closedir
+.type closedir, %function;
+closedir:
+.globl closelog
+.type closelog, %function;
+closelog:
+.globl cnd_broadcast
+.type cnd_broadcast, %function;
+cnd_broadcast:
+.globl cnd_destroy
+.type cnd_destroy, %function;
+cnd_destroy:
+.globl cnd_init
+.type cnd_init, %function;
+cnd_init:
+.globl cnd_signal
+.type cnd_signal, %function;
+cnd_signal:
+.globl cnd_timedwait
+.type cnd_timedwait, %function;
+cnd_timedwait:
+.globl cnd_wait
+.type cnd_wait, %function;
+cnd_wait:
+.globl confstr
+.type confstr, %function;
+confstr:
.globl conj
.type conj, %function;
conj:
@@ -195,6 +1321,39 @@ conjf:
.globl conjl
.type conjl, %function;
conjl:
+.globl connect
+.type connect, %function;
+connect:
+.globl copy_file_range
+.type copy_file_range, %function;
+copy_file_range:
+.globl copysign
+.type copysign, %function;
+copysign:
+.globl copysignf
+.type copysignf, %function;
+copysignf:
+.globl copysignl
+.type copysignl, %function;
+copysignl:
+.globl cos
+.type cos, %function;
+cos:
+.globl cosf
+.type cosf, %function;
+cosf:
+.globl cosh
+.type cosh, %function;
+cosh:
+.globl coshf
+.type coshf, %function;
+coshf:
+.globl coshl
+.type coshl, %function;
+coshl:
+.globl cosl
+.type cosl, %function;
+cosl:
.globl cpow
.type cpow, %function;
cpow:
@@ -222,6 +1381,18 @@ crealf:
.globl creall
.type creall, %function;
creall:
+.globl creat
+.type creat, %function;
+creat:
+.weak creat64
+.type creat64, %function;
+creat64:
+.globl crypt
+.type crypt, %function;
+crypt:
+.weak crypt_r
+.type crypt_r, %function;
+crypt_r:
.globl csin
.type csin, %function;
csin:
@@ -267,582 +1438,51 @@ ctanhl:
.globl ctanl
.type ctanl, %function;
ctanl:
-.globl confstr
-.type confstr, %function;
-confstr:
-.globl fpathconf
-.type fpathconf, %function;
-fpathconf:
-.globl get_nprocs_conf
-.type get_nprocs_conf, %function;
-get_nprocs_conf:
-.globl get_nprocs
-.type get_nprocs, %function;
-get_nprocs:
-.globl get_phys_pages
-.type get_phys_pages, %function;
-get_phys_pages:
-.globl get_avphys_pages
-.type get_avphys_pages, %function;
-get_avphys_pages:
-.globl pathconf
-.type pathconf, %function;
-pathconf:
-.globl sysconf
-.type sysconf, %function;
-sysconf:
-.globl crypt
-.type crypt, %function;
-crypt:
-.weak crypt_r
-.type crypt_r, %function;
-crypt_r:
-.globl setkey
-.type setkey, %function;
-setkey:
-.globl encrypt
-.type encrypt, %function;
-encrypt:
-.globl __ctype_b_loc
-.type __ctype_b_loc, %function;
-__ctype_b_loc:
-.globl __ctype_get_mb_cur_max
-.type __ctype_get_mb_cur_max, %function;
-__ctype_get_mb_cur_max:
-.globl __ctype_tolower_loc
-.type __ctype_tolower_loc, %function;
-__ctype_tolower_loc:
-.globl __ctype_toupper_loc
-.type __ctype_toupper_loc, %function;
-__ctype_toupper_loc:
-.globl isalnum
-.type isalnum, %function;
-isalnum:
-.globl __isalnum_l
-.type __isalnum_l, %function;
-__isalnum_l:
-.weak isalnum_l
-.type isalnum_l, %function;
-isalnum_l:
-.globl isalpha
-.type isalpha, %function;
-isalpha:
-.weak isalpha_l
-.type isalpha_l, %function;
-isalpha_l:
-.globl __isalpha_l
-.type __isalpha_l, %function;
-__isalpha_l:
-.globl isascii
-.type isascii, %function;
-isascii:
-.globl isblank
-.type isblank, %function;
-isblank:
-.globl __isblank_l
-.type __isblank_l, %function;
-__isblank_l:
-.weak isblank_l
-.type isblank_l, %function;
-isblank_l:
-.globl iscntrl
-.type iscntrl, %function;
-iscntrl:
-.weak iscntrl_l
-.type iscntrl_l, %function;
-iscntrl_l:
-.globl __iscntrl_l
-.type __iscntrl_l, %function;
-__iscntrl_l:
-.globl isdigit
-.type isdigit, %function;
-isdigit:
-.weak isdigit_l
-.type isdigit_l, %function;
-isdigit_l:
-.globl __isdigit_l
-.type __isdigit_l, %function;
-__isdigit_l:
-.globl isgraph
-.type isgraph, %function;
-isgraph:
-.globl __isgraph_l
-.type __isgraph_l, %function;
-__isgraph_l:
-.weak isgraph_l
-.type isgraph_l, %function;
-isgraph_l:
-.globl islower
-.type islower, %function;
-islower:
-.weak islower_l
-.type islower_l, %function;
-islower_l:
-.globl __islower_l
-.type __islower_l, %function;
-__islower_l:
-.globl isprint
-.type isprint, %function;
-isprint:
-.weak isprint_l
-.type isprint_l, %function;
-isprint_l:
-.globl __isprint_l
-.type __isprint_l, %function;
-__isprint_l:
-.globl ispunct
-.type ispunct, %function;
-ispunct:
-.weak ispunct_l
-.type ispunct_l, %function;
-ispunct_l:
-.globl __ispunct_l
-.type __ispunct_l, %function;
-__ispunct_l:
-.globl isspace
-.type isspace, %function;
-isspace:
-.weak isspace_l
-.type isspace_l, %function;
-isspace_l:
-.globl __isspace_l
-.type __isspace_l, %function;
-__isspace_l:
-.globl isupper
-.type isupper, %function;
-isupper:
-.weak isupper_l
-.type isupper_l, %function;
-isupper_l:
-.globl __isupper_l
-.type __isupper_l, %function;
-__isupper_l:
-.globl iswalnum
-.type iswalnum, %function;
-iswalnum:
-.globl __iswalnum_l
-.type __iswalnum_l, %function;
-__iswalnum_l:
-.weak iswalnum_l
-.type iswalnum_l, %function;
-iswalnum_l:
-.globl iswalpha
-.type iswalpha, %function;
-iswalpha:
-.globl __iswalpha_l
-.type __iswalpha_l, %function;
-__iswalpha_l:
-.weak iswalpha_l
-.type iswalpha_l, %function;
-iswalpha_l:
-.globl iswblank
-.type iswblank, %function;
-iswblank:
-.globl __iswblank_l
-.type __iswblank_l, %function;
-__iswblank_l:
-.weak iswblank_l
-.type iswblank_l, %function;
-iswblank_l:
-.globl iswcntrl
-.type iswcntrl, %function;
-iswcntrl:
-.globl __iswcntrl_l
-.type __iswcntrl_l, %function;
-__iswcntrl_l:
-.weak iswcntrl_l
-.type iswcntrl_l, %function;
-iswcntrl_l:
-.globl iswctype
-.type iswctype, %function;
-iswctype:
-.globl wctype
-.type wctype, %function;
-wctype:
-.globl __iswctype_l
-.type __iswctype_l, %function;
-__iswctype_l:
-.weak iswctype_l
-.type iswctype_l, %function;
-iswctype_l:
-.globl __wctype_l
-.type __wctype_l, %function;
-__wctype_l:
-.weak wctype_l
-.type wctype_l, %function;
-wctype_l:
-.globl iswdigit
-.type iswdigit, %function;
-iswdigit:
-.globl __iswdigit_l
-.type __iswdigit_l, %function;
-__iswdigit_l:
-.weak iswdigit_l
-.type iswdigit_l, %function;
-iswdigit_l:
-.globl iswgraph
-.type iswgraph, %function;
-iswgraph:
-.globl __iswgraph_l
-.type __iswgraph_l, %function;
-__iswgraph_l:
-.weak iswgraph_l
-.type iswgraph_l, %function;
-iswgraph_l:
-.globl iswlower
-.type iswlower, %function;
-iswlower:
-.weak iswlower_l
-.type iswlower_l, %function;
-iswlower_l:
-.globl __iswlower_l
-.type __iswlower_l, %function;
-__iswlower_l:
-.globl iswprint
-.type iswprint, %function;
-iswprint:
-.globl __iswprint_l
-.type __iswprint_l, %function;
-__iswprint_l:
-.weak iswprint_l
-.type iswprint_l, %function;
-iswprint_l:
-.globl iswpunct
-.type iswpunct, %function;
-iswpunct:
-.globl __iswpunct_l
-.type __iswpunct_l, %function;
-__iswpunct_l:
-.weak iswpunct_l
-.type iswpunct_l, %function;
-iswpunct_l:
-.globl iswspace
-.type iswspace, %function;
-iswspace:
-.globl __iswspace_l
-.type __iswspace_l, %function;
-__iswspace_l:
-.weak iswspace_l
-.type iswspace_l, %function;
-iswspace_l:
-.globl iswupper
-.type iswupper, %function;
-iswupper:
-.globl __iswupper_l
-.type __iswupper_l, %function;
-__iswupper_l:
-.weak iswupper_l
-.type iswupper_l, %function;
-iswupper_l:
-.globl iswxdigit
-.type iswxdigit, %function;
-iswxdigit:
-.globl __iswxdigit_l
-.type __iswxdigit_l, %function;
-__iswxdigit_l:
-.weak iswxdigit_l
-.type iswxdigit_l, %function;
-iswxdigit_l:
-.globl isxdigit
-.type isxdigit, %function;
-isxdigit:
-.globl __isxdigit_l
-.type __isxdigit_l, %function;
-__isxdigit_l:
-.weak isxdigit_l
-.type isxdigit_l, %function;
-isxdigit_l:
-.globl toascii
-.type toascii, %function;
-toascii:
-.globl tolower
-.type tolower, %function;
-tolower:
-.globl __tolower_l
-.type __tolower_l, %function;
-__tolower_l:
-.weak tolower_l
-.type tolower_l, %function;
-tolower_l:
-.globl toupper
-.type toupper, %function;
-toupper:
-.weak toupper_l
-.type toupper_l, %function;
-toupper_l:
-.globl __toupper_l
-.type __toupper_l, %function;
-__toupper_l:
-.globl towlower
-.type towlower, %function;
-towlower:
-.globl towupper
-.type towupper, %function;
-towupper:
-.globl __towupper_l
-.type __towupper_l, %function;
-__towupper_l:
-.weak towupper_l
-.type towupper_l, %function;
-towupper_l:
-.globl __towlower_l
-.type __towlower_l, %function;
-__towlower_l:
-.weak towlower_l
-.type towlower_l, %function;
-towlower_l:
-.globl wcswidth
-.type wcswidth, %function;
-wcswidth:
-.globl wctrans
-.type wctrans, %function;
-wctrans:
-.globl towctrans
-.type towctrans, %function;
-towctrans:
-.globl __wctrans_l
-.type __wctrans_l, %function;
-__wctrans_l:
-.weak wctrans_l
-.type wctrans_l, %function;
-wctrans_l:
-.weak towctrans_l
-.type towctrans_l, %function;
-towctrans_l:
-.globl __towctrans_l
-.type __towctrans_l, %function;
-__towctrans_l:
-.globl wcwidth
-.type wcwidth, %function;
-wcwidth:
-.globl alphasort
-.type alphasort, %function;
-alphasort:
-.weak alphasort64
-.type alphasort64, %function;
-alphasort64:
-.globl closedir
-.type closedir, %function;
-closedir:
+.globl ctermid
+.type ctermid, %function;
+ctermid:
+.globl ctime
+.type ctime, %function;
+ctime:
+.globl ctime_r
+.type ctime_r, %function;
+ctime_r:
+.globl cuserid
+.type cuserid, %function;
+cuserid:
+.globl daemon
+.type daemon, %function;
+daemon:
+.globl dcgettext
+.type dcgettext, %function;
+dcgettext:
+.globl dcngettext
+.type dcngettext, %function;
+dcngettext:
+.globl delete_module
+.type delete_module, %function;
+delete_module:
+.globl dgettext
+.type dgettext, %function;
+dgettext:
+.globl difftime
+.type difftime, %function;
+difftime:
.globl dirfd
.type dirfd, %function;
dirfd:
-.globl fdopendir
-.type fdopendir, %function;
-fdopendir:
-.globl opendir
-.type opendir, %function;
-opendir:
-.globl readdir
-.type readdir, %function;
-readdir:
-.weak readdir64
-.type readdir64, %function;
-readdir64:
-.weak readdir64_r
-.type readdir64_r, %function;
-readdir64_r:
-.globl readdir_r
-.type readdir_r, %function;
-readdir_r:
-.globl rewinddir
-.type rewinddir, %function;
-rewinddir:
-.weak scandir64
-.type scandir64, %function;
-scandir64:
-.globl scandir
-.type scandir, %function;
-scandir:
-.globl seekdir
-.type seekdir, %function;
-seekdir:
-.globl telldir
-.type telldir, %function;
-telldir:
-.globl versionsort
-.type versionsort, %function;
-versionsort:
-.weak versionsort64
-.type versionsort64, %function;
-versionsort64:
-.weak _init
-.type _init, %function;
-_init:
-.globl __libc_start_main
-.type __libc_start_main, %function;
-__libc_start_main:
-.globl __stack_chk_fail
-.type __stack_chk_fail, %function;
-__stack_chk_fail:
-.globl clearenv
-.type clearenv, %function;
-clearenv:
-.globl getenv
-.type getenv, %function;
-getenv:
-.globl putenv
-.type putenv, %function;
-putenv:
-.globl secure_getenv
-.type secure_getenv, %function;
-secure_getenv:
-.globl setenv
-.type setenv, %function;
-setenv:
-.globl unsetenv
-.type unsetenv, %function;
-unsetenv:
-.globl __errno_location
-.type __errno_location, %function;
-__errno_location:
-.weak strerror_l
-.type strerror_l, %function;
-strerror_l:
-.globl __strerror_l
-.type __strerror_l, %function;
-__strerror_l:
-.globl strerror
-.type strerror, %function;
-strerror:
-.globl _Exit
-.type _Exit, %function;
-_Exit:
-.globl abort
-.type abort, %function;
-abort:
-.globl __assert_fail
-.type __assert_fail, %function;
-__assert_fail:
-.globl at_quick_exit
-.type at_quick_exit, %function;
-at_quick_exit:
-.globl __cxa_finalize
-.type __cxa_finalize, %function;
-__cxa_finalize:
-.globl __cxa_atexit
-.type __cxa_atexit, %function;
-__cxa_atexit:
-.globl atexit
-.type atexit, %function;
-atexit:
-.weak _fini
-.type _fini, %function;
-_fini:
-.globl exit
-.type exit, %function;
-exit:
-.globl quick_exit
-.type quick_exit, %function;
-quick_exit:
-.globl creat
-.type creat, %function;
-creat:
-.weak creat64
-.type creat64, %function;
-creat64:
-.globl fcntl
-.type fcntl, %function;
-fcntl:
-.weak open64
-.type open64, %function;
-open64:
-.globl open
-.type open, %function;
-open:
-.weak openat64
-.type openat64, %function;
-openat64:
-.globl openat
-.type openat, %function;
-openat:
-.weak posix_fadvise64
-.type posix_fadvise64, %function;
-posix_fadvise64:
-.globl posix_fadvise
-.type posix_fadvise, %function;
-posix_fadvise:
-.weak posix_fallocate64
-.type posix_fallocate64, %function;
-posix_fallocate64:
-.globl posix_fallocate
-.type posix_fallocate, %function;
-posix_fallocate:
-.globl __flt_rounds
-.type __flt_rounds, %function;
-__flt_rounds:
-.globl fegetexceptflag
-.type fegetexceptflag, %function;
-fegetexceptflag:
-.globl feholdexcept
-.type feholdexcept, %function;
-feholdexcept:
-.globl fesetexceptflag
-.type fesetexceptflag, %function;
-fesetexceptflag:
-.globl fesetround
-.type fesetround, %function;
-fesetround:
-.globl feupdateenv
-.type feupdateenv, %function;
-feupdateenv:
-.globl feclearexcept
-.type feclearexcept, %function;
-feclearexcept:
-.globl feraiseexcept
-.type feraiseexcept, %function;
-feraiseexcept:
-.globl fetestexcept
-.type fetestexcept, %function;
-fetestexcept:
-.globl fegetround
-.type fegetround, %function;
-fegetround:
-.globl fegetenv
-.type fegetenv, %function;
-fegetenv:
-.globl fesetenv
-.type fesetenv, %function;
-fesetenv:
-.globl ftok
-.type ftok, %function;
-ftok:
-.globl msgctl
-.type msgctl, %function;
-msgctl:
-.globl msgget
-.type msgget, %function;
-msgget:
-.globl msgrcv
-.type msgrcv, %function;
-msgrcv:
-.globl msgsnd
-.type msgsnd, %function;
-msgsnd:
-.globl semctl
-.type semctl, %function;
-semctl:
-.globl semget
-.type semget, %function;
-semget:
-.globl semop
-.type semop, %function;
-semop:
-.globl semtimedop
-.type semtimedop, %function;
-semtimedop:
-.globl shmat
-.type shmat, %function;
-shmat:
-.globl shmctl
-.type shmctl, %function;
-shmctl:
-.globl shmdt
-.type shmdt, %function;
-shmdt:
-.globl shmget
-.type shmget, %function;
-shmget:
+.globl dirname
+.type dirname, %function;
+dirname:
+.globl div
+.type div, %function;
+div:
+.globl dl_iterate_phdr
+.type dl_iterate_phdr, %function;
+dl_iterate_phdr:
+.globl dladdr
+.type dladdr, %function;
+dladdr:
.globl dlclose
.type dlclose, %function;
dlclose:
@@ -852,172 +1492,90 @@ dlerror:
.globl dlinfo
.type dlinfo, %function;
dlinfo:
+.globl dlopen
+.type dlopen, %function;
+dlopen:
.globl dlsym
.type dlsym, %function;
dlsym:
-.globl cuserid
-.type cuserid, %function;
-cuserid:
-.globl daemon
-.type daemon, %function;
-daemon:
-.globl vwarn
-.type vwarn, %function;
-vwarn:
-.globl vwarnx
-.type vwarnx, %function;
-vwarnx:
-.globl verr
-.type verr, %function;
-verr:
-.globl verrx
-.type verrx, %function;
-verrx:
-.globl warn
-.type warn, %function;
-warn:
-.globl warnx
-.type warnx, %function;
-warnx:
-.globl err
-.type err, %function;
-err:
-.globl errx
-.type errx, %function;
-errx:
-.globl euidaccess
-.type euidaccess, %function;
-euidaccess:
+.globl dn_comp
+.type dn_comp, %function;
+dn_comp:
+.weak dn_expand
+.type dn_expand, %function;
+dn_expand:
+.globl dn_skipname
+.type dn_skipname, %function;
+dn_skipname:
+.globl dngettext
+.type dngettext, %function;
+dngettext:
+.globl dprintf
+.type dprintf, %function;
+dprintf:
+.globl drand48
+.type drand48, %function;
+drand48:
+.weak drem
+.type drem, %function;
+drem:
+.weak dremf
+.type dremf, %function;
+dremf:
+.globl dup
+.type dup, %function;
+dup:
+.globl dup2
+.type dup2, %function;
+dup2:
+.weak dup3
+.type dup3, %function;
+dup3:
+.weak duplocale
+.type duplocale, %function;
+duplocale:
.weak eaccess
.type eaccess, %function;
eaccess:
-.weak ftw64
-.type ftw64, %function;
-ftw64:
-.globl ftw
-.type ftw, %function;
-ftw:
-.globl futimes
-.type futimes, %function;
-futimes:
-.globl getdtablesize
-.type getdtablesize, %function;
-getdtablesize:
-.globl getloadavg
-.type getloadavg, %function;
-getloadavg:
-.globl getpagesize
-.type getpagesize, %function;
-getpagesize:
-.globl getpass
-.type getpass, %function;
-getpass:
+.globl ecvt
+.type ecvt, %function;
+ecvt:
+.globl encrypt
+.type encrypt, %function;
+encrypt:
+.weak endgrent
+.type endgrent, %function;
+endgrent:
+.globl endhostent
+.type endhostent, %function;
+endhostent:
+.globl endmntent
+.type endmntent, %function;
+endmntent:
+.weak endnetent
+.type endnetent, %function;
+endnetent:
+.globl endprotoent
+.type endprotoent, %function;
+endprotoent:
+.weak endpwent
+.type endpwent, %function;
+endpwent:
+.globl endservent
+.type endservent, %function;
+endservent:
+.globl endspent
+.type endspent, %function;
+endspent:
.globl endusershell
.type endusershell, %function;
endusershell:
-.globl setusershell
-.type setusershell, %function;
-setusershell:
-.globl getusershell
-.type getusershell, %function;
-getusershell:
-.globl isastream
-.type isastream, %function;
-isastream:
-.globl lutimes
-.type lutimes, %function;
-lutimes:
-.globl ulimit
-.type ulimit, %function;
-ulimit:
.weak endutent
.type endutent, %function;
endutent:
.globl endutxent
.type endutxent, %function;
endutxent:
-.weak setutent
-.type setutent, %function;
-setutent:
-.globl setutxent
-.type setutxent, %function;
-setutxent:
-.globl getutxent
-.type getutxent, %function;
-getutxent:
-.weak getutent
-.type getutent, %function;
-getutent:
-.weak getutid
-.type getutid, %function;
-getutid:
-.globl getutxid
-.type getutxid, %function;
-getutxid:
-.weak getutline
-.type getutline, %function;
-getutline:
-.globl getutxline
-.type getutxline, %function;
-getutxline:
-.weak pututline
-.type pututline, %function;
-pututline:
-.globl pututxline
-.type pututxline, %function;
-pututxline:
-.weak updwtmp
-.type updwtmp, %function;
-updwtmp:
-.globl updwtmpx
-.type updwtmpx, %function;
-updwtmpx:
-.weak utmpxname
-.type utmpxname, %function;
-utmpxname:
-.weak utmpname
-.type utmpname, %function;
-utmpname:
-.globl valloc
-.type valloc, %function;
-valloc:
-.globl adjtime
-.type adjtime, %function;
-adjtime:
-.globl adjtimex
-.type adjtimex, %function;
-adjtimex:
-.globl brk
-.type brk, %function;
-brk:
-#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
-.weak riscv_flush_icache
-.type riscv_flush_icache, %function;
-riscv_flush_icache:
-#endif
-#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
-.globl __riscv_flush_icache
-.type __riscv_flush_icache, %function;
-__riscv_flush_icache:
-#endif
-.globl capset
-.type capset, %function;
-capset:
-.globl capget
-.type capget, %function;
-capget:
-.globl chroot
-.type chroot, %function;
-chroot:
-.globl clock_adjtime
-.type clock_adjtime, %function;
-clock_adjtime:
-.globl clone
-.type clone, %function;
-clone:
-.globl copy_file_range
-.type copy_file_range, %function;
-copy_file_range:
.globl epoll_create
.type epoll_create, %function;
epoll_create:
@@ -1033,555 +1591,99 @@ epoll_pwait:
.globl epoll_wait
.type epoll_wait, %function;
epoll_wait:
-.globl eventfd
-.type eventfd, %function;
-eventfd:
-.globl eventfd_read
-.type eventfd_read, %function;
-eventfd_read:
-.globl eventfd_write
-.type eventfd_write, %function;
-eventfd_write:
-.weak fallocate64
-.type fallocate64, %function;
-fallocate64:
-.globl fallocate
-.type fallocate, %function;
-fallocate:
-.globl fanotify_init
-.type fanotify_init, %function;
-fanotify_init:
-.globl fanotify_mark
-.type fanotify_mark, %function;
-fanotify_mark:
-.globl flock
-.type flock, %function;
-flock:
-.globl getdents
-.type getdents, %function;
-getdents:
-.weak getdents64
-.type getdents64, %function;
-getdents64:
-.globl getrandom
-.type getrandom, %function;
-getrandom:
-.globl gettid
-.type gettid, %function;
-gettid:
-.globl inotify_init
-.type inotify_init, %function;
-inotify_init:
-.globl inotify_init1
-.type inotify_init1, %function;
-inotify_init1:
-.globl inotify_add_watch
-.type inotify_add_watch, %function;
-inotify_add_watch:
-.globl inotify_rm_watch
-.type inotify_rm_watch, %function;
-inotify_rm_watch:
-.globl klogctl
-.type klogctl, %function;
-klogctl:
-.weak membarrier
-.type membarrier, %function;
-membarrier:
-.globl memfd_create
-.type memfd_create, %function;
-memfd_create:
-.globl mlock2
-.type mlock2, %function;
-mlock2:
-.globl init_module
-.type init_module, %function;
-init_module:
-.globl delete_module
-.type delete_module, %function;
-delete_module:
-.globl mount
-.type mount, %function;
-mount:
-.globl umount
-.type umount, %function;
-umount:
-.globl umount2
-.type umount2, %function;
-umount2:
-.globl name_to_handle_at
-.type name_to_handle_at, %function;
-name_to_handle_at:
-.globl open_by_handle_at
-.type open_by_handle_at, %function;
-open_by_handle_at:
-.globl personality
-.type personality, %function;
-personality:
-.globl pivot_root
-.type pivot_root, %function;
-pivot_root:
-.globl ppoll
-.type ppoll, %function;
-ppoll:
-.globl prctl
-.type prctl, %function;
-prctl:
-.weak prlimit64
-.type prlimit64, %function;
-prlimit64:
-.globl prlimit
-.type prlimit, %function;
-prlimit:
-.globl process_vm_writev
-.type process_vm_writev, %function;
-process_vm_writev:
-.globl process_vm_readv
-.type process_vm_readv, %function;
-process_vm_readv:
-.globl ptrace
-.type ptrace, %function;
-ptrace:
-.globl quotactl
-.type quotactl, %function;
-quotactl:
-.globl readahead
-.type readahead, %function;
-readahead:
-.globl reboot
-.type reboot, %function;
-reboot:
-.globl remap_file_pages
-.type remap_file_pages, %function;
-remap_file_pages:
-.globl sbrk
-.type sbrk, %function;
-sbrk:
-.globl sendfile
-.type sendfile, %function;
-sendfile:
-.weak sendfile64
-.type sendfile64, %function;
-sendfile64:
-.globl setfsgid
-.type setfsgid, %function;
-setfsgid:
-.globl setfsuid
-.type setfsuid, %function;
-setfsuid:
-.globl setgroups
-.type setgroups, %function;
-setgroups:
-.globl sethostname
-.type sethostname, %function;
-sethostname:
-.globl setns
-.type setns, %function;
-setns:
-.globl settimeofday
-.type settimeofday, %function;
-settimeofday:
-.globl signalfd
-.type signalfd, %function;
-signalfd:
-.globl splice
-.type splice, %function;
-splice:
-.globl stime
-.type stime, %function;
-stime:
-.globl swapon
-.type swapon, %function;
-swapon:
-.globl swapoff
-.type swapoff, %function;
-swapoff:
-.globl sync_file_range
-.type sync_file_range, %function;
-sync_file_range:
-.globl syncfs
-.type syncfs, %function;
-syncfs:
-.weak sysinfo
-.type sysinfo, %function;
-sysinfo:
-.globl tee
-.type tee, %function;
-tee:
-.globl timerfd_create
-.type timerfd_create, %function;
-timerfd_create:
-.globl timerfd_settime
-.type timerfd_settime, %function;
-timerfd_settime:
-.globl timerfd_gettime
-.type timerfd_gettime, %function;
-timerfd_gettime:
-.globl unshare
-.type unshare, %function;
-unshare:
-.globl utimes
-.type utimes, %function;
-utimes:
-.globl vhangup
-.type vhangup, %function;
-vhangup:
-.globl vmsplice
-.type vmsplice, %function;
-vmsplice:
-.globl wait3
-.type wait3, %function;
-wait3:
-.globl wait4
-.type wait4, %function;
-wait4:
-.globl getxattr
-.type getxattr, %function;
-getxattr:
-.globl lgetxattr
-.type lgetxattr, %function;
-lgetxattr:
-.globl fgetxattr
-.type fgetxattr, %function;
-fgetxattr:
-.globl listxattr
-.type listxattr, %function;
-listxattr:
-.globl llistxattr
-.type llistxattr, %function;
-llistxattr:
-.globl flistxattr
-.type flistxattr, %function;
-flistxattr:
-.globl setxattr
-.type setxattr, %function;
-setxattr:
-.globl lsetxattr
-.type lsetxattr, %function;
-lsetxattr:
-.globl fsetxattr
-.type fsetxattr, %function;
-fsetxattr:
-.globl removexattr
-.type removexattr, %function;
-removexattr:
-.globl lremovexattr
-.type lremovexattr, %function;
-lremovexattr:
-.globl fremovexattr
-.type fremovexattr, %function;
-fremovexattr:
-.globl bind_textdomain_codeset
-.type bind_textdomain_codeset, %function;
-bind_textdomain_codeset:
-.globl catclose
-.type catclose, %function;
-catclose:
-.globl catgets
-.type catgets, %function;
-catgets:
-.globl catopen
-.type catopen, %function;
-catopen:
-.globl bindtextdomain
-.type bindtextdomain, %function;
-bindtextdomain:
-.globl dcngettext
-.type dcngettext, %function;
-dcngettext:
-.globl dcgettext
-.type dcgettext, %function;
-dcgettext:
-.globl dngettext
-.type dngettext, %function;
-dngettext:
-.globl dgettext
-.type dgettext, %function;
-dgettext:
-.weak duplocale
-.type duplocale, %function;
-duplocale:
-.globl __duplocale
-.type __duplocale, %function;
-__duplocale:
-.weak __freelocale
-.type __freelocale, %function;
-__freelocale:
-.globl freelocale
-.type freelocale, %function;
-freelocale:
-.globl iconv_open
-.type iconv_open, %function;
-iconv_open:
-.globl iconv
-.type iconv, %function;
-iconv:
-.globl iconv_close
-.type iconv_close, %function;
-iconv_close:
-.weak nl_langinfo_l
-.type nl_langinfo_l, %function;
-nl_langinfo_l:
-.globl __nl_langinfo_l
-.type __nl_langinfo_l, %function;
-__nl_langinfo_l:
-.globl __nl_langinfo
-.type __nl_langinfo, %function;
-__nl_langinfo:
-.weak nl_langinfo
-.type nl_langinfo, %function;
-nl_langinfo:
-.globl localeconv
-.type localeconv, %function;
-localeconv:
-.weak newlocale
-.type newlocale, %function;
-newlocale:
-.globl __newlocale
-.type __newlocale, %function;
-__newlocale:
-.globl setlocale
-.type setlocale, %function;
-setlocale:
-.globl __strcoll_l
-.type __strcoll_l, %function;
-__strcoll_l:
-.weak strcoll_l
-.type strcoll_l, %function;
-strcoll_l:
-.globl strcoll
-.type strcoll, %function;
-strcoll:
-.globl strfmon_l
-.type strfmon_l, %function;
-strfmon_l:
-.globl strfmon
-.type strfmon, %function;
-strfmon:
-.globl __strxfrm_l
-.type __strxfrm_l, %function;
-__strxfrm_l:
-.weak strxfrm_l
-.type strxfrm_l, %function;
-strxfrm_l:
-.globl strxfrm
-.type strxfrm, %function;
-strxfrm:
-.globl textdomain
-.type textdomain, %function;
-textdomain:
-.globl gettext
-.type gettext, %function;
-gettext:
-.globl ngettext
-.type ngettext, %function;
-ngettext:
-.globl __uselocale
-.type __uselocale, %function;
-__uselocale:
-.weak uselocale
-.type uselocale, %function;
-uselocale:
-.globl __wcscoll_l
-.type __wcscoll_l, %function;
-__wcscoll_l:
-.weak wcscoll_l
-.type wcscoll_l, %function;
-wcscoll_l:
-.globl wcscoll
-.type wcscoll, %function;
-wcscoll:
-.globl __wcsxfrm_l
-.type __wcsxfrm_l, %function;
-__wcsxfrm_l:
-.weak wcsxfrm_l
-.type wcsxfrm_l, %function;
-wcsxfrm_l:
-.globl wcsxfrm
-.type wcsxfrm, %function;
-wcsxfrm:
-.globl calloc
-.type calloc, %function;
-calloc:
-.globl free
-.type free, %function;
-free:
-.weak malloc
-.type malloc, %function;
-malloc:
-.globl aligned_alloc
-.type aligned_alloc, %function;
-aligned_alloc:
-.globl malloc_usable_size
-.type malloc_usable_size, %function;
-malloc_usable_size:
-.globl memalign
-.type memalign, %function;
-memalign:
-.globl posix_memalign
-.type posix_memalign, %function;
-posix_memalign:
-.globl realloc
-.type realloc, %function;
-realloc:
-.globl reallocarray
-.type reallocarray, %function;
-reallocarray:
-.globl __fpclassify
-.type __fpclassify, %function;
-__fpclassify:
-.globl __fpclassifyf
-.type __fpclassifyf, %function;
-__fpclassifyf:
-.globl __fpclassifyl
-.type __fpclassifyl, %function;
-__fpclassifyl:
-.globl __signbit
-.type __signbit, %function;
-__signbit:
-.globl __signbitf
-.type __signbitf, %function;
-__signbitf:
-.globl __signbitl
-.type __signbitl, %function;
-__signbitl:
-.globl acos
-.type acos, %function;
-acos:
-.globl acosf
-.type acosf, %function;
-acosf:
-.globl acosh
-.type acosh, %function;
-acosh:
-.globl acoshf
-.type acoshf, %function;
-acoshf:
-.globl acoshl
-.type acoshl, %function;
-acoshl:
-.globl acosl
-.type acosl, %function;
-acosl:
-.globl asin
-.type asin, %function;
-asin:
-.globl asinf
-.type asinf, %function;
-asinf:
-.globl asinh
-.type asinh, %function;
-asinh:
-.globl asinhf
-.type asinhf, %function;
-asinhf:
-.globl asinhl
-.type asinhl, %function;
-asinhl:
-.globl asinl
-.type asinl, %function;
-asinl:
-.globl atan
-.type atan, %function;
-atan:
-.globl atan2
-.type atan2, %function;
-atan2:
-.globl atan2f
-.type atan2f, %function;
-atan2f:
-.globl atan2l
-.type atan2l, %function;
-atan2l:
-.globl atanf
-.type atanf, %function;
-atanf:
-.globl atanh
-.type atanh, %function;
-atanh:
-.globl atanhf
-.type atanhf, %function;
-atanhf:
-.globl atanhl
-.type atanhl, %function;
-atanhl:
-.globl atanl
-.type atanl, %function;
-atanl:
-.globl cbrt
-.type cbrt, %function;
-cbrt:
-.globl cbrtf
-.type cbrtf, %function;
-cbrtf:
-.globl cbrtl
-.type cbrtl, %function;
-cbrtl:
-.globl ceil
-.type ceil, %function;
-ceil:
-.globl ceilf
-.type ceilf, %function;
-ceilf:
-.globl ceill
-.type ceill, %function;
-ceill:
-.globl copysignl
-.type copysignl, %function;
-copysignl:
-.globl cos
-.type cos, %function;
-cos:
-.globl cosf
-.type cosf, %function;
-cosf:
-.globl cosh
-.type cosh, %function;
-cosh:
-.globl coshf
-.type coshf, %function;
-coshf:
-.globl coshl
-.type coshl, %function;
-coshl:
-.globl cosl
-.type cosl, %function;
-cosl:
+.globl erand48
+.type erand48, %function;
+erand48:
.globl erf
.type erf, %function;
erf:
.globl erfc
.type erfc, %function;
erfc:
-.globl erff
-.type erff, %function;
-erff:
.globl erfcf
.type erfcf, %function;
erfcf:
-.globl erfl
-.type erfl, %function;
-erfl:
.globl erfcl
.type erfcl, %function;
erfcl:
+.globl erff
+.type erff, %function;
+erff:
+.globl erfl
+.type erfl, %function;
+erfl:
+.globl err
+.type err, %function;
+err:
+.globl errx
+.type errx, %function;
+errx:
+.globl ether_aton
+.type ether_aton, %function;
+ether_aton:
+.globl ether_aton_r
+.type ether_aton_r, %function;
+ether_aton_r:
+.globl ether_hostton
+.type ether_hostton, %function;
+ether_hostton:
+.globl ether_line
+.type ether_line, %function;
+ether_line:
+.globl ether_ntoa
+.type ether_ntoa, %function;
+ether_ntoa:
+.globl ether_ntoa_r
+.type ether_ntoa_r, %function;
+ether_ntoa_r:
+.globl ether_ntohost
+.type ether_ntohost, %function;
+ether_ntohost:
+.globl euidaccess
+.type euidaccess, %function;
+euidaccess:
+.globl eventfd
+.type eventfd, %function;
+eventfd:
+.globl eventfd_read
+.type eventfd_read, %function;
+eventfd_read:
+.globl eventfd_write
+.type eventfd_write, %function;
+eventfd_write:
+.globl execl
+.type execl, %function;
+execl:
+.globl execle
+.type execle, %function;
+execle:
+.globl execlp
+.type execlp, %function;
+execlp:
+.globl execv
+.type execv, %function;
+execv:
+.globl execve
+.type execve, %function;
+execve:
+.globl execvp
+.type execvp, %function;
+execvp:
+.weak execvpe
+.type execvpe, %function;
+execvpe:
+.globl exit
+.type exit, %function;
+exit:
.globl exp
.type exp, %function;
exp:
-.weak pow10
-.type pow10, %function;
-pow10:
.globl exp10
.type exp10, %function;
exp10:
-.weak pow10f
-.type pow10f, %function;
-pow10f:
.globl exp10f
.type exp10f, %function;
exp10f:
-.weak pow10l
-.type pow10l, %function;
-pow10l:
.globl exp10l
.type exp10l, %function;
exp10l:
@@ -1600,6 +1702,9 @@ expf:
.globl expl
.type expl, %function;
expl:
+.globl explicit_bzero
+.type explicit_bzero, %function;
+explicit_bzero:
.globl expm1
.type expm1, %function;
expm1:
@@ -1609,9 +1714,57 @@ expm1f:
.globl expm1l
.type expm1l, %function;
expm1l:
+.globl fabs
+.type fabs, %function;
+fabs:
+.globl fabsf
+.type fabsf, %function;
+fabsf:
.globl fabsl
.type fabsl, %function;
fabsl:
+.globl faccessat
+.type faccessat, %function;
+faccessat:
+.globl fallocate
+.type fallocate, %function;
+fallocate:
+.weak fallocate64
+.type fallocate64, %function;
+fallocate64:
+.globl fanotify_init
+.type fanotify_init, %function;
+fanotify_init:
+.globl fanotify_mark
+.type fanotify_mark, %function;
+fanotify_mark:
+.globl fchdir
+.type fchdir, %function;
+fchdir:
+.globl fchmod
+.type fchmod, %function;
+fchmod:
+.globl fchmodat
+.type fchmodat, %function;
+fchmodat:
+.globl fchown
+.type fchown, %function;
+fchown:
+.globl fchownat
+.type fchownat, %function;
+fchownat:
+.globl fclose
+.type fclose, %function;
+fclose:
+.globl fcntl
+.type fcntl, %function;
+fcntl:
+.globl fcvt
+.type fcvt, %function;
+fcvt:
+.globl fdatasync
+.type fdatasync, %function;
+fdatasync:
.globl fdim
.type fdim, %function;
fdim:
@@ -1621,12 +1774,141 @@ fdimf:
.globl fdiml
.type fdiml, %function;
fdiml:
+.weak fdopen
+.type fdopen, %function;
+fdopen:
+.globl fdopendir
+.type fdopendir, %function;
+fdopendir:
+.globl feclearexcept
+.type feclearexcept, %function;
+feclearexcept:
+.globl fegetenv
+.type fegetenv, %function;
+fegetenv:
+.globl fegetexceptflag
+.type fegetexceptflag, %function;
+fegetexceptflag:
+.globl fegetround
+.type fegetround, %function;
+fegetround:
+.globl feholdexcept
+.type feholdexcept, %function;
+feholdexcept:
+.globl feof
+.type feof, %function;
+feof:
+.weak feof_unlocked
+.type feof_unlocked, %function;
+feof_unlocked:
+.globl feraiseexcept
+.type feraiseexcept, %function;
+feraiseexcept:
+.globl ferror
+.type ferror, %function;
+ferror:
+.weak ferror_unlocked
+.type ferror_unlocked, %function;
+ferror_unlocked:
+.globl fesetenv
+.type fesetenv, %function;
+fesetenv:
+.globl fesetexceptflag
+.type fesetexceptflag, %function;
+fesetexceptflag:
+.globl fesetround
+.type fesetround, %function;
+fesetround:
+.globl fetestexcept
+.type fetestexcept, %function;
+fetestexcept:
+.globl feupdateenv
+.type feupdateenv, %function;
+feupdateenv:
+.globl fexecve
+.type fexecve, %function;
+fexecve:
+.globl fflush
+.type fflush, %function;
+fflush:
+.weak fflush_unlocked
+.type fflush_unlocked, %function;
+fflush_unlocked:
+.globl ffs
+.type ffs, %function;
+ffs:
+.globl ffsl
+.type ffsl, %function;
+ffsl:
+.globl ffsll
+.type ffsll, %function;
+ffsll:
+.globl fgetc
+.type fgetc, %function;
+fgetc:
+.weak fgetc_unlocked
+.type fgetc_unlocked, %function;
+fgetc_unlocked:
+.globl fgetgrent
+.type fgetgrent, %function;
+fgetgrent:
+.globl fgetln
+.type fgetln, %function;
+fgetln:
+.globl fgetpos
+.type fgetpos, %function;
+fgetpos:
+.weak fgetpos64
+.type fgetpos64, %function;
+fgetpos64:
+.globl fgetpwent
+.type fgetpwent, %function;
+fgetpwent:
+.globl fgets
+.type fgets, %function;
+fgets:
+.weak fgets_unlocked
+.type fgets_unlocked, %function;
+fgets_unlocked:
+.globl fgetspent
+.type fgetspent, %function;
+fgetspent:
+.globl fgetwc
+.type fgetwc, %function;
+fgetwc:
+.weak fgetwc_unlocked
+.type fgetwc_unlocked, %function;
+fgetwc_unlocked:
+.globl fgetws
+.type fgetws, %function;
+fgetws:
+.weak fgetws_unlocked
+.type fgetws_unlocked, %function;
+fgetws_unlocked:
+.globl fgetxattr
+.type fgetxattr, %function;
+fgetxattr:
+.globl fileno
+.type fileno, %function;
+fileno:
+.weak fileno_unlocked
+.type fileno_unlocked, %function;
+fileno_unlocked:
.globl finite
.type finite, %function;
finite:
.globl finitef
.type finitef, %function;
finitef:
+.globl flistxattr
+.type flistxattr, %function;
+flistxattr:
+.globl flock
+.type flock, %function;
+flock:
+.globl flockfile
+.type flockfile, %function;
+flockfile:
.globl floor
.type floor, %function;
floor:
@@ -1636,12 +1918,33 @@ floorf:
.globl floorl
.type floorl, %function;
floorl:
+.globl fma
+.type fma, %function;
+fma:
+.globl fmaf
+.type fmaf, %function;
+fmaf:
.globl fmal
.type fmal, %function;
fmal:
+.globl fmax
+.type fmax, %function;
+fmax:
+.globl fmaxf
+.type fmaxf, %function;
+fmaxf:
.globl fmaxl
.type fmaxl, %function;
fmaxl:
+.globl fmemopen
+.type fmemopen, %function;
+fmemopen:
+.globl fmin
+.type fmin, %function;
+fmin:
+.globl fminf
+.type fminf, %function;
+fminf:
.globl fminl
.type fminl, %function;
fminl:
@@ -1654,6 +1957,87 @@ fmodf:
.globl fmodl
.type fmodl, %function;
fmodl:
+.globl fmtmsg
+.type fmtmsg, %function;
+fmtmsg:
+.globl fnmatch
+.type fnmatch, %function;
+fnmatch:
+.globl fopen
+.type fopen, %function;
+fopen:
+.weak fopen64
+.type fopen64, %function;
+fopen64:
+.globl fopencookie
+.type fopencookie, %function;
+fopencookie:
+.globl fork
+.type fork, %function;
+fork:
+.globl forkpty
+.type forkpty, %function;
+forkpty:
+.globl fpathconf
+.type fpathconf, %function;
+fpathconf:
+.globl fprintf
+.type fprintf, %function;
+fprintf:
+.weak fpurge
+.type fpurge, %function;
+fpurge:
+.globl fputc
+.type fputc, %function;
+fputc:
+.weak fputc_unlocked
+.type fputc_unlocked, %function;
+fputc_unlocked:
+.globl fputs
+.type fputs, %function;
+fputs:
+.weak fputs_unlocked
+.type fputs_unlocked, %function;
+fputs_unlocked:
+.globl fputwc
+.type fputwc, %function;
+fputwc:
+.weak fputwc_unlocked
+.type fputwc_unlocked, %function;
+fputwc_unlocked:
+.globl fputws
+.type fputws, %function;
+fputws:
+.weak fputws_unlocked
+.type fputws_unlocked, %function;
+fputws_unlocked:
+.globl fread
+.type fread, %function;
+fread:
+.weak fread_unlocked
+.type fread_unlocked, %function;
+fread_unlocked:
+.globl free
+.type free, %function;
+free:
+.globl freeaddrinfo
+.type freeaddrinfo, %function;
+freeaddrinfo:
+.globl freeifaddrs
+.type freeifaddrs, %function;
+freeifaddrs:
+.globl freelocale
+.type freelocale, %function;
+freelocale:
+.globl fremovexattr
+.type fremovexattr, %function;
+fremovexattr:
+.globl freopen
+.type freopen, %function;
+freopen:
+.weak freopen64
+.type freopen64, %function;
+freopen64:
.globl frexp
.type frexp, %function;
frexp:
@@ -1663,6 +2047,489 @@ frexpf:
.globl frexpl
.type frexpl, %function;
frexpl:
+.globl fscanf
+.type fscanf, %function;
+fscanf:
+.globl fseek
+.type fseek, %function;
+fseek:
+.weak fseeko
+.type fseeko, %function;
+fseeko:
+.weak fseeko64
+.type fseeko64, %function;
+fseeko64:
+.globl fsetpos
+.type fsetpos, %function;
+fsetpos:
+.weak fsetpos64
+.type fsetpos64, %function;
+fsetpos64:
+.globl fsetxattr
+.type fsetxattr, %function;
+fsetxattr:
+.globl fstat
+.type fstat, %function;
+fstat:
+.weak fstat64
+.type fstat64, %function;
+fstat64:
+.globl fstatat
+.type fstatat, %function;
+fstatat:
+.weak fstatat64
+.type fstatat64, %function;
+fstatat64:
+.weak fstatfs
+.type fstatfs, %function;
+fstatfs:
+.weak fstatfs64
+.type fstatfs64, %function;
+fstatfs64:
+.globl fstatvfs
+.type fstatvfs, %function;
+fstatvfs:
+.weak fstatvfs64
+.type fstatvfs64, %function;
+fstatvfs64:
+.globl fsync
+.type fsync, %function;
+fsync:
+.globl ftell
+.type ftell, %function;
+ftell:
+.weak ftello
+.type ftello, %function;
+ftello:
+.weak ftello64
+.type ftello64, %function;
+ftello64:
+.globl ftime
+.type ftime, %function;
+ftime:
+.globl ftok
+.type ftok, %function;
+ftok:
+.globl ftruncate
+.type ftruncate, %function;
+ftruncate:
+.weak ftruncate64
+.type ftruncate64, %function;
+ftruncate64:
+.globl ftrylockfile
+.type ftrylockfile, %function;
+ftrylockfile:
+.globl ftw
+.type ftw, %function;
+ftw:
+.weak ftw64
+.type ftw64, %function;
+ftw64:
+.globl funlockfile
+.type funlockfile, %function;
+funlockfile:
+.globl futimens
+.type futimens, %function;
+futimens:
+.globl futimes
+.type futimes, %function;
+futimes:
+WEAK64 futimesat
+.type futimesat, %function;
+futimesat:
+.globl fwide
+.type fwide, %function;
+fwide:
+.globl fwprintf
+.type fwprintf, %function;
+fwprintf:
+.globl fwrite
+.type fwrite, %function;
+fwrite:
+.weak fwrite_unlocked
+.type fwrite_unlocked, %function;
+fwrite_unlocked:
+.globl fwscanf
+.type fwscanf, %function;
+fwscanf:
+.globl gai_strerror
+.type gai_strerror, %function;
+gai_strerror:
+.globl gcvt
+.type gcvt, %function;
+gcvt:
+.globl get_avphys_pages
+.type get_avphys_pages, %function;
+get_avphys_pages:
+.globl get_current_dir_name
+.type get_current_dir_name, %function;
+get_current_dir_name:
+.globl get_nprocs
+.type get_nprocs, %function;
+get_nprocs:
+.globl get_nprocs_conf
+.type get_nprocs_conf, %function;
+get_nprocs_conf:
+.globl get_phys_pages
+.type get_phys_pages, %function;
+get_phys_pages:
+.globl getaddrinfo
+.type getaddrinfo, %function;
+getaddrinfo:
+.weak getauxval
+.type getauxval, %function;
+getauxval:
+.globl getc
+.type getc, %function;
+getc:
+.globl getc_unlocked
+.type getc_unlocked, %function;
+getc_unlocked:
+.globl getchar
+.type getchar, %function;
+getchar:
+.globl getchar_unlocked
+.type getchar_unlocked, %function;
+getchar_unlocked:
+.globl getcwd
+.type getcwd, %function;
+getcwd:
+.globl getdate
+.type getdate, %function;
+getdate:
+.globl getdelim
+.type getdelim, %function;
+getdelim:
+.globl getdents
+.type getdents, %function;
+getdents:
+.weak getdents64
+.type getdents64, %function;
+getdents64:
+.globl getdomainname
+.type getdomainname, %function;
+getdomainname:
+.globl getdtablesize
+.type getdtablesize, %function;
+getdtablesize:
+.globl getegid
+.type getegid, %function;
+getegid:
+.globl getentropy
+.type getentropy, %function;
+getentropy:
+.globl getenv
+.type getenv, %function;
+getenv:
+.globl geteuid
+.type geteuid, %function;
+geteuid:
+.globl getgid
+.type getgid, %function;
+getgid:
+.globl getgrent
+.type getgrent, %function;
+getgrent:
+.globl getgrgid
+.type getgrgid, %function;
+getgrgid:
+.globl getgrgid_r
+.type getgrgid_r, %function;
+getgrgid_r:
+.globl getgrnam
+.type getgrnam, %function;
+getgrnam:
+.globl getgrnam_r
+.type getgrnam_r, %function;
+getgrnam_r:
+.globl getgrouplist
+.type getgrouplist, %function;
+getgrouplist:
+.globl getgroups
+.type getgroups, %function;
+getgroups:
+.globl gethostbyaddr
+.type gethostbyaddr, %function;
+gethostbyaddr:
+.globl gethostbyaddr_r
+.type gethostbyaddr_r, %function;
+gethostbyaddr_r:
+.globl gethostbyname
+.type gethostbyname, %function;
+gethostbyname:
+.globl gethostbyname2
+.type gethostbyname2, %function;
+gethostbyname2:
+.globl gethostbyname2_r
+.type gethostbyname2_r, %function;
+gethostbyname2_r:
+.globl gethostbyname_r
+.type gethostbyname_r, %function;
+gethostbyname_r:
+.globl gethostent
+.type gethostent, %function;
+gethostent:
+.globl gethostid
+.type gethostid, %function;
+gethostid:
+.globl gethostname
+.type gethostname, %function;
+gethostname:
+.globl getifaddrs
+.type getifaddrs, %function;
+getifaddrs:
+.globl getitimer
+.type getitimer, %function;
+getitimer:
+.globl getline
+.type getline, %function;
+getline:
+.globl getloadavg
+.type getloadavg, %function;
+getloadavg:
+.globl getlogin
+.type getlogin, %function;
+getlogin:
+.globl getlogin_r
+.type getlogin_r, %function;
+getlogin_r:
+.globl getmntent
+.type getmntent, %function;
+getmntent:
+.globl getmntent_r
+.type getmntent_r, %function;
+getmntent_r:
+.globl getnameinfo
+.type getnameinfo, %function;
+getnameinfo:
+.globl getnetbyaddr
+.type getnetbyaddr, %function;
+getnetbyaddr:
+.globl getnetbyname
+.type getnetbyname, %function;
+getnetbyname:
+.globl getnetent
+.type getnetent, %function;
+getnetent:
+.globl getopt
+.type getopt, %function;
+getopt:
+.globl getopt_long
+.type getopt_long, %function;
+getopt_long:
+.globl getopt_long_only
+.type getopt_long_only, %function;
+getopt_long_only:
+.globl getpagesize
+.type getpagesize, %function;
+getpagesize:
+.globl getpass
+.type getpass, %function;
+getpass:
+.globl getpeername
+.type getpeername, %function;
+getpeername:
+.globl getpgid
+.type getpgid, %function;
+getpgid:
+.globl getpgrp
+.type getpgrp, %function;
+getpgrp:
+.globl getpid
+.type getpid, %function;
+getpid:
+.globl getppid
+.type getppid, %function;
+getppid:
+.globl getpriority
+.type getpriority, %function;
+getpriority:
+.globl getprotobyname
+.type getprotobyname, %function;
+getprotobyname:
+.globl getprotobynumber
+.type getprotobynumber, %function;
+getprotobynumber:
+.globl getprotoent
+.type getprotoent, %function;
+getprotoent:
+.globl getpwent
+.type getpwent, %function;
+getpwent:
+.globl getpwnam
+.type getpwnam, %function;
+getpwnam:
+.globl getpwnam_r
+.type getpwnam_r, %function;
+getpwnam_r:
+.globl getpwuid
+.type getpwuid, %function;
+getpwuid:
+.globl getpwuid_r
+.type getpwuid_r, %function;
+getpwuid_r:
+.globl getrandom
+.type getrandom, %function;
+getrandom:
+.globl getresgid
+.type getresgid, %function;
+getresgid:
+.globl getresuid
+.type getresuid, %function;
+getresuid:
+.globl getrlimit
+.type getrlimit, %function;
+getrlimit:
+.weak getrlimit64
+.type getrlimit64, %function;
+getrlimit64:
+.globl getrusage
+.type getrusage, %function;
+getrusage:
+.globl gets
+.type gets, %function;
+gets:
+.globl getservbyname
+.type getservbyname, %function;
+getservbyname:
+.globl getservbyname_r
+.type getservbyname_r, %function;
+getservbyname_r:
+.globl getservbyport
+.type getservbyport, %function;
+getservbyport:
+.globl getservbyport_r
+.type getservbyport_r, %function;
+getservbyport_r:
+.globl getservent
+.type getservent, %function;
+getservent:
+.globl getsid
+.type getsid, %function;
+getsid:
+.globl getsockname
+.type getsockname, %function;
+getsockname:
+.globl getsockopt
+.type getsockopt, %function;
+getsockopt:
+.globl getspent
+.type getspent, %function;
+getspent:
+.globl getspnam
+.type getspnam, %function;
+getspnam:
+.globl getspnam_r
+.type getspnam_r, %function;
+getspnam_r:
+.globl getsubopt
+.type getsubopt, %function;
+getsubopt:
+.globl gettext
+.type gettext, %function;
+gettext:
+.globl gettid
+.type gettid, %function;
+gettid:
+.globl gettimeofday
+.type gettimeofday, %function;
+gettimeofday:
+.globl getuid
+.type getuid, %function;
+getuid:
+.globl getusershell
+.type getusershell, %function;
+getusershell:
+.weak getutent
+.type getutent, %function;
+getutent:
+.weak getutid
+.type getutid, %function;
+getutid:
+.weak getutline
+.type getutline, %function;
+getutline:
+.globl getutxent
+.type getutxent, %function;
+getutxent:
+.globl getutxid
+.type getutxid, %function;
+getutxid:
+.globl getutxline
+.type getutxline, %function;
+getutxline:
+.globl getw
+.type getw, %function;
+getw:
+.globl getwc
+.type getwc, %function;
+getwc:
+.weak getwc_unlocked
+.type getwc_unlocked, %function;
+getwc_unlocked:
+.globl getwchar
+.type getwchar, %function;
+getwchar:
+.weak getwchar_unlocked
+.type getwchar_unlocked, %function;
+getwchar_unlocked:
+.globl getxattr
+.type getxattr, %function;
+getxattr:
+.globl glob
+.type glob, %function;
+glob:
+.weak glob64
+.type glob64, %function;
+glob64:
+.globl globfree
+.type globfree, %function;
+globfree:
+.weak globfree64
+.type globfree64, %function;
+globfree64:
+.globl gmtime
+.type gmtime, %function;
+gmtime:
+WEAK64 gmtime_r
+.type gmtime_r, %function;
+gmtime_r:
+.globl grantpt
+.type grantpt, %function;
+grantpt:
+.globl hasmntopt
+.type hasmntopt, %function;
+hasmntopt:
+.globl hcreate
+.type hcreate, %function;
+hcreate:
+.weak hcreate_r
+.type hcreate_r, %function;
+hcreate_r:
+.globl hdestroy
+.type hdestroy, %function;
+hdestroy:
+.weak hdestroy_r
+.type hdestroy_r, %function;
+hdestroy_r:
+.globl herror
+.type herror, %function;
+herror:
+.globl hsearch
+.type hsearch, %function;
+hsearch:
+.weak hsearch_r
+.type hsearch_r, %function;
+hsearch_r:
+.globl hstrerror
+.type hstrerror, %function;
+hstrerror:
+.globl htonl
+.type htonl, %function;
+htonl:
+.globl htons
+.type htons, %function;
+htons:
.globl hypot
.type hypot, %function;
hypot:
@@ -1672,6 +2539,27 @@ hypotf:
.globl hypotl
.type hypotl, %function;
hypotl:
+.globl iconv
+.type iconv, %function;
+iconv:
+.globl iconv_close
+.type iconv_close, %function;
+iconv_close:
+.globl iconv_open
+.type iconv_open, %function;
+iconv_open:
+.globl if_freenameindex
+.type if_freenameindex, %function;
+if_freenameindex:
+.globl if_indextoname
+.type if_indextoname, %function;
+if_indextoname:
+.globl if_nameindex
+.type if_nameindex, %function;
+if_nameindex:
+.globl if_nametoindex
+.type if_nametoindex, %function;
+if_nametoindex:
.globl ilogb
.type ilogb, %function;
ilogb:
@@ -1681,42 +2569,289 @@ ilogbf:
.globl ilogbl
.type ilogbl, %function;
ilogbl:
+.globl imaxabs
+.type imaxabs, %function;
+imaxabs:
+.globl imaxdiv
+.type imaxdiv, %function;
+imaxdiv:
+.globl index
+.type index, %function;
+index:
+.globl inet_addr
+.type inet_addr, %function;
+inet_addr:
+.weak inet_aton
+.type inet_aton, %function;
+inet_aton:
+.globl inet_lnaof
+.type inet_lnaof, %function;
+inet_lnaof:
+.globl inet_makeaddr
+.type inet_makeaddr, %function;
+inet_makeaddr:
+.globl inet_netof
+.type inet_netof, %function;
+inet_netof:
+.globl inet_network
+.type inet_network, %function;
+inet_network:
+.globl inet_ntoa
+.type inet_ntoa, %function;
+inet_ntoa:
+.globl inet_ntop
+.type inet_ntop, %function;
+inet_ntop:
+.globl inet_pton
+.type inet_pton, %function;
+inet_pton:
+.globl init_module
+.type init_module, %function;
+init_module:
+.globl initgroups
+.type initgroups, %function;
+initgroups:
+.globl initstate
+.type initstate, %function;
+initstate:
+.globl inotify_add_watch
+.type inotify_add_watch, %function;
+inotify_add_watch:
+.globl inotify_init
+.type inotify_init, %function;
+inotify_init:
+.globl inotify_init1
+.type inotify_init1, %function;
+inotify_init1:
+.globl inotify_rm_watch
+.type inotify_rm_watch, %function;
+inotify_rm_watch:
+.globl insque
+.type insque, %function;
+insque:
+.globl ioctl
+.type ioctl, %function;
+ioctl:
+#if !defined(ARCH_riscv64) && !defined(ARCH_aarch64)
+.globl ioperm
+.type ioperm, %function;
+ioperm:
+#endif
+#if !defined(ARCH_riscv64) && !defined(ARCH_aarch64)
+.globl iopl
+.type iopl, %function;
+iopl:
+#endif
+.globl isalnum
+.type isalnum, %function;
+isalnum:
+.weak isalnum_l
+.type isalnum_l, %function;
+isalnum_l:
+.globl isalpha
+.type isalpha, %function;
+isalpha:
+.weak isalpha_l
+.type isalpha_l, %function;
+isalpha_l:
+.globl isascii
+.type isascii, %function;
+isascii:
+.globl isastream
+.type isastream, %function;
+isastream:
+.globl isatty
+.type isatty, %function;
+isatty:
+.globl isblank
+.type isblank, %function;
+isblank:
+.weak isblank_l
+.type isblank_l, %function;
+isblank_l:
+.globl iscntrl
+.type iscntrl, %function;
+iscntrl:
+.weak iscntrl_l
+.type iscntrl_l, %function;
+iscntrl_l:
+.globl isdigit
+.type isdigit, %function;
+isdigit:
+.weak isdigit_l
+.type isdigit_l, %function;
+isdigit_l:
+.globl isgraph
+.type isgraph, %function;
+isgraph:
+.weak isgraph_l
+.type isgraph_l, %function;
+isgraph_l:
+.globl islower
+.type islower, %function;
+islower:
+.weak islower_l
+.type islower_l, %function;
+islower_l:
+.globl isprint
+.type isprint, %function;
+isprint:
+.weak isprint_l
+.type isprint_l, %function;
+isprint_l:
+.globl ispunct
+.type ispunct, %function;
+ispunct:
+.weak ispunct_l
+.type ispunct_l, %function;
+ispunct_l:
+.globl issetugid
+.type issetugid, %function;
+issetugid:
+.globl isspace
+.type isspace, %function;
+isspace:
+.weak isspace_l
+.type isspace_l, %function;
+isspace_l:
+.globl isupper
+.type isupper, %function;
+isupper:
+.weak isupper_l
+.type isupper_l, %function;
+isupper_l:
+.globl iswalnum
+.type iswalnum, %function;
+iswalnum:
+.weak iswalnum_l
+.type iswalnum_l, %function;
+iswalnum_l:
+.globl iswalpha
+.type iswalpha, %function;
+iswalpha:
+.weak iswalpha_l
+.type iswalpha_l, %function;
+iswalpha_l:
+.globl iswblank
+.type iswblank, %function;
+iswblank:
+.weak iswblank_l
+.type iswblank_l, %function;
+iswblank_l:
+.globl iswcntrl
+.type iswcntrl, %function;
+iswcntrl:
+.weak iswcntrl_l
+.type iswcntrl_l, %function;
+iswcntrl_l:
+.globl iswctype
+.type iswctype, %function;
+iswctype:
+.weak iswctype_l
+.type iswctype_l, %function;
+iswctype_l:
+.globl iswdigit
+.type iswdigit, %function;
+iswdigit:
+.weak iswdigit_l
+.type iswdigit_l, %function;
+iswdigit_l:
+.globl iswgraph
+.type iswgraph, %function;
+iswgraph:
+.weak iswgraph_l
+.type iswgraph_l, %function;
+iswgraph_l:
+.globl iswlower
+.type iswlower, %function;
+iswlower:
+.weak iswlower_l
+.type iswlower_l, %function;
+iswlower_l:
+.globl iswprint
+.type iswprint, %function;
+iswprint:
+.weak iswprint_l
+.type iswprint_l, %function;
+iswprint_l:
+.globl iswpunct
+.type iswpunct, %function;
+iswpunct:
+.weak iswpunct_l
+.type iswpunct_l, %function;
+iswpunct_l:
+.globl iswspace
+.type iswspace, %function;
+iswspace:
+.weak iswspace_l
+.type iswspace_l, %function;
+iswspace_l:
+.globl iswupper
+.type iswupper, %function;
+iswupper:
+.weak iswupper_l
+.type iswupper_l, %function;
+iswupper_l:
+.globl iswxdigit
+.type iswxdigit, %function;
+iswxdigit:
+.weak iswxdigit_l
+.type iswxdigit_l, %function;
+iswxdigit_l:
+.globl isxdigit
+.type isxdigit, %function;
+isxdigit:
+.weak isxdigit_l
+.type isxdigit_l, %function;
+isxdigit_l:
.globl j0
.type j0, %function;
j0:
-.globl y0
-.type y0, %function;
-y0:
.globl j0f
.type j0f, %function;
j0f:
-.globl y0f
-.type y0f, %function;
-y0f:
.globl j1
.type j1, %function;
j1:
-.globl y1
-.type y1, %function;
-y1:
.globl j1f
.type j1f, %function;
j1f:
-.globl y1f
-.type y1f, %function;
-y1f:
.globl jn
.type jn, %function;
jn:
-.globl yn
-.type yn, %function;
-yn:
.globl jnf
.type jnf, %function;
jnf:
-.globl ynf
-.type ynf, %function;
-ynf:
+.globl jrand48
+.type jrand48, %function;
+jrand48:
+.globl kill
+.type kill, %function;
+kill:
+.globl killpg
+.type killpg, %function;
+killpg:
+.globl klogctl
+.type klogctl, %function;
+klogctl:
+.globl l64a
+.type l64a, %function;
+l64a:
+.globl labs
+.type labs, %function;
+labs:
+.globl lchmod
+.type lchmod, %function;
+lchmod:
+.globl lchown
+.type lchown, %function;
+lchown:
+.globl lckpwdf
+.type lckpwdf, %function;
+lckpwdf:
+.globl lcong48
+.type lcong48, %function;
+lcong48:
.globl ldexp
.type ldexp, %function;
ldexp:
@@ -1726,6 +2861,12 @@ ldexpf:
.globl ldexpl
.type ldexpl, %function;
ldexpl:
+.globl ldiv
+.type ldiv, %function;
+ldiv:
+.globl lfind
+.type lfind, %function;
+lfind:
.globl lgamma
.type lgamma, %function;
lgamma:
@@ -1738,15 +2879,42 @@ lgammaf:
.weak lgammaf_r
.type lgammaf_r, %function;
lgammaf_r:
-.weak lgammal_r
-.type lgammal_r, %function;
-lgammal_r:
-.globl __lgammal_r
-.type __lgammal_r, %function;
-__lgammal_r:
.globl lgammal
.type lgammal, %function;
lgammal:
+.weak lgammal_r
+.type lgammal_r, %function;
+lgammal_r:
+.globl lgetxattr
+.type lgetxattr, %function;
+lgetxattr:
+.globl link
+.type link, %function;
+link:
+.globl linkat
+.type linkat, %function;
+linkat:
+.globl lio_listio
+.type lio_listio, %function;
+lio_listio:
+.weak lio_listio64
+.type lio_listio64, %function;
+lio_listio64:
+.globl listen
+.type listen, %function;
+listen:
+.globl listxattr
+.type listxattr, %function;
+listxattr:
+.globl llabs
+.type llabs, %function;
+llabs:
+.globl lldiv
+.type lldiv, %function;
+lldiv:
+.globl llistxattr
+.type llistxattr, %function;
+llistxattr:
.globl llrint
.type llrint, %function;
llrint:
@@ -1765,6 +2933,21 @@ llroundf:
.globl llroundl
.type llroundl, %function;
llroundl:
+.globl localeconv
+.type localeconv, %function;
+localeconv:
+.globl localtime
+.type localtime, %function;
+localtime:
+WEAK64 localtime_r
+.type localtime_r, %function;
+localtime_r:
+.globl lockf
+.type lockf, %function;
+lockf:
+.weak lockf64
+.type lockf64, %function;
+lockf64:
.globl log
.type log, %function;
log:
@@ -1807,9 +2990,21 @@ logbl:
.globl logf
.type logf, %function;
logf:
+.globl login_tty
+.type login_tty, %function;
+login_tty:
.globl logl
.type logl, %function;
logl:
+.globl longjmp
+.type longjmp, %function;
+longjmp:
+.globl lrand48
+.type lrand48, %function;
+lrand48:
+.globl lremovexattr
+.type lremovexattr, %function;
+lremovexattr:
.globl lrint
.type lrint, %function;
lrint:
@@ -1828,423 +3023,162 @@ lroundf:
.globl lroundl
.type lroundl, %function;
lroundl:
-.globl modf
-.type modf, %function;
-modf:
-.globl modff
-.type modff, %function;
-modff:
-.globl modfl
-.type modfl, %function;
-modfl:
-.globl nan
-.type nan, %function;
-nan:
-.globl nanf
-.type nanf, %function;
-nanf:
-.globl nanl
-.type nanl, %function;
-nanl:
-.globl nearbyint
-.type nearbyint, %function;
-nearbyint:
-.globl nearbyintf
-.type nearbyintf, %function;
-nearbyintf:
-.globl nearbyintl
-.type nearbyintl, %function;
-nearbyintl:
-.globl nextafter
-.type nextafter, %function;
-nextafter:
-.globl nextafterf
-.type nextafterf, %function;
-nextafterf:
-.globl nextafterl
-.type nextafterl, %function;
-nextafterl:
-.globl nexttoward
-.type nexttoward, %function;
-nexttoward:
-.globl nexttowardf
-.type nexttowardf, %function;
-nexttowardf:
-.globl nexttowardl
-.type nexttowardl, %function;
-nexttowardl:
-.globl pow
-.type pow, %function;
-pow:
-.globl powf
-.type powf, %function;
-powf:
-.globl powl
-.type powl, %function;
-powl:
-.globl remainder
-.type remainder, %function;
-remainder:
-.weak drem
-.type drem, %function;
-drem:
-.weak dremf
-.type dremf, %function;
-dremf:
-.globl remainderf
-.type remainderf, %function;
-remainderf:
-.globl remainderl
-.type remainderl, %function;
-remainderl:
-.globl remquo
-.type remquo, %function;
-remquo:
-.globl remquof
-.type remquof, %function;
-remquof:
-.globl remquol
-.type remquol, %function;
-remquol:
-.globl rint
-.type rint, %function;
-rint:
-.globl rintf
-.type rintf, %function;
-rintf:
-.globl rintl
-.type rintl, %function;
-rintl:
-.globl copysign
-.type copysign, %function;
-copysign:
-.globl copysignf
-.type copysignf, %function;
-copysignf:
-.globl fabs
-.type fabs, %function;
-fabs:
-.globl fabsf
-.type fabsf, %function;
-fabsf:
-.globl fma
-.type fma, %function;
-fma:
-.globl fmaf
-.type fmaf, %function;
-fmaf:
-.globl fmax
-.type fmax, %function;
-fmax:
-.globl fmaxf
-.type fmaxf, %function;
-fmaxf:
-.globl fmin
-.type fmin, %function;
-fmin:
-.globl fminf
-.type fminf, %function;
-fminf:
-.globl sqrt
-.type sqrt, %function;
-sqrt:
-.globl sqrtf
-.type sqrtf, %function;
-sqrtf:
-.globl round
-.type round, %function;
-round:
-.globl roundf
-.type roundf, %function;
-roundf:
-.globl roundl
-.type roundl, %function;
-roundl:
-.globl scalb
-.type scalb, %function;
-scalb:
-.globl scalbf
-.type scalbf, %function;
-scalbf:
-.globl scalbln
-.type scalbln, %function;
-scalbln:
-.globl scalblnf
-.type scalblnf, %function;
-scalblnf:
-.globl scalblnl
-.type scalblnl, %function;
-scalblnl:
-.globl scalbn
-.type scalbn, %function;
-scalbn:
-.globl scalbnf
-.type scalbnf, %function;
-scalbnf:
-.globl scalbnl
-.type scalbnl, %function;
-scalbnl:
-.globl significand
-.type significand, %function;
-significand:
-.globl significandf
-.type significandf, %function;
-significandf:
-.globl sin
-.type sin, %function;
-sin:
-.globl sincos
-.type sincos, %function;
-sincos:
-.globl sincosf
-.type sincosf, %function;
-sincosf:
-.globl sincosl
-.type sincosl, %function;
-sincosl:
-.globl sinf
-.type sinf, %function;
-sinf:
-.globl sinh
-.type sinh, %function;
-sinh:
-.globl sinhf
-.type sinhf, %function;
-sinhf:
-.globl sinhl
-.type sinhl, %function;
-sinhl:
-.globl sinl
-.type sinl, %function;
-sinl:
-.globl sqrtl
-.type sqrtl, %function;
-sqrtl:
-.globl tan
-.type tan, %function;
-tan:
-.globl tanf
-.type tanf, %function;
-tanf:
-.globl tanh
-.type tanh, %function;
-tanh:
-.globl tanhf
-.type tanhf, %function;
-tanhf:
-.globl tanhl
-.type tanhl, %function;
-tanhl:
-.globl tanl
-.type tanl, %function;
-tanl:
-.globl tgamma
-.type tgamma, %function;
-tgamma:
-.globl tgammaf
-.type tgammaf, %function;
-tgammaf:
-.globl tgammal
-.type tgammal, %function;
-tgammal:
-.globl trunc
-.type trunc, %function;
-trunc:
-.globl truncf
-.type truncf, %function;
-truncf:
-.globl truncl
-.type truncl, %function;
-truncl:
-.globl a64l
-.type a64l, %function;
-a64l:
-.globl l64a
-.type l64a, %function;
-l64a:
-.weak __xpg_basename
-.type __xpg_basename, %function;
-__xpg_basename:
-.globl basename
-.type basename, %function;
-basename:
-.globl dirname
-.type dirname, %function;
-dirname:
-.globl ffs
-.type ffs, %function;
-ffs:
-.globl ffsl
-.type ffsl, %function;
-ffsl:
-.globl ffsll
-.type ffsll, %function;
-ffsll:
-.globl fmtmsg
-.type fmtmsg, %function;
-fmtmsg:
-.globl forkpty
-.type forkpty, %function;
-forkpty:
-.globl get_current_dir_name
-.type get_current_dir_name, %function;
-get_current_dir_name:
-.weak getauxval
-.type getauxval, %function;
-getauxval:
-.globl getdomainname
-.type getdomainname, %function;
-getdomainname:
-.globl getentropy
-.type getentropy, %function;
-getentropy:
-.globl gethostid
-.type gethostid, %function;
-gethostid:
-.weak __posix_getopt
-.type __posix_getopt, %function;
-__posix_getopt:
-.globl getopt
-.type getopt, %function;
-getopt:
-.globl getopt_long
-.type getopt_long, %function;
-getopt_long:
-.globl getopt_long_only
-.type getopt_long_only, %function;
-getopt_long_only:
-.globl getpriority
-.type getpriority, %function;
-getpriority:
-.globl getresgid
-.type getresgid, %function;
-getresgid:
-.globl getresuid
-.type getresuid, %function;
-getresuid:
-.weak getrlimit64
-.type getrlimit64, %function;
-getrlimit64:
-.globl getrlimit
-.type getrlimit, %function;
-getrlimit:
-.globl getrusage
-.type getrusage, %function;
-getrusage:
-.globl getsubopt
-.type getsubopt, %function;
-getsubopt:
-.globl initgroups
-.type initgroups, %function;
-initgroups:
-.globl ioctl
-.type ioctl, %function;
-ioctl:
-.globl issetugid
-.type issetugid, %function;
-issetugid:
-.weak lockf64
-.type lockf64, %function;
-lockf64:
-.globl lockf
-.type lockf, %function;
-lockf:
-.globl login_tty
-.type login_tty, %function;
-login_tty:
-.globl setmntent
-.type setmntent, %function;
-setmntent:
-.globl endmntent
-.type endmntent, %function;
-endmntent:
-.globl getmntent_r
-.type getmntent_r, %function;
-getmntent_r:
-.globl getmntent
-.type getmntent, %function;
-getmntent:
-.globl addmntent
-.type addmntent, %function;
-addmntent:
-.globl hasmntopt
-.type hasmntopt, %function;
-hasmntopt:
-.weak nftw64
-.type nftw64, %function;
-nftw64:
-.globl nftw
-.type nftw, %function;
-nftw:
-.globl openpty
-.type openpty, %function;
-openpty:
-.globl ptsname
-.type ptsname, %function;
-ptsname:
-.globl posix_openpt
-.type posix_openpt, %function;
-posix_openpt:
-.globl grantpt
-.type grantpt, %function;
-grantpt:
-.globl unlockpt
-.type unlockpt, %function;
-unlockpt:
-.weak ptsname_r
-.type ptsname_r, %function;
-ptsname_r:
-.globl realpath
-.type realpath, %function;
-realpath:
-.globl setdomainname
-.type setdomainname, %function;
-setdomainname:
-.globl setpriority
-.type setpriority, %function;
-setpriority:
-.globl setrlimit
-.type setrlimit, %function;
-setrlimit:
-.weak setrlimit64
-.type setrlimit64, %function;
-setrlimit64:
-.globl syscall
-.type syscall, %function;
-syscall:
-.globl setlogmask
-.type setlogmask, %function;
-setlogmask:
-.globl closelog
-.type closelog, %function;
-closelog:
-.globl openlog
-.type openlog, %function;
-openlog:
-.globl syslog
-.type syslog, %function;
-syslog:
-.weak vsyslog
-.type vsyslog, %function;
-vsyslog:
-.globl uname
-.type uname, %function;
-uname:
-.globl wordexp
-.type wordexp, %function;
-wordexp:
-.globl wordfree
-.type wordfree, %function;
-wordfree:
+.globl lsearch
+.type lsearch, %function;
+lsearch:
+.weak lseek
+.type lseek, %function;
+lseek:
+.weak lseek64
+.type lseek64, %function;
+lseek64:
+.globl lsetxattr
+.type lsetxattr, %function;
+lsetxattr:
+.globl lstat
+.type lstat, %function;
+lstat:
+.weak lstat64
+.type lstat64, %function;
+lstat64:
+.globl lutimes
+.type lutimes, %function;
+lutimes:
.weak madvise
.type madvise, %function;
madvise:
+.weak malloc
+.type malloc, %function;
+malloc:
+.globl malloc_usable_size
+.type malloc_usable_size, %function;
+malloc_usable_size:
+.globl mblen
+.type mblen, %function;
+mblen:
+.globl mbrlen
+.type mbrlen, %function;
+mbrlen:
+.globl mbrtoc16
+.type mbrtoc16, %function;
+mbrtoc16:
+.globl mbrtoc32
+.type mbrtoc32, %function;
+mbrtoc32:
+.globl mbrtowc
+.type mbrtowc, %function;
+mbrtowc:
+.globl mbsinit
+.type mbsinit, %function;
+mbsinit:
+.globl mbsnrtowcs
+.type mbsnrtowcs, %function;
+mbsnrtowcs:
+.globl mbsrtowcs
+.type mbsrtowcs, %function;
+mbsrtowcs:
+.globl mbstowcs
+.type mbstowcs, %function;
+mbstowcs:
+.globl mbtowc
+.type mbtowc, %function;
+mbtowc:
+.globl memalign
+.type memalign, %function;
+memalign:
+.weak membarrier
+.type membarrier, %function;
+membarrier:
+.globl memccpy
+.type memccpy, %function;
+memccpy:
+.globl memchr
+.type memchr, %function;
+memchr:
+.globl memcmp
+.type memcmp, %function;
+memcmp:
+.globl memcpy
+.type memcpy, %function;
+memcpy:
+.globl memfd_create
+.type memfd_create, %function;
+memfd_create:
+.globl memmem
+.type memmem, %function;
+memmem:
+.globl memmove
+.type memmove, %function;
+memmove:
+.globl mempcpy
+.type mempcpy, %function;
+mempcpy:
+.weak memrchr
+.type memrchr, %function;
+memrchr:
+.globl memset
+.type memset, %function;
+memset:
.globl mincore
.type mincore, %function;
mincore:
+.globl mkdir
+.type mkdir, %function;
+mkdir:
+.globl mkdirat
+.type mkdirat, %function;
+mkdirat:
+.globl mkdtemp
+.type mkdtemp, %function;
+mkdtemp:
+.globl mkfifo
+.type mkfifo, %function;
+mkfifo:
+.globl mkfifoat
+.type mkfifoat, %function;
+mkfifoat:
+.globl mknod
+.type mknod, %function;
+mknod:
+.globl mknodat
+.type mknodat, %function;
+mknodat:
+.globl mkostemp
+.type mkostemp, %function;
+mkostemp:
+.weak mkostemp64
+.type mkostemp64, %function;
+mkostemp64:
+.weak mkostemps
+.type mkostemps, %function;
+mkostemps:
+.weak mkostemps64
+.type mkostemps64, %function;
+mkostemps64:
+.globl mkstemp
+.type mkstemp, %function;
+mkstemp:
+.weak mkstemp64
+.type mkstemp64, %function;
+mkstemp64:
+.globl mkstemps
+.type mkstemps, %function;
+mkstemps:
+.weak mkstemps64
+.type mkstemps64, %function;
+mkstemps64:
+.globl mktemp
+.type mktemp, %function;
+mktemp:
+.globl mktime
+.type mktime, %function;
+mktime:
.globl mlock
.type mlock, %function;
mlock:
+.globl mlock2
+.type mlock2, %function;
+mlock2:
.globl mlockall
.type mlockall, %function;
mlockall:
@@ -2254,33 +3188,21 @@ mmap:
.weak mmap64
.type mmap64, %function;
mmap64:
+.globl modf
+.type modf, %function;
+modf:
+.globl modff
+.type modff, %function;
+modff:
+.globl modfl
+.type modfl, %function;
+modfl:
+.globl mount
+.type mount, %function;
+mount:
.weak mprotect
.type mprotect, %function;
mprotect:
-.weak mremap
-.type mremap, %function;
-mremap:
-.globl msync
-.type msync, %function;
-msync:
-.globl munlock
-.type munlock, %function;
-munlock:
-.globl munlockall
-.type munlockall, %function;
-munlockall:
-.weak munmap
-.type munmap, %function;
-munmap:
-.globl posix_madvise
-.type posix_madvise, %function;
-posix_madvise:
-.globl shm_open
-.type shm_open, %function;
-shm_open:
-.globl shm_unlink
-.type shm_unlink, %function;
-shm_unlink:
.globl mq_close
.type mq_close, %function;
mq_close:
@@ -2311,519 +3233,234 @@ mq_timedsend:
.globl mq_unlink
.type mq_unlink, %function;
mq_unlink:
-.globl btowc
-.type btowc, %function;
-btowc:
-.globl c16rtomb
-.type c16rtomb, %function;
-c16rtomb:
-.globl c32rtomb
-.type c32rtomb, %function;
-c32rtomb:
-.globl mblen
-.type mblen, %function;
-mblen:
-.globl mbrlen
-.type mbrlen, %function;
-mbrlen:
-.globl mbrtoc16
-.type mbrtoc16, %function;
-mbrtoc16:
-.globl mbrtoc32
-.type mbrtoc32, %function;
-mbrtoc32:
-.globl mbrtowc
-.type mbrtowc, %function;
-mbrtowc:
-.globl mbsinit
-.type mbsinit, %function;
-mbsinit:
-.globl mbsnrtowcs
-.type mbsnrtowcs, %function;
-mbsnrtowcs:
-.globl mbsrtowcs
-.type mbsrtowcs, %function;
-mbsrtowcs:
-.globl mbstowcs
-.type mbstowcs, %function;
-mbstowcs:
-.globl mbtowc
-.type mbtowc, %function;
-mbtowc:
-.globl wcrtomb
-.type wcrtomb, %function;
-wcrtomb:
-.globl wcsnrtombs
-.type wcsnrtombs, %function;
-wcsnrtombs:
-.globl wcsrtombs
-.type wcsrtombs, %function;
-wcsrtombs:
-.globl wcstombs
-.type wcstombs, %function;
-wcstombs:
-.globl wctob
-.type wctob, %function;
-wctob:
-.globl wctomb
-.type wctomb, %function;
-wctomb:
-.globl accept
-.type accept, %function;
-accept:
-.globl accept4
-.type accept4, %function;
-accept4:
-.globl bind
-.type bind, %function;
-bind:
-.globl connect
-.type connect, %function;
-connect:
-.globl dn_comp
-.type dn_comp, %function;
-dn_comp:
-.weak dn_expand
-.type dn_expand, %function;
-dn_expand:
-.globl dn_skipname
-.type dn_skipname, %function;
-dn_skipname:
-.weak setnetent
-.type setnetent, %function;
-setnetent:
-.globl sethostent
-.type sethostent, %function;
-sethostent:
-.globl gethostent
-.type gethostent, %function;
-gethostent:
-.globl getnetent
-.type getnetent, %function;
-getnetent:
-.globl endhostent
-.type endhostent, %function;
-endhostent:
-.weak endnetent
-.type endnetent, %function;
-endnetent:
-.globl ether_aton_r
-.type ether_aton_r, %function;
-ether_aton_r:
-.globl ether_aton
-.type ether_aton, %function;
-ether_aton:
-.globl ether_ntoa_r
-.type ether_ntoa_r, %function;
-ether_ntoa_r:
-.globl ether_ntoa
-.type ether_ntoa, %function;
-ether_ntoa:
-.globl ether_line
-.type ether_line, %function;
-ether_line:
-.globl ether_ntohost
-.type ether_ntohost, %function;
-ether_ntohost:
-.globl ether_hostton
-.type ether_hostton, %function;
-ether_hostton:
-.globl freeaddrinfo
-.type freeaddrinfo, %function;
-freeaddrinfo:
-.globl gai_strerror
-.type gai_strerror, %function;
-gai_strerror:
-.globl getaddrinfo
-.type getaddrinfo, %function;
-getaddrinfo:
-.globl gethostbyaddr
-.type gethostbyaddr, %function;
-gethostbyaddr:
-.globl gethostbyaddr_r
-.type gethostbyaddr_r, %function;
-gethostbyaddr_r:
-.globl gethostbyname
-.type gethostbyname, %function;
-gethostbyname:
-.globl gethostbyname2
-.type gethostbyname2, %function;
-gethostbyname2:
-.globl gethostbyname2_r
-.type gethostbyname2_r, %function;
-gethostbyname2_r:
-.globl gethostbyname_r
-.type gethostbyname_r, %function;
-gethostbyname_r:
-.globl freeifaddrs
-.type freeifaddrs, %function;
-freeifaddrs:
-.globl getifaddrs
-.type getifaddrs, %function;
-getifaddrs:
-.globl getnameinfo
-.type getnameinfo, %function;
-getnameinfo:
-.globl getpeername
-.type getpeername, %function;
-getpeername:
-.globl getservbyname
-.type getservbyname, %function;
-getservbyname:
-.globl getservbyname_r
-.type getservbyname_r, %function;
-getservbyname_r:
-.globl getservbyport
-.type getservbyport, %function;
-getservbyport:
-.globl getservbyport_r
-.type getservbyport_r, %function;
-getservbyport_r:
-.globl getsockname
-.type getsockname, %function;
-getsockname:
-.globl getsockopt
-.type getsockopt, %function;
-getsockopt:
-.globl __h_errno_location
-.type __h_errno_location, %function;
-__h_errno_location:
-.globl herror
-.type herror, %function;
-herror:
-.globl hstrerror
-.type hstrerror, %function;
-hstrerror:
-.globl htonl
-.type htonl, %function;
-htonl:
-.globl htons
-.type htons, %function;
-htons:
-.globl if_freenameindex
-.type if_freenameindex, %function;
-if_freenameindex:
-.globl if_indextoname
-.type if_indextoname, %function;
-if_indextoname:
-.globl if_nameindex
-.type if_nameindex, %function;
-if_nameindex:
-.globl if_nametoindex
-.type if_nametoindex, %function;
-if_nametoindex:
-.globl inet_addr
-.type inet_addr, %function;
-inet_addr:
-.weak inet_aton
-.type inet_aton, %function;
-inet_aton:
-.globl inet_network
-.type inet_network, %function;
-inet_network:
-.globl inet_makeaddr
-.type inet_makeaddr, %function;
-inet_makeaddr:
-.globl inet_lnaof
-.type inet_lnaof, %function;
-inet_lnaof:
-.globl inet_netof
-.type inet_netof, %function;
-inet_netof:
-.globl inet_ntoa
-.type inet_ntoa, %function;
-inet_ntoa:
-.globl inet_ntop
-.type inet_ntop, %function;
-inet_ntop:
-.globl inet_pton
-.type inet_pton, %function;
-inet_pton:
-.globl listen
-.type listen, %function;
-listen:
-.globl getnetbyaddr
-.type getnetbyaddr, %function;
-getnetbyaddr:
-.globl getnetbyname
-.type getnetbyname, %function;
-getnetbyname:
+.globl mrand48
+.type mrand48, %function;
+mrand48:
+.weak mremap
+.type mremap, %function;
+mremap:
+.globl msgctl
+.type msgctl, %function;
+msgctl:
+.globl msgget
+.type msgget, %function;
+msgget:
+.globl msgrcv
+.type msgrcv, %function;
+msgrcv:
+.globl msgsnd
+.type msgsnd, %function;
+msgsnd:
+.globl msync
+.type msync, %function;
+msync:
+.globl mtx_destroy
+.type mtx_destroy, %function;
+mtx_destroy:
+.globl mtx_init
+.type mtx_init, %function;
+mtx_init:
+.globl mtx_lock
+.type mtx_lock, %function;
+mtx_lock:
+.globl mtx_timedlock
+.type mtx_timedlock, %function;
+mtx_timedlock:
+.globl mtx_trylock
+.type mtx_trylock, %function;
+mtx_trylock:
+.globl mtx_unlock
+.type mtx_unlock, %function;
+mtx_unlock:
+.globl munlock
+.type munlock, %function;
+munlock:
+.globl munlockall
+.type munlockall, %function;
+munlockall:
+.weak munmap
+.type munmap, %function;
+munmap:
+.globl name_to_handle_at
+.type name_to_handle_at, %function;
+name_to_handle_at:
+.globl nan
+.type nan, %function;
+nan:
+.globl nanf
+.type nanf, %function;
+nanf:
+.globl nanl
+.type nanl, %function;
+nanl:
+.globl nanosleep
+.type nanosleep, %function;
+nanosleep:
+.globl nearbyint
+.type nearbyint, %function;
+nearbyint:
+.globl nearbyintf
+.type nearbyintf, %function;
+nearbyintf:
+.globl nearbyintl
+.type nearbyintl, %function;
+nearbyintl:
+.weak newlocale
+.type newlocale, %function;
+newlocale:
+.globl nextafter
+.type nextafter, %function;
+nextafter:
+.globl nextafterf
+.type nextafterf, %function;
+nextafterf:
+.globl nextafterl
+.type nextafterl, %function;
+nextafterl:
+.globl nexttoward
+.type nexttoward, %function;
+nexttoward:
+.globl nexttowardf
+.type nexttowardf, %function;
+nexttowardf:
+.globl nexttowardl
+.type nexttowardl, %function;
+nexttowardl:
+.globl nftw
+.type nftw, %function;
+nftw:
+.weak nftw64
+.type nftw64, %function;
+nftw64:
+.globl ngettext
+.type ngettext, %function;
+ngettext:
+.globl nice
+.type nice, %function;
+nice:
+.weak nl_langinfo
+.type nl_langinfo, %function;
+nl_langinfo:
+.weak nl_langinfo_l
+.type nl_langinfo_l, %function;
+nl_langinfo_l:
+.globl nrand48
+.type nrand48, %function;
+nrand48:
.globl ns_get16
.type ns_get16, %function;
ns_get16:
.globl ns_get32
.type ns_get32, %function;
ns_get32:
+.globl ns_initparse
+.type ns_initparse, %function;
+ns_initparse:
+.globl ns_name_uncompress
+.type ns_name_uncompress, %function;
+ns_name_uncompress:
+.globl ns_parserr
+.type ns_parserr, %function;
+ns_parserr:
.globl ns_put16
.type ns_put16, %function;
ns_put16:
.globl ns_put32
.type ns_put32, %function;
ns_put32:
-.globl ns_initparse
-.type ns_initparse, %function;
-ns_initparse:
.globl ns_skiprr
.type ns_skiprr, %function;
ns_skiprr:
-.globl ns_parserr
-.type ns_parserr, %function;
-ns_parserr:
-.globl ns_name_uncompress
-.type ns_name_uncompress, %function;
-ns_name_uncompress:
.globl ntohl
.type ntohl, %function;
ntohl:
.globl ntohs
.type ntohs, %function;
ntohs:
-.globl endprotoent
-.type endprotoent, %function;
-endprotoent:
-.globl setprotoent
-.type setprotoent, %function;
-setprotoent:
-.globl getprotoent
-.type getprotoent, %function;
-getprotoent:
-.globl getprotobyname
-.type getprotobyname, %function;
-getprotobyname:
-.globl getprotobynumber
-.type getprotobynumber, %function;
-getprotobynumber:
-.globl recv
-.type recv, %function;
-recv:
-.globl recvfrom
-.type recvfrom, %function;
-recvfrom:
-.globl recvmmsg
-.type recvmmsg, %function;
-recvmmsg:
-.globl recvmsg
-.type recvmsg, %function;
-recvmsg:
-.globl res_init
-.type res_init, %function;
-res_init:
-.weak res_mkquery
-.type res_mkquery, %function;
-res_mkquery:
-.globl res_query
-.type res_query, %function;
-res_query:
-.weak res_search
-.type res_search, %function;
-res_search:
-.globl res_querydomain
-.type res_querydomain, %function;
-res_querydomain:
-.weak res_send
-.type res_send, %function;
-res_send:
-.globl __res_state
-.type __res_state, %function;
-__res_state:
-.globl send
-.type send, %function;
-send:
-.globl sendmmsg
-.type sendmmsg, %function;
-sendmmsg:
-.globl sendmsg
-.type sendmsg, %function;
-sendmsg:
-.globl sendto
-.type sendto, %function;
-sendto:
-.globl endservent
-.type endservent, %function;
-endservent:
-.globl setservent
-.type setservent, %function;
-setservent:
-.globl getservent
-.type getservent, %function;
-getservent:
-.globl setsockopt
-.type setsockopt, %function;
-setsockopt:
-.globl shutdown
-.type shutdown, %function;
-shutdown:
-.globl sockatmark
-.type sockatmark, %function;
-sockatmark:
-.globl socket
-.type socket, %function;
-socket:
-.globl socketpair
-.type socketpair, %function;
-socketpair:
-.globl fgetgrent
-.type fgetgrent, %function;
-fgetgrent:
-.globl fgetpwent
-.type fgetpwent, %function;
-fgetpwent:
-.globl fgetspent
-.type fgetspent, %function;
-fgetspent:
-.globl getgrnam_r
-.type getgrnam_r, %function;
-getgrnam_r:
-.globl getgrgid_r
-.type getgrgid_r, %function;
-getgrgid_r:
-.weak endgrent
-.type endgrent, %function;
-endgrent:
-.globl setgrent
-.type setgrent, %function;
-setgrent:
-.globl getgrent
-.type getgrent, %function;
-getgrent:
-.globl getgrgid
-.type getgrgid, %function;
-getgrgid:
-.globl getgrnam
-.type getgrnam, %function;
-getgrnam:
-.globl getgrouplist
-.type getgrouplist, %function;
-getgrouplist:
-.globl getpwnam_r
-.type getpwnam_r, %function;
-getpwnam_r:
-.globl getpwuid_r
-.type getpwuid_r, %function;
-getpwuid_r:
-.weak endpwent
-.type endpwent, %function;
-endpwent:
-.globl setpwent
-.type setpwent, %function;
-setpwent:
-.globl getpwent
-.type getpwent, %function;
-getpwent:
-.globl getpwuid
-.type getpwuid, %function;
-getpwuid:
-.globl getpwnam
-.type getpwnam, %function;
-getpwnam:
-.globl setspent
-.type setspent, %function;
-setspent:
-.globl endspent
-.type endspent, %function;
-endspent:
-.globl getspent
-.type getspent, %function;
-getspent:
-.globl getspnam
-.type getspnam, %function;
-getspnam:
-.globl getspnam_r
-.type getspnam_r, %function;
-getspnam_r:
-.globl lckpwdf
-.type lckpwdf, %function;
-lckpwdf:
-.globl ulckpwdf
-.type ulckpwdf, %function;
-ulckpwdf:
-.globl putgrent
-.type putgrent, %function;
-putgrent:
-.globl putpwent
-.type putpwent, %function;
-putpwent:
-.globl putspent
-.type putspent, %function;
-putspent:
-.globl erand48
-.type erand48, %function;
-erand48:
-.globl drand48
-.type drand48, %function;
-drand48:
-.globl lcong48
-.type lcong48, %function;
-lcong48:
-.globl nrand48
-.type nrand48, %function;
-nrand48:
-.globl lrand48
-.type lrand48, %function;
-lrand48:
-.globl jrand48
-.type jrand48, %function;
-jrand48:
-.globl mrand48
-.type mrand48, %function;
-mrand48:
-.globl srand
-.type srand, %function;
-srand:
-.globl rand
-.type rand, %function;
-rand:
-.globl rand_r
-.type rand_r, %function;
-rand_r:
-.globl srandom
-.type srandom, %function;
-srandom:
-.globl initstate
-.type initstate, %function;
-initstate:
-.globl setstate
-.type setstate, %function;
-setstate:
-.globl random
-.type random, %function;
-random:
-.globl seed48
-.type seed48, %function;
-seed48:
-.globl srand48
-.type srand48, %function;
-srand48:
-.globl _Fork
-.type _Fork, %function;
-_Fork:
-.globl execl
-.type execl, %function;
-execl:
-.globl execle
-.type execle, %function;
-execle:
-.globl execlp
-.type execlp, %function;
-execlp:
-.globl execv
-.type execv, %function;
-execv:
-.globl execve
-.type execve, %function;
-execve:
-.weak execvpe
-.type execvpe, %function;
-execvpe:
-.globl execvp
-.type execvp, %function;
-execvp:
-.globl fexecve
-.type fexecve, %function;
-fexecve:
-.globl fork
-.type fork, %function;
-fork:
+.globl open
+.type open, %function;
+open:
+.weak open64
+.type open64, %function;
+open64:
+.globl open_by_handle_at
+.type open_by_handle_at, %function;
+open_by_handle_at:
+.globl open_memstream
+.type open_memstream, %function;
+open_memstream:
+.globl open_wmemstream
+.type open_wmemstream, %function;
+open_wmemstream:
+.globl openat
+.type openat, %function;
+openat:
+.weak openat64
+.type openat64, %function;
+openat64:
+.globl opendir
+.type opendir, %function;
+opendir:
+.globl openlog
+.type openlog, %function;
+openlog:
+.globl openpty
+.type openpty, %function;
+openpty:
+.globl pathconf
+.type pathconf, %function;
+pathconf:
+.globl pause
+.type pause, %function;
+pause:
+.globl pclose
+.type pclose, %function;
+pclose:
+.globl perror
+.type perror, %function;
+perror:
+.globl personality
+.type personality, %function;
+personality:
+.globl pipe
+.type pipe, %function;
+pipe:
+.globl pipe2
+.type pipe2, %function;
+pipe2:
+.globl pivot_root
+.type pivot_root, %function;
+pivot_root:
+.globl poll
+.type poll, %function;
+poll:
+.globl popen
+.type popen, %function;
+popen:
+.globl posix_close
+.type posix_close, %function;
+posix_close:
+.globl posix_fadvise
+.type posix_fadvise, %function;
+posix_fadvise:
+.weak posix_fadvise64
+.type posix_fadvise64, %function;
+posix_fadvise64:
+.globl posix_fallocate
+.type posix_fallocate, %function;
+posix_fallocate:
+.weak posix_fallocate64
+.type posix_fallocate64, %function;
+posix_fallocate64:
+.globl posix_madvise
+.type posix_madvise, %function;
+posix_madvise:
+.globl posix_memalign
+.type posix_memalign, %function;
+posix_memalign:
+.globl posix_openpt
+.type posix_openpt, %function;
+posix_openpt:
.globl posix_spawn
.type posix_spawn, %function;
posix_spawn:
@@ -2857,6 +3494,12 @@ posix_spawnattr_getflags:
.globl posix_spawnattr_getpgroup
.type posix_spawnattr_getpgroup, %function;
posix_spawnattr_getpgroup:
+.globl posix_spawnattr_getschedparam
+.type posix_spawnattr_getschedparam, %function;
+posix_spawnattr_getschedparam:
+.globl posix_spawnattr_getschedpolicy
+.type posix_spawnattr_getschedpolicy, %function;
+posix_spawnattr_getschedpolicy:
.globl posix_spawnattr_getsigdefault
.type posix_spawnattr_getsigdefault, %function;
posix_spawnattr_getsigdefault:
@@ -2866,24 +3509,18 @@ posix_spawnattr_getsigmask:
.globl posix_spawnattr_init
.type posix_spawnattr_init, %function;
posix_spawnattr_init:
-.globl posix_spawnattr_getschedparam
-.type posix_spawnattr_getschedparam, %function;
-posix_spawnattr_getschedparam:
-.globl posix_spawnattr_setschedparam
-.type posix_spawnattr_setschedparam, %function;
-posix_spawnattr_setschedparam:
-.globl posix_spawnattr_getschedpolicy
-.type posix_spawnattr_getschedpolicy, %function;
-posix_spawnattr_getschedpolicy:
-.globl posix_spawnattr_setschedpolicy
-.type posix_spawnattr_setschedpolicy, %function;
-posix_spawnattr_setschedpolicy:
.globl posix_spawnattr_setflags
.type posix_spawnattr_setflags, %function;
posix_spawnattr_setflags:
.globl posix_spawnattr_setpgroup
.type posix_spawnattr_setpgroup, %function;
posix_spawnattr_setpgroup:
+.globl posix_spawnattr_setschedparam
+.type posix_spawnattr_setschedparam, %function;
+posix_spawnattr_setschedparam:
+.globl posix_spawnattr_setschedpolicy
+.type posix_spawnattr_setschedpolicy, %function;
+posix_spawnattr_setschedpolicy:
.globl posix_spawnattr_setsigdefault
.type posix_spawnattr_setsigdefault, %function;
posix_spawnattr_setsigdefault:
@@ -2893,1386 +3530,66 @@ posix_spawnattr_setsigmask:
.globl posix_spawnp
.type posix_spawnp, %function;
posix_spawnp:
-.globl system
-.type system, %function;
-system:
-.globl vfork
-.type vfork, %function;
-vfork:
-.globl wait
-.type wait, %function;
-wait:
-.globl waitid
-.type waitid, %function;
-waitid:
-.globl waitpid
-.type waitpid, %function;
-waitpid:
-.globl fnmatch
-.type fnmatch, %function;
-fnmatch:
-.globl glob
-.type glob, %function;
-glob:
-.weak glob64
-.type glob64, %function;
-glob64:
-.globl globfree
-.type globfree, %function;
-globfree:
-.weak globfree64
-.type globfree64, %function;
-globfree64:
-.globl regcomp
-.type regcomp, %function;
-regcomp:
-.globl regfree
-.type regfree, %function;
-regfree:
-.globl regerror
-.type regerror, %function;
-regerror:
-.globl regexec
-.type regexec, %function;
-regexec:
-.globl sched_setaffinity
-.type sched_setaffinity, %function;
-sched_setaffinity:
-.globl pthread_setaffinity_np
-.type pthread_setaffinity_np, %function;
-pthread_setaffinity_np:
-.globl sched_getaffinity
-.type sched_getaffinity, %function;
-sched_getaffinity:
-.globl pthread_getaffinity_np
-.type pthread_getaffinity_np, %function;
-pthread_getaffinity_np:
-.globl __sched_cpucount
-.type __sched_cpucount, %function;
-__sched_cpucount:
-.globl sched_get_priority_max
-.type sched_get_priority_max, %function;
-sched_get_priority_max:
-.globl sched_get_priority_min
-.type sched_get_priority_min, %function;
-sched_get_priority_min:
-.globl sched_getcpu
-.type sched_getcpu, %function;
-sched_getcpu:
-.globl sched_getparam
-.type sched_getparam, %function;
-sched_getparam:
-.globl sched_getscheduler
-.type sched_getscheduler, %function;
-sched_getscheduler:
-.globl sched_rr_get_interval
-.type sched_rr_get_interval, %function;
-sched_rr_get_interval:
-.globl sched_setparam
-.type sched_setparam, %function;
-sched_setparam:
-.globl sched_setscheduler
-.type sched_setscheduler, %function;
-sched_setscheduler:
-.globl sched_yield
-.type sched_yield, %function;
-sched_yield:
-.globl hcreate
-.type hcreate, %function;
-hcreate:
-.weak hcreate_r
-.type hcreate_r, %function;
-hcreate_r:
-.globl hdestroy
-.type hdestroy, %function;
-hdestroy:
-.weak hdestroy_r
-.type hdestroy_r, %function;
-hdestroy_r:
-.globl hsearch
-.type hsearch, %function;
-hsearch:
-.weak hsearch_r
-.type hsearch_r, %function;
-hsearch_r:
-.globl insque
-.type insque, %function;
-insque:
-.globl remque
-.type remque, %function;
-remque:
-.globl lsearch
-.type lsearch, %function;
-lsearch:
-.globl lfind
-.type lfind, %function;
-lfind:
-.globl tdelete
-.type tdelete, %function;
-tdelete:
-.globl tdestroy
-.type tdestroy, %function;
-tdestroy:
-.globl tfind
-.type tfind, %function;
-tfind:
-.globl tsearch
-.type tsearch, %function;
-tsearch:
-.globl twalk
-.type twalk, %function;
-twalk:
-.globl poll
-.type poll, %function;
-poll:
+.globl pow
+.type pow, %function;
+pow:
+.weak pow10
+.type pow10, %function;
+pow10:
+.weak pow10f
+.type pow10f, %function;
+pow10f:
+.weak pow10l
+.type pow10l, %function;
+pow10l:
+.globl powf
+.type powf, %function;
+powf:
+.globl powl
+.type powl, %function;
+powl:
+.globl ppoll
+.type ppoll, %function;
+ppoll:
+.globl prctl
+.type prctl, %function;
+prctl:
+.globl pread
+.type pread, %function;
+pread:
+.weak pread64
+.type pread64, %function;
+pread64:
+.globl preadv
+.type preadv, %function;
+preadv:
+.weak preadv64
+.type preadv64, %function;
+preadv64:
+.globl printf
+.type printf, %function;
+printf:
+.globl prlimit
+.type prlimit, %function;
+prlimit:
+.weak prlimit64
+.type prlimit64, %function;
+prlimit64:
+.globl process_vm_readv
+.type process_vm_readv, %function;
+process_vm_readv:
+.globl process_vm_writev
+.type process_vm_writev, %function;
+process_vm_writev:
.globl pselect
.type pselect, %function;
pselect:
-.globl select
-.type select, %function;
-select:
-.globl _longjmp
-.type _longjmp, %function;
-_longjmp:
-#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
-.globl __longjmp
-.type __longjmp, %function;
-__longjmp:
-#endif
-.globl longjmp
-.type longjmp, %function;
-longjmp:
-.globl _setjmp
-.type _setjmp, %function;
-_setjmp:
-.globl setjmp
-.type setjmp, %function;
-setjmp:
-.globl __setjmp
-.type __setjmp, %function;
-__setjmp:
-.globl getitimer
-.type getitimer, %function;
-getitimer:
-.globl kill
-.type kill, %function;
-kill:
-.globl killpg
-.type killpg, %function;
-killpg:
.globl psiginfo
.type psiginfo, %function;
psiginfo:
.globl psignal
.type psignal, %function;
psignal:
-.globl raise
-.type raise, %function;
-raise:
-.globl __sigsetjmp
-.type __sigsetjmp, %function;
-__sigsetjmp:
-.globl sigsetjmp
-.type sigsetjmp, %function;
-sigsetjmp:
-.globl setitimer
-.type setitimer, %function;
-setitimer:
-.weak sigaction
-.type sigaction, %function;
-sigaction:
-.globl sigaddset
-.type sigaddset, %function;
-sigaddset:
-.globl sigaltstack
-.type sigaltstack, %function;
-sigaltstack:
-.globl sigandset
-.type sigandset, %function;
-sigandset:
-.globl sigdelset
-.type sigdelset, %function;
-sigdelset:
-.globl sigemptyset
-.type sigemptyset, %function;
-sigemptyset:
-.globl sigfillset
-.type sigfillset, %function;
-sigfillset:
-.globl sighold
-.type sighold, %function;
-sighold:
-.globl sigignore
-.type sigignore, %function;
-sigignore:
-.globl siginterrupt
-.type siginterrupt, %function;
-siginterrupt:
-.globl sigisemptyset
-.type sigisemptyset, %function;
-sigisemptyset:
-.globl sigismember
-.type sigismember, %function;
-sigismember:
-.globl siglongjmp
-.type siglongjmp, %function;
-siglongjmp:
-.globl signal
-.type signal, %function;
-signal:
-.weak __sysv_signal
-.type __sysv_signal, %function;
-__sysv_signal:
-.weak bsd_signal
-.type bsd_signal, %function;
-bsd_signal:
-.globl sigorset
-.type sigorset, %function;
-sigorset:
-.globl sigpause
-.type sigpause, %function;
-sigpause:
-.globl sigpending
-.type sigpending, %function;
-sigpending:
-.globl sigprocmask
-.type sigprocmask, %function;
-sigprocmask:
-.globl sigqueue
-.type sigqueue, %function;
-sigqueue:
-.globl sigrelse
-.type sigrelse, %function;
-sigrelse:
-.globl __libc_current_sigrtmax
-.type __libc_current_sigrtmax, %function;
-__libc_current_sigrtmax:
-.globl __libc_current_sigrtmin
-.type __libc_current_sigrtmin, %function;
-__libc_current_sigrtmin:
-.globl sigset
-.type sigset, %function;
-sigset:
-.globl sigsuspend
-.type sigsuspend, %function;
-sigsuspend:
-.globl sigtimedwait
-.type sigtimedwait, %function;
-sigtimedwait:
-.globl sigwait
-.type sigwait, %function;
-sigwait:
-.globl sigwaitinfo
-.type sigwaitinfo, %function;
-sigwaitinfo:
-WEAK64 __fxstat64
-.type __fxstat64, %function;
-__fxstat64:
-#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_powerpc)
-.globl __fxstat
-.type __fxstat, %function;
-__fxstat:
-#endif
-#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_powerpc)
-.globl __fxstatat
-.type __fxstatat, %function;
-__fxstatat:
-#endif
-WEAK64 __fxstatat64
-.type __fxstatat64, %function;
-__fxstatat64:
-WEAK64 __lxstat64
-.type __lxstat64, %function;
-__lxstat64:
-#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_powerpc)
-.globl __lxstat
-.type __lxstat, %function;
-__lxstat:
-#endif
-#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_powerpc)
-.globl __xstat
-.type __xstat, %function;
-__xstat:
-#endif
-WEAK64 __xstat64
-.type __xstat64, %function;
-__xstat64:
-.globl __xmknod
-.type __xmknod, %function;
-__xmknod:
-.globl __xmknodat
-.type __xmknodat, %function;
-__xmknodat:
-.globl chmod
-.type chmod, %function;
-chmod:
-.globl fchmod
-.type fchmod, %function;
-fchmod:
-.globl fchmodat
-.type fchmodat, %function;
-fchmodat:
-.weak fstat64
-.type fstat64, %function;
-fstat64:
-.globl fstat
-.type fstat, %function;
-fstat:
-.globl fstatat
-.type fstatat, %function;
-fstatat:
-.weak fstatat64
-.type fstatat64, %function;
-fstatat64:
-.globl futimens
-.type futimens, %function;
-futimens:
-WEAK64 futimesat
-.type futimesat, %function;
-futimesat:
-.globl lchmod
-.type lchmod, %function;
-lchmod:
-.weak lstat64
-.type lstat64, %function;
-lstat64:
-.globl lstat
-.type lstat, %function;
-lstat:
-.globl mkdir
-.type mkdir, %function;
-mkdir:
-.globl mkdirat
-.type mkdirat, %function;
-mkdirat:
-.globl mkfifo
-.type mkfifo, %function;
-mkfifo:
-.globl mkfifoat
-.type mkfifoat, %function;
-mkfifoat:
-.globl mknod
-.type mknod, %function;
-mknod:
-.globl mknodat
-.type mknodat, %function;
-mknodat:
-.globl stat
-.type stat, %function;
-stat:
-.weak stat64
-.type stat64, %function;
-stat64:
-.weak statfs
-.type statfs, %function;
-statfs:
-.weak statfs64
-.type statfs64, %function;
-statfs64:
-.weak fstatfs
-.type fstatfs, %function;
-fstatfs:
-.weak fstatfs64
-.type fstatfs64, %function;
-fstatfs64:
-.weak statvfs64
-.type statvfs64, %function;
-statvfs64:
-.globl statvfs
-.type statvfs, %function;
-statvfs:
-.weak fstatvfs64
-.type fstatvfs64, %function;
-fstatvfs64:
-.globl fstatvfs
-.type fstatvfs, %function;
-fstatvfs:
-.globl umask
-.type umask, %function;
-umask:
-.globl utimensat
-.type utimensat, %function;
-utimensat:
-.weak fdopen
-.type fdopen, %function;
-fdopen:
-.globl __overflow
-.type __overflow, %function;
-.protected __overflow
-__overflow:
-.globl __uflow
-.type __uflow, %function;
-.protected __uflow
-__uflow:
-.globl asprintf
-.type asprintf, %function;
-asprintf:
-.weak clearerr_unlocked
-.type clearerr_unlocked, %function;
-clearerr_unlocked:
-.globl clearerr
-.type clearerr, %function;
-clearerr:
-.globl dprintf
-.type dprintf, %function;
-dprintf:
-.globl _flushlbf
-.type _flushlbf, %function;
-_flushlbf:
-.globl __fsetlocking
-.type __fsetlocking, %function;
-__fsetlocking:
-.globl __fwriting
-.type __fwriting, %function;
-__fwriting:
-.globl __freading
-.type __freading, %function;
-__freading:
-.globl __freadable
-.type __freadable, %function;
-__freadable:
-.globl __fwritable
-.type __fwritable, %function;
-__fwritable:
-.globl __flbf
-.type __flbf, %function;
-__flbf:
-.globl __fbufsize
-.type __fbufsize, %function;
-__fbufsize:
-.globl __fpending
-.type __fpending, %function;
-__fpending:
-.globl __fpurge
-.type __fpurge, %function;
-__fpurge:
-.weak fpurge
-.type fpurge, %function;
-fpurge:
-.globl __freadahead
-.type __freadahead, %function;
-__freadahead:
-.globl __freadptr
-.type __freadptr, %function;
-__freadptr:
-.globl __freadptrinc
-.type __freadptrinc, %function;
-__freadptrinc:
-.globl __fseterr
-.type __fseterr, %function;
-__fseterr:
-.globl fclose
-.type fclose, %function;
-fclose:
-.weak _IO_feof_unlocked
-.type _IO_feof_unlocked, %function;
-_IO_feof_unlocked:
-.globl feof
-.type feof, %function;
-feof:
-.weak feof_unlocked
-.type feof_unlocked, %function;
-feof_unlocked:
-.globl ferror
-.type ferror, %function;
-ferror:
-.weak ferror_unlocked
-.type ferror_unlocked, %function;
-ferror_unlocked:
-.weak _IO_ferror_unlocked
-.type _IO_ferror_unlocked, %function;
-_IO_ferror_unlocked:
-.weak fflush_unlocked
-.type fflush_unlocked, %function;
-fflush_unlocked:
-.globl fflush
-.type fflush, %function;
-fflush:
-.globl fgetc
-.type fgetc, %function;
-fgetc:
-.globl fgetln
-.type fgetln, %function;
-fgetln:
-.globl fgetpos
-.type fgetpos, %function;
-fgetpos:
-.weak fgetpos64
-.type fgetpos64, %function;
-fgetpos64:
-.weak fgets_unlocked
-.type fgets_unlocked, %function;
-fgets_unlocked:
-.globl fgets
-.type fgets, %function;
-fgets:
-.weak getwc_unlocked
-.type getwc_unlocked, %function;
-getwc_unlocked:
-.weak fgetwc_unlocked
-.type fgetwc_unlocked, %function;
-fgetwc_unlocked:
-.globl __fgetwc_unlocked
-.type __fgetwc_unlocked, %function;
-__fgetwc_unlocked:
-.globl fgetwc
-.type fgetwc, %function;
-fgetwc:
-.weak fgetws_unlocked
-.type fgetws_unlocked, %function;
-fgetws_unlocked:
-.globl fgetws
-.type fgetws, %function;
-fgetws:
-.weak fileno_unlocked
-.type fileno_unlocked, %function;
-fileno_unlocked:
-.globl fileno
-.type fileno, %function;
-fileno:
-.globl flockfile
-.type flockfile, %function;
-flockfile:
-.globl fmemopen
-.type fmemopen, %function;
-fmemopen:
-.weak fopen64
-.type fopen64, %function;
-fopen64:
-.globl fopen
-.type fopen, %function;
-fopen:
-.globl fopencookie
-.type fopencookie, %function;
-fopencookie:
-.globl fprintf
-.type fprintf, %function;
-fprintf:
-.globl fputc
-.type fputc, %function;
-fputc:
-.weak fputs_unlocked
-.type fputs_unlocked, %function;
-fputs_unlocked:
-.globl fputs
-.type fputs, %function;
-fputs:
-.weak putwc_unlocked
-.type putwc_unlocked, %function;
-putwc_unlocked:
-.weak fputwc_unlocked
-.type fputwc_unlocked, %function;
-fputwc_unlocked:
-.globl __fputwc_unlocked
-.type __fputwc_unlocked, %function;
-__fputwc_unlocked:
-.globl fputwc
-.type fputwc, %function;
-fputwc:
-.globl fputws
-.type fputws, %function;
-fputws:
-.weak fputws_unlocked
-.type fputws_unlocked, %function;
-fputws_unlocked:
-.globl fread
-.type fread, %function;
-fread:
-.weak fread_unlocked
-.type fread_unlocked, %function;
-fread_unlocked:
-.weak freopen64
-.type freopen64, %function;
-freopen64:
-.globl freopen
-.type freopen, %function;
-freopen:
-.weak __isoc99_fscanf
-.type __isoc99_fscanf, %function;
-__isoc99_fscanf:
-.globl fscanf
-.type fscanf, %function;
-fscanf:
-.weak fseeko
-.type fseeko, %function;
-fseeko:
-.weak fseeko64
-.type fseeko64, %function;
-fseeko64:
-.globl fseek
-.type fseek, %function;
-fseek:
-.globl fsetpos
-.type fsetpos, %function;
-fsetpos:
-.weak fsetpos64
-.type fsetpos64, %function;
-fsetpos64:
-.weak ftello
-.type ftello, %function;
-ftello:
-.weak ftello64
-.type ftello64, %function;
-ftello64:
-.globl ftell
-.type ftell, %function;
-ftell:
-.globl ftrylockfile
-.type ftrylockfile, %function;
-ftrylockfile:
-.globl funlockfile
-.type funlockfile, %function;
-funlockfile:
-.globl fwide
-.type fwide, %function;
-fwide:
-.globl fwprintf
-.type fwprintf, %function;
-fwprintf:
-.weak fwrite_unlocked
-.type fwrite_unlocked, %function;
-fwrite_unlocked:
-.globl fwrite
-.type fwrite, %function;
-fwrite:
-.globl fwscanf
-.type fwscanf, %function;
-fwscanf:
-.weak __isoc99_fwscanf
-.type __isoc99_fwscanf, %function;
-__isoc99_fwscanf:
-.globl getc
-.type getc, %function;
-getc:
-.weak _IO_getc
-.type _IO_getc, %function;
-_IO_getc:
-.weak _IO_getc_unlocked
-.type _IO_getc_unlocked, %function;
-_IO_getc_unlocked:
-.globl getc_unlocked
-.type getc_unlocked, %function;
-getc_unlocked:
-.weak fgetc_unlocked
-.type fgetc_unlocked, %function;
-fgetc_unlocked:
-.globl getchar
-.type getchar, %function;
-getchar:
-.globl getchar_unlocked
-.type getchar_unlocked, %function;
-getchar_unlocked:
-.weak __getdelim
-.type __getdelim, %function;
-__getdelim:
-.globl getdelim
-.type getdelim, %function;
-getdelim:
-.globl getline
-.type getline, %function;
-getline:
-.globl gets
-.type gets, %function;
-gets:
-.globl getw
-.type getw, %function;
-getw:
-.globl getwc
-.type getwc, %function;
-getwc:
-.globl getwchar
-.type getwchar, %function;
-getwchar:
-.weak getwchar_unlocked
-.type getwchar_unlocked, %function;
-getwchar_unlocked:
-.globl open_memstream
-.type open_memstream, %function;
-open_memstream:
-.globl open_wmemstream
-.type open_wmemstream, %function;
-open_wmemstream:
-.globl pclose
-.type pclose, %function;
-pclose:
-.globl perror
-.type perror, %function;
-perror:
-.globl popen
-.type popen, %function;
-popen:
-.globl printf
-.type printf, %function;
-printf:
-.globl putc
-.type putc, %function;
-putc:
-.weak _IO_putc
-.type _IO_putc, %function;
-_IO_putc:
-.weak _IO_putc_unlocked
-.type _IO_putc_unlocked, %function;
-_IO_putc_unlocked:
-.globl putc_unlocked
-.type putc_unlocked, %function;
-putc_unlocked:
-.weak fputc_unlocked
-.type fputc_unlocked, %function;
-fputc_unlocked:
-.globl putchar
-.type putchar, %function;
-putchar:
-.globl putchar_unlocked
-.type putchar_unlocked, %function;
-putchar_unlocked:
-.globl puts
-.type puts, %function;
-puts:
-.globl putw
-.type putw, %function;
-putw:
-.globl putwc
-.type putwc, %function;
-putwc:
-.globl putwchar
-.type putwchar, %function;
-putwchar:
-.weak putwchar_unlocked
-.type putwchar_unlocked, %function;
-putwchar_unlocked:
-.globl remove
-.type remove, %function;
-remove:
-.globl rename
-.type rename, %function;
-rename:
-.globl rewind
-.type rewind, %function;
-rewind:
-.weak __isoc99_scanf
-.type __isoc99_scanf, %function;
-__isoc99_scanf:
-.globl scanf
-.type scanf, %function;
-scanf:
-.globl setbuf
-.type setbuf, %function;
-setbuf:
-.globl setbuffer
-.type setbuffer, %function;
-setbuffer:
-.globl setlinebuf
-.type setlinebuf, %function;
-setlinebuf:
-.globl setvbuf
-.type setvbuf, %function;
-setvbuf:
-.globl snprintf
-.type snprintf, %function;
-snprintf:
-.globl sprintf
-.type sprintf, %function;
-sprintf:
-.weak __isoc99_sscanf
-.type __isoc99_sscanf, %function;
-__isoc99_sscanf:
-.globl sscanf
-.type sscanf, %function;
-sscanf:
-.globl swprintf
-.type swprintf, %function;
-swprintf:
-.globl swscanf
-.type swscanf, %function;
-swscanf:
-.weak __isoc99_swscanf
-.type __isoc99_swscanf, %function;
-__isoc99_swscanf:
-.globl tempnam
-.type tempnam, %function;
-tempnam:
-.globl tmpfile
-.type tmpfile, %function;
-tmpfile:
-.weak tmpfile64
-.type tmpfile64, %function;
-tmpfile64:
-.globl tmpnam
-.type tmpnam, %function;
-tmpnam:
-.globl ungetc
-.type ungetc, %function;
-ungetc:
-.globl ungetwc
-.type ungetwc, %function;
-ungetwc:
-.globl vasprintf
-.type vasprintf, %function;
-vasprintf:
-.globl vdprintf
-.type vdprintf, %function;
-vdprintf:
-.globl vfprintf
-.type vfprintf, %function;
-vfprintf:
-.weak __isoc99_vfscanf
-.type __isoc99_vfscanf, %function;
-__isoc99_vfscanf:
-.globl vfscanf
-.type vfscanf, %function;
-vfscanf:
-.globl vfwprintf
-.type vfwprintf, %function;
-vfwprintf:
-.globl vfwscanf
-.type vfwscanf, %function;
-vfwscanf:
-.weak __isoc99_vfwscanf
-.type __isoc99_vfwscanf, %function;
-__isoc99_vfwscanf:
-.globl vprintf
-.type vprintf, %function;
-vprintf:
-.weak __isoc99_vscanf
-.type __isoc99_vscanf, %function;
-__isoc99_vscanf:
-.globl vscanf
-.type vscanf, %function;
-vscanf:
-.globl vsnprintf
-.type vsnprintf, %function;
-vsnprintf:
-.globl vsprintf
-.type vsprintf, %function;
-vsprintf:
-.globl vsscanf
-.type vsscanf, %function;
-vsscanf:
-.weak __isoc99_vsscanf
-.type __isoc99_vsscanf, %function;
-__isoc99_vsscanf:
-.globl vswprintf
-.type vswprintf, %function;
-vswprintf:
-.weak __isoc99_vswscanf
-.type __isoc99_vswscanf, %function;
-__isoc99_vswscanf:
-.globl vswscanf
-.type vswscanf, %function;
-vswscanf:
-.globl vwprintf
-.type vwprintf, %function;
-vwprintf:
-.globl vwscanf
-.type vwscanf, %function;
-vwscanf:
-.weak __isoc99_vwscanf
-.type __isoc99_vwscanf, %function;
-__isoc99_vwscanf:
-.globl wprintf
-.type wprintf, %function;
-wprintf:
-.weak __isoc99_wscanf
-.type __isoc99_wscanf, %function;
-__isoc99_wscanf:
-.globl wscanf
-.type wscanf, %function;
-wscanf:
-.globl abs
-.type abs, %function;
-abs:
-.globl atof
-.type atof, %function;
-atof:
-.globl atoi
-.type atoi, %function;
-atoi:
-.globl atol
-.type atol, %function;
-atol:
-.globl atoll
-.type atoll, %function;
-atoll:
-.globl bsearch
-.type bsearch, %function;
-bsearch:
-.globl div
-.type div, %function;
-div:
-.globl ecvt
-.type ecvt, %function;
-ecvt:
-.globl fcvt
-.type fcvt, %function;
-fcvt:
-.globl gcvt
-.type gcvt, %function;
-gcvt:
-.globl imaxabs
-.type imaxabs, %function;
-imaxabs:
-.globl imaxdiv
-.type imaxdiv, %function;
-imaxdiv:
-.globl labs
-.type labs, %function;
-labs:
-.globl ldiv
-.type ldiv, %function;
-ldiv:
-.globl llabs
-.type llabs, %function;
-llabs:
-.globl lldiv
-.type lldiv, %function;
-lldiv:
-.globl qsort
-.type qsort, %function;
-qsort:
-.weak __strtof_l
-.type __strtof_l, %function;
-__strtof_l:
-.weak strtof_l
-.type strtof_l, %function;
-strtof_l:
-.globl strtof
-.type strtof, %function;
-strtof:
-.globl strtod
-.type strtod, %function;
-strtod:
-.weak __strtod_l
-.type __strtod_l, %function;
-__strtod_l:
-.weak strtod_l
-.type strtod_l, %function;
-strtod_l:
-.weak strtold_l
-.type strtold_l, %function;
-strtold_l:
-.globl strtold
-.type strtold, %function;
-strtold:
-.weak __strtold_l
-.type __strtold_l, %function;
-__strtold_l:
-.globl strtoull
-.type strtoull, %function;
-strtoull:
-.weak __strtoull_internal
-.type __strtoull_internal, %function;
-__strtoull_internal:
-.globl strtoll
-.type strtoll, %function;
-strtoll:
-.weak __strtoll_internal
-.type __strtoll_internal, %function;
-__strtoll_internal:
-.globl strtoul
-.type strtoul, %function;
-strtoul:
-.weak __strtoul_internal
-.type __strtoul_internal, %function;
-__strtoul_internal:
-.weak __strtol_internal
-.type __strtol_internal, %function;
-__strtol_internal:
-.globl strtol
-.type strtol, %function;
-strtol:
-.globl strtoimax
-.type strtoimax, %function;
-strtoimax:
-.weak __strtoimax_internal
-.type __strtoimax_internal, %function;
-__strtoimax_internal:
-.globl strtoumax
-.type strtoumax, %function;
-strtoumax:
-.weak __strtoumax_internal
-.type __strtoumax_internal, %function;
-__strtoumax_internal:
-.globl wcstof
-.type wcstof, %function;
-wcstof:
-.globl wcstod
-.type wcstod, %function;
-wcstod:
-.globl wcstold
-.type wcstold, %function;
-wcstold:
-.globl wcstoull
-.type wcstoull, %function;
-wcstoull:
-.globl wcstoll
-.type wcstoll, %function;
-wcstoll:
-.globl wcstoul
-.type wcstoul, %function;
-wcstoul:
-.globl wcstol
-.type wcstol, %function;
-wcstol:
-.globl wcstoimax
-.type wcstoimax, %function;
-wcstoimax:
-.globl wcstoumax
-.type wcstoumax, %function;
-wcstoumax:
-.globl bcmp
-.type bcmp, %function;
-bcmp:
-.globl bcopy
-.type bcopy, %function;
-bcopy:
-.globl bzero
-.type bzero, %function;
-bzero:
-.globl explicit_bzero
-.type explicit_bzero, %function;
-explicit_bzero:
-.globl index
-.type index, %function;
-index:
-.globl memccpy
-.type memccpy, %function;
-memccpy:
-.globl memchr
-.type memchr, %function;
-memchr:
-.globl memcmp
-.type memcmp, %function;
-memcmp:
-.globl memcpy
-.type memcpy, %function;
-memcpy:
-.globl memmem
-.type memmem, %function;
-memmem:
-.globl memmove
-.type memmove, %function;
-memmove:
-.globl mempcpy
-.type mempcpy, %function;
-mempcpy:
-.weak memrchr
-.type memrchr, %function;
-memrchr:
-.globl memset
-.type memset, %function;
-memset:
-.globl rindex
-.type rindex, %function;
-rindex:
-.weak stpcpy
-.type stpcpy, %function;
-stpcpy:
-.weak stpncpy
-.type stpncpy, %function;
-stpncpy:
-.globl strcasecmp
-.type strcasecmp, %function;
-strcasecmp:
-.weak strcasecmp_l
-.type strcasecmp_l, %function;
-strcasecmp_l:
-.globl __strcasecmp_l
-.type __strcasecmp_l, %function;
-__strcasecmp_l:
-.globl strcasestr
-.type strcasestr, %function;
-strcasestr:
-.globl strcat
-.type strcat, %function;
-strcat:
-.globl strchr
-.type strchr, %function;
-strchr:
-.weak strchrnul
-.type strchrnul, %function;
-strchrnul:
-.globl strcmp
-.type strcmp, %function;
-strcmp:
-.globl strcpy
-.type strcpy, %function;
-strcpy:
-.globl strcspn
-.type strcspn, %function;
-strcspn:
-.globl strdup
-.type strdup, %function;
-strdup:
-.globl strerror_r
-.type strerror_r, %function;
-strerror_r:
-.weak __xpg_strerror_r
-.type __xpg_strerror_r, %function;
-__xpg_strerror_r:
-.globl strlcat
-.type strlcat, %function;
-strlcat:
-.globl strlcpy
-.type strlcpy, %function;
-strlcpy:
-.globl strlen
-.type strlen, %function;
-strlen:
-.globl strncasecmp
-.type strncasecmp, %function;
-strncasecmp:
-.globl __strncasecmp_l
-.type __strncasecmp_l, %function;
-__strncasecmp_l:
-.weak strncasecmp_l
-.type strncasecmp_l, %function;
-strncasecmp_l:
-.globl strncat
-.type strncat, %function;
-strncat:
-.globl strncmp
-.type strncmp, %function;
-strncmp:
-.globl strncpy
-.type strncpy, %function;
-strncpy:
-.globl strndup
-.type strndup, %function;
-strndup:
-.globl strnlen
-.type strnlen, %function;
-strnlen:
-.globl strpbrk
-.type strpbrk, %function;
-strpbrk:
-.globl strrchr
-.type strrchr, %function;
-strrchr:
-.globl strsep
-.type strsep, %function;
-strsep:
-.globl strsignal
-.type strsignal, %function;
-strsignal:
-.globl strspn
-.type strspn, %function;
-strspn:
-.globl strstr
-.type strstr, %function;
-strstr:
-.globl strtok
-.type strtok, %function;
-strtok:
-.globl strtok_r
-.type strtok_r, %function;
-strtok_r:
-.globl strverscmp
-.type strverscmp, %function;
-strverscmp:
-.globl swab
-.type swab, %function;
-swab:
-.globl wcpcpy
-.type wcpcpy, %function;
-wcpcpy:
-.globl wcpncpy
-.type wcpncpy, %function;
-wcpncpy:
-.globl wcscasecmp
-.type wcscasecmp, %function;
-wcscasecmp:
-.globl wcscasecmp_l
-.type wcscasecmp_l, %function;
-wcscasecmp_l:
-.globl wcscat
-.type wcscat, %function;
-wcscat:
-.globl wcschr
-.type wcschr, %function;
-wcschr:
-.globl wcscmp
-.type wcscmp, %function;
-wcscmp:
-.globl wcscpy
-.type wcscpy, %function;
-wcscpy:
-.globl wcscspn
-.type wcscspn, %function;
-wcscspn:
-.globl wcsdup
-.type wcsdup, %function;
-wcsdup:
-.globl wcslen
-.type wcslen, %function;
-wcslen:
-.globl wcsncasecmp
-.type wcsncasecmp, %function;
-wcsncasecmp:
-.globl wcsncasecmp_l
-.type wcsncasecmp_l, %function;
-wcsncasecmp_l:
-.globl wcsncat
-.type wcsncat, %function;
-wcsncat:
-.globl wcsncmp
-.type wcsncmp, %function;
-wcsncmp:
-.globl wcsncpy
-.type wcsncpy, %function;
-wcsncpy:
-.globl wcsnlen
-.type wcsnlen, %function;
-wcsnlen:
-.globl wcspbrk
-.type wcspbrk, %function;
-wcspbrk:
-.globl wcsrchr
-.type wcsrchr, %function;
-wcsrchr:
-.globl wcsspn
-.type wcsspn, %function;
-wcsspn:
-.globl wcsstr
-.type wcsstr, %function;
-wcsstr:
-.globl wcstok
-.type wcstok, %function;
-wcstok:
-.globl wcswcs
-.type wcswcs, %function;
-wcswcs:
-.globl wmemchr
-.type wmemchr, %function;
-wmemchr:
-.globl wmemcmp
-.type wmemcmp, %function;
-wmemcmp:
-.globl wmemcpy
-.type wmemcpy, %function;
-wmemcpy:
-.globl wmemmove
-.type wmemmove, %function;
-wmemmove:
-.globl wmemset
-.type wmemset, %function;
-wmemset:
-.globl mkdtemp
-.type mkdtemp, %function;
-mkdtemp:
-.globl mkostemp
-.type mkostemp, %function;
-mkostemp:
-.weak mkostemp64
-.type mkostemp64, %function;
-mkostemp64:
-.weak mkostemps
-.type mkostemps, %function;
-mkostemps:
-.weak mkostemps64
-.type mkostemps64, %function;
-mkostemps64:
-.globl mkstemp
-.type mkstemp, %function;
-mkstemp:
-.weak mkstemp64
-.type mkstemp64, %function;
-mkstemp64:
-.globl mkstemps
-.type mkstemps, %function;
-mkstemps:
-.weak mkstemps64
-.type mkstemps64, %function;
-mkstemps64:
-.globl mktemp
-.type mktemp, %function;
-mktemp:
-.globl cfgetospeed
-.type cfgetospeed, %function;
-cfgetospeed:
-.globl cfgetispeed
-.type cfgetispeed, %function;
-cfgetispeed:
-.globl cfmakeraw
-.type cfmakeraw, %function;
-cfmakeraw:
-.globl cfsetospeed
-.type cfsetospeed, %function;
-cfsetospeed:
-.weak cfsetspeed
-.type cfsetspeed, %function;
-cfsetspeed:
-.globl cfsetispeed
-.type cfsetispeed, %function;
-cfsetispeed:
-.globl tcdrain
-.type tcdrain, %function;
-tcdrain:
-.globl tcflow
-.type tcflow, %function;
-tcflow:
-.globl tcflush
-.type tcflush, %function;
-tcflush:
-.globl tcgetattr
-.type tcgetattr, %function;
-tcgetattr:
-.globl tcgetsid
-.type tcgetsid, %function;
-tcgetsid:
-.globl tcgetwinsize
-.type tcgetwinsize, %function;
-tcgetwinsize:
-.globl tcsendbreak
-.type tcsendbreak, %function;
-tcsendbreak:
-.globl tcsetattr
-.type tcsetattr, %function;
-tcsetattr:
-.globl tcsetwinsize
-.type tcsetwinsize, %function;
-tcsetwinsize:
-.globl __tls_get_addr
-.type __tls_get_addr, %function;
-__tls_get_addr:
-.globl call_once
-.type call_once, %function;
-call_once:
-.globl cnd_broadcast
-.type cnd_broadcast, %function;
-cnd_broadcast:
-.globl cnd_destroy
-.type cnd_destroy, %function;
-cnd_destroy:
-.globl cnd_init
-.type cnd_init, %function;
-cnd_init:
-.globl cnd_signal
-.type cnd_signal, %function;
-cnd_signal:
-.globl cnd_timedwait
-.type cnd_timedwait, %function;
-cnd_timedwait:
-.globl cnd_wait
-.type cnd_wait, %function;
-cnd_wait:
-.globl mtx_destroy
-.type mtx_destroy, %function;
-mtx_destroy:
-.globl mtx_init
-.type mtx_init, %function;
-mtx_init:
-.globl mtx_lock
-.type mtx_lock, %function;
-mtx_lock:
-.globl mtx_timedlock
-.type mtx_timedlock, %function;
-mtx_timedlock:
-.globl mtx_trylock
-.type mtx_trylock, %function;
-mtx_trylock:
-.globl mtx_unlock
-.type mtx_unlock, %function;
-mtx_unlock:
.globl pthread_atfork
.type pthread_atfork, %function;
pthread_atfork:
@@ -4303,30 +3620,6 @@ pthread_attr_getstack:
.globl pthread_attr_getstacksize
.type pthread_attr_getstacksize, %function;
pthread_attr_getstacksize:
-.globl pthread_barrierattr_getpshared
-.type pthread_barrierattr_getpshared, %function;
-pthread_barrierattr_getpshared:
-.globl pthread_condattr_getclock
-.type pthread_condattr_getclock, %function;
-pthread_condattr_getclock:
-.globl pthread_condattr_getpshared
-.type pthread_condattr_getpshared, %function;
-pthread_condattr_getpshared:
-.globl pthread_mutexattr_getprotocol
-.type pthread_mutexattr_getprotocol, %function;
-pthread_mutexattr_getprotocol:
-.globl pthread_mutexattr_getpshared
-.type pthread_mutexattr_getpshared, %function;
-pthread_mutexattr_getpshared:
-.globl pthread_mutexattr_getrobust
-.type pthread_mutexattr_getrobust, %function;
-pthread_mutexattr_getrobust:
-.globl pthread_mutexattr_gettype
-.type pthread_mutexattr_gettype, %function;
-pthread_mutexattr_gettype:
-.globl pthread_rwlockattr_getpshared
-.type pthread_rwlockattr_getpshared, %function;
-pthread_rwlockattr_getpshared:
.globl pthread_attr_init
.type pthread_attr_init, %function;
pthread_attr_init:
@@ -4366,6 +3659,9 @@ pthread_barrier_wait:
.globl pthread_barrierattr_destroy
.type pthread_barrierattr_destroy, %function;
pthread_barrierattr_destroy:
+.globl pthread_barrierattr_getpshared
+.type pthread_barrierattr_getpshared, %function;
+pthread_barrierattr_getpshared:
.globl pthread_barrierattr_init
.type pthread_barrierattr_init, %function;
pthread_barrierattr_init:
@@ -4375,12 +3671,6 @@ pthread_barrierattr_setpshared:
.globl pthread_cancel
.type pthread_cancel, %function;
pthread_cancel:
-.globl _pthread_cleanup_push
-.type _pthread_cleanup_push, %function;
-_pthread_cleanup_push:
-.globl _pthread_cleanup_pop
-.type _pthread_cleanup_pop, %function;
-_pthread_cleanup_pop:
.globl pthread_cond_broadcast
.type pthread_cond_broadcast, %function;
pthread_cond_broadcast:
@@ -4402,6 +3692,12 @@ pthread_cond_wait:
.globl pthread_condattr_destroy
.type pthread_condattr_destroy, %function;
pthread_condattr_destroy:
+.globl pthread_condattr_getclock
+.type pthread_condattr_getclock, %function;
+pthread_condattr_getclock:
+.globl pthread_condattr_getpshared
+.type pthread_condattr_getpshared, %function;
+pthread_condattr_getpshared:
.globl pthread_condattr_init
.type pthread_condattr_init, %function;
pthread_condattr_init:
@@ -4411,24 +3707,24 @@ pthread_condattr_setclock:
.globl pthread_condattr_setpshared
.type pthread_condattr_setpshared, %function;
pthread_condattr_setpshared:
-.weak pthread_exit
-.type pthread_exit, %function;
-pthread_exit:
.weak pthread_create
.type pthread_create, %function;
pthread_create:
.weak pthread_detach
.type pthread_detach, %function;
pthread_detach:
-.weak thrd_detach
-.type thrd_detach, %function;
-thrd_detach:
.weak pthread_equal
.type pthread_equal, %function;
pthread_equal:
-.weak thrd_equal
-.type thrd_equal, %function;
-thrd_equal:
+.weak pthread_exit
+.type pthread_exit, %function;
+pthread_exit:
+.globl pthread_getaffinity_np
+.type pthread_getaffinity_np, %function;
+pthread_getaffinity_np:
+.globl pthread_getattr_default_np
+.type pthread_getattr_default_np, %function;
+pthread_getattr_default_np:
.globl pthread_getattr_np
.type pthread_getattr_np, %function;
pthread_getattr_np:
@@ -4438,24 +3734,18 @@ pthread_getconcurrency:
.globl pthread_getcpuclockid
.type pthread_getcpuclockid, %function;
pthread_getcpuclockid:
+.globl pthread_getname_np
+.type pthread_getname_np, %function;
+pthread_getname_np:
.globl pthread_getschedparam
.type pthread_getschedparam, %function;
pthread_getschedparam:
-.weak tss_get
-.type tss_get, %function;
-tss_get:
.weak pthread_getspecific
.type pthread_getspecific, %function;
pthread_getspecific:
.weak pthread_join
.type pthread_join, %function;
pthread_join:
-WEAK64 pthread_timedjoin_np
-.type pthread_timedjoin_np, %function;
-pthread_timedjoin_np:
-.weak pthread_tryjoin_np
-.type pthread_tryjoin_np, %function;
-pthread_tryjoin_np:
.weak pthread_key_create
.type pthread_key_create, %function;
pthread_key_create:
@@ -4495,6 +3785,18 @@ pthread_mutex_unlock:
.globl pthread_mutexattr_destroy
.type pthread_mutexattr_destroy, %function;
pthread_mutexattr_destroy:
+.globl pthread_mutexattr_getprotocol
+.type pthread_mutexattr_getprotocol, %function;
+pthread_mutexattr_getprotocol:
+.globl pthread_mutexattr_getpshared
+.type pthread_mutexattr_getpshared, %function;
+pthread_mutexattr_getpshared:
+.globl pthread_mutexattr_getrobust
+.type pthread_mutexattr_getrobust, %function;
+pthread_mutexattr_getrobust:
+.globl pthread_mutexattr_gettype
+.type pthread_mutexattr_gettype, %function;
+pthread_mutexattr_gettype:
.globl pthread_mutexattr_init
.type pthread_mutexattr_init, %function;
pthread_mutexattr_init:
@@ -4543,6 +3845,9 @@ pthread_rwlock_wrlock:
.globl pthread_rwlockattr_destroy
.type pthread_rwlockattr_destroy, %function;
pthread_rwlockattr_destroy:
+.globl pthread_rwlockattr_getpshared
+.type pthread_rwlockattr_getpshared, %function;
+pthread_rwlockattr_getpshared:
.globl pthread_rwlockattr_init
.type pthread_rwlockattr_init, %function;
pthread_rwlockattr_init:
@@ -4552,15 +3857,12 @@ pthread_rwlockattr_setpshared:
.weak pthread_self
.type pthread_self, %function;
pthread_self:
-.weak thrd_current
-.type thrd_current, %function;
-thrd_current:
+.globl pthread_setaffinity_np
+.type pthread_setaffinity_np, %function;
+pthread_setaffinity_np:
.globl pthread_setattr_default_np
.type pthread_setattr_default_np, %function;
pthread_setattr_default_np:
-.globl pthread_getattr_default_np
-.type pthread_getattr_default_np, %function;
-pthread_getattr_default_np:
.weak pthread_setcancelstate
.type pthread_setcancelstate, %function;
pthread_setcancelstate:
@@ -4603,330 +3905,123 @@ pthread_spin_unlock:
.weak pthread_testcancel
.type pthread_testcancel, %function;
pthread_testcancel:
-.globl sem_destroy
-.type sem_destroy, %function;
-sem_destroy:
-.globl sem_getvalue
-.type sem_getvalue, %function;
-sem_getvalue:
-.globl sem_init
-.type sem_init, %function;
-sem_init:
-.globl sem_open
-.type sem_open, %function;
-sem_open:
-.globl sem_close
-.type sem_close, %function;
-sem_close:
-.globl sem_post
-.type sem_post, %function;
-sem_post:
-.globl sem_timedwait
-.type sem_timedwait, %function;
-sem_timedwait:
-.globl sem_trywait
-.type sem_trywait, %function;
-sem_trywait:
-.globl sem_unlink
-.type sem_unlink, %function;
-sem_unlink:
-.globl sem_wait
-.type sem_wait, %function;
-sem_wait:
-.globl thrd_create
-.type thrd_create, %function;
-thrd_create:
-.globl thrd_exit
-.type thrd_exit, %function;
-thrd_exit:
-.globl thrd_join
-.type thrd_join, %function;
-thrd_join:
-.globl thrd_sleep
-.type thrd_sleep, %function;
-thrd_sleep:
-.globl thrd_yield
-.type thrd_yield, %function;
-thrd_yield:
-.globl tss_create
-.type tss_create, %function;
-tss_create:
-.globl tss_delete
-.type tss_delete, %function;
-tss_delete:
-.globl tss_set
-.type tss_set, %function;
-tss_set:
-.weak tzset
-.type tzset, %function;
-tzset:
-.globl asctime
-.type asctime, %function;
-asctime:
-.weak asctime_r
-.type asctime_r, %function;
-asctime_r:
-.globl clock
-.type clock, %function;
-clock:
-.globl clock_getcpuclockid
-.type clock_getcpuclockid, %function;
-clock_getcpuclockid:
-.globl clock_getres
-.type clock_getres, %function;
-clock_getres:
-WEAK64 clock_gettime
-.type clock_gettime, %function;
-clock_gettime:
-WEAK64 clock_nanosleep
-.type clock_nanosleep, %function;
-clock_nanosleep:
-.globl clock_settime
-.type clock_settime, %function;
-clock_settime:
-.globl ctime
-.type ctime, %function;
-ctime:
-.globl ctime_r
-.type ctime_r, %function;
-ctime_r:
-.globl difftime
-.type difftime, %function;
-difftime:
-.globl ftime
-.type ftime, %function;
-ftime:
-.globl getdate
-.type getdate, %function;
-getdate:
-.globl gettimeofday
-.type gettimeofday, %function;
-gettimeofday:
-.globl gmtime
-.type gmtime, %function;
-gmtime:
-WEAK64 gmtime_r
-.type gmtime_r, %function;
-gmtime_r:
-.globl localtime
-.type localtime, %function;
-localtime:
-WEAK64 localtime_r
-.type localtime_r, %function;
-localtime_r:
-.globl mktime
-.type mktime, %function;
-mktime:
-.globl nanosleep
-.type nanosleep, %function;
-nanosleep:
-.weak strftime_l
-.type strftime_l, %function;
-strftime_l:
-.globl strftime
-.type strftime, %function;
-strftime:
-.globl strptime
-.type strptime, %function;
-strptime:
-.globl time
-.type time, %function;
-time:
-.globl timegm
-.type timegm, %function;
-timegm:
-.globl timer_create
-.type timer_create, %function;
-timer_create:
-.globl timer_delete
-.type timer_delete, %function;
-timer_delete:
-.globl timer_getoverrun
-.type timer_getoverrun, %function;
-timer_getoverrun:
-.globl timer_gettime
-.type timer_gettime, %function;
-timer_gettime:
-.globl timer_settime
-.type timer_settime, %function;
-timer_settime:
-.globl times
-.type times, %function;
-times:
-.globl timespec_get
-.type timespec_get, %function;
-timespec_get:
-.globl utime
-.type utime, %function;
-utime:
-.globl __wcsftime_l
-.type __wcsftime_l, %function;
-__wcsftime_l:
-.weak wcsftime_l
-.type wcsftime_l, %function;
-wcsftime_l:
-.globl wcsftime
-.type wcsftime, %function;
-wcsftime:
-.globl _exit
-.type _exit, %function;
-_exit:
-.globl access
-.type access, %function;
-access:
-.globl acct
-.type acct, %function;
-acct:
-.globl alarm
-.type alarm, %function;
-alarm:
-.globl chdir
-.type chdir, %function;
-chdir:
-.globl chown
-.type chown, %function;
-chown:
-.globl close
-.type close, %function;
-close:
-.globl ctermid
-.type ctermid, %function;
-ctermid:
-.globl dup
-.type dup, %function;
-dup:
-.globl dup2
-.type dup2, %function;
-dup2:
-.weak dup3
-.type dup3, %function;
-dup3:
-.globl faccessat
-.type faccessat, %function;
-faccessat:
-.globl fchdir
-.type fchdir, %function;
-fchdir:
-.globl fchown
-.type fchown, %function;
-fchown:
-.globl fchownat
-.type fchownat, %function;
-fchownat:
-.globl fdatasync
-.type fdatasync, %function;
-fdatasync:
-.globl fsync
-.type fsync, %function;
-fsync:
-.weak ftruncate64
-.type ftruncate64, %function;
-ftruncate64:
-.globl ftruncate
-.type ftruncate, %function;
-ftruncate:
-.globl getcwd
-.type getcwd, %function;
-getcwd:
-.globl getegid
-.type getegid, %function;
-getegid:
-.globl geteuid
-.type geteuid, %function;
-geteuid:
-.globl getgid
-.type getgid, %function;
-getgid:
-.globl getgroups
-.type getgroups, %function;
-getgroups:
-.globl gethostname
-.type gethostname, %function;
-gethostname:
-.globl getlogin
-.type getlogin, %function;
-getlogin:
-.globl getlogin_r
-.type getlogin_r, %function;
-getlogin_r:
-.globl getpgid
-.type getpgid, %function;
-getpgid:
-.globl getpgrp
-.type getpgrp, %function;
-getpgrp:
-.globl getpid
-.type getpid, %function;
-getpid:
-.globl getppid
-.type getppid, %function;
-getppid:
-.globl getsid
-.type getsid, %function;
-getsid:
-.globl getuid
-.type getuid, %function;
-getuid:
-.globl isatty
-.type isatty, %function;
-isatty:
-.globl lchown
-.type lchown, %function;
-lchown:
-.globl link
-.type link, %function;
-link:
-.globl linkat
-.type linkat, %function;
-linkat:
-.weak lseek
-.type lseek, %function;
-lseek:
-.weak lseek64
-.type lseek64, %function;
-lseek64:
-.globl nice
-.type nice, %function;
-nice:
-.globl pause
-.type pause, %function;
-pause:
-.globl pipe
-.type pipe, %function;
-pipe:
-.globl pipe2
-.type pipe2, %function;
-pipe2:
-.globl posix_close
-.type posix_close, %function;
-posix_close:
-.weak pread64
-.type pread64, %function;
-pread64:
-.globl pread
-.type pread, %function;
-pread:
-.globl preadv
-.type preadv, %function;
-preadv:
-.weak preadv64
-.type preadv64, %function;
-preadv64:
+WEAK64 pthread_timedjoin_np
+.type pthread_timedjoin_np, %function;
+pthread_timedjoin_np:
+.weak pthread_tryjoin_np
+.type pthread_tryjoin_np, %function;
+pthread_tryjoin_np:
+.globl ptrace
+.type ptrace, %function;
+ptrace:
+.globl ptsname
+.type ptsname, %function;
+ptsname:
+.weak ptsname_r
+.type ptsname_r, %function;
+ptsname_r:
+.globl putc
+.type putc, %function;
+putc:
+.globl putc_unlocked
+.type putc_unlocked, %function;
+putc_unlocked:
+.globl putchar
+.type putchar, %function;
+putchar:
+.globl putchar_unlocked
+.type putchar_unlocked, %function;
+putchar_unlocked:
+.globl putenv
+.type putenv, %function;
+putenv:
+.globl putgrent
+.type putgrent, %function;
+putgrent:
+.globl putpwent
+.type putpwent, %function;
+putpwent:
+.globl puts
+.type puts, %function;
+puts:
+.globl putspent
+.type putspent, %function;
+putspent:
+.weak pututline
+.type pututline, %function;
+pututline:
+.globl pututxline
+.type pututxline, %function;
+pututxline:
+.globl putw
+.type putw, %function;
+putw:
+.globl putwc
+.type putwc, %function;
+putwc:
+.weak putwc_unlocked
+.type putwc_unlocked, %function;
+putwc_unlocked:
+.globl putwchar
+.type putwchar, %function;
+putwchar:
+.weak putwchar_unlocked
+.type putwchar_unlocked, %function;
+putwchar_unlocked:
.globl pwrite
.type pwrite, %function;
pwrite:
.weak pwrite64
.type pwrite64, %function;
pwrite64:
-.weak pwritev64
-.type pwritev64, %function;
-pwritev64:
.globl pwritev
.type pwritev, %function;
pwritev:
+.weak pwritev64
+.type pwritev64, %function;
+pwritev64:
+.globl qsort
+.type qsort, %function;
+qsort:
+.weak qsort_r
+.type qsort_r, %function;
+qsort_r:
+.globl quick_exit
+.type quick_exit, %function;
+quick_exit:
+.globl quotactl
+.type quotactl, %function;
+quotactl:
+.globl raise
+.type raise, %function;
+raise:
+.globl rand
+.type rand, %function;
+rand:
+.globl rand_r
+.type rand_r, %function;
+rand_r:
+.globl random
+.type random, %function;
+random:
.globl read
.type read, %function;
read:
+.globl readahead
+.type readahead, %function;
+readahead:
+.globl readdir
+.type readdir, %function;
+readdir:
+.weak readdir64
+.type readdir64, %function;
+readdir64:
+.weak readdir64_r
+.type readdir64_r, %function;
+readdir64_r:
+.globl readdir_r
+.type readdir_r, %function;
+readdir_r:
.globl readlink
.type readlink, %function;
readlink:
@@ -4936,27 +4031,353 @@ readlinkat:
.globl readv
.type readv, %function;
readv:
+.globl realloc
+.type realloc, %function;
+realloc:
+.globl reallocarray
+.type reallocarray, %function;
+reallocarray:
+.globl realpath
+.type realpath, %function;
+realpath:
+.globl reboot
+.type reboot, %function;
+reboot:
+.globl recv
+.type recv, %function;
+recv:
+.globl recvfrom
+.type recvfrom, %function;
+recvfrom:
+.globl recvmmsg
+.type recvmmsg, %function;
+recvmmsg:
+.globl recvmsg
+.type recvmsg, %function;
+recvmsg:
+.globl regcomp
+.type regcomp, %function;
+regcomp:
+.globl regerror
+.type regerror, %function;
+regerror:
+.globl regexec
+.type regexec, %function;
+regexec:
+.globl regfree
+.type regfree, %function;
+regfree:
+.globl remainder
+.type remainder, %function;
+remainder:
+.globl remainderf
+.type remainderf, %function;
+remainderf:
+.globl remainderl
+.type remainderl, %function;
+remainderl:
+.globl remap_file_pages
+.type remap_file_pages, %function;
+remap_file_pages:
+.globl remove
+.type remove, %function;
+remove:
+.globl removexattr
+.type removexattr, %function;
+removexattr:
+.globl remque
+.type remque, %function;
+remque:
+.globl remquo
+.type remquo, %function;
+remquo:
+.globl remquof
+.type remquof, %function;
+remquof:
+.globl remquol
+.type remquol, %function;
+remquol:
+.globl rename
+.type rename, %function;
+rename:
.globl renameat
.type renameat, %function;
renameat:
+.globl res_init
+.type res_init, %function;
+res_init:
+.weak res_mkquery
+.type res_mkquery, %function;
+res_mkquery:
+.globl res_query
+.type res_query, %function;
+res_query:
+.globl res_querydomain
+.type res_querydomain, %function;
+res_querydomain:
+.weak res_search
+.type res_search, %function;
+res_search:
+.weak res_send
+.type res_send, %function;
+res_send:
+.globl rewind
+.type rewind, %function;
+rewind:
+.globl rewinddir
+.type rewinddir, %function;
+rewinddir:
+.globl rindex
+.type rindex, %function;
+rindex:
+.globl rint
+.type rint, %function;
+rint:
+.globl rintf
+.type rintf, %function;
+rintf:
+.globl rintl
+.type rintl, %function;
+rintl:
+#if !defined(ARCH_mips) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
+.weak riscv_flush_icache
+.type riscv_flush_icache, %function;
+riscv_flush_icache:
+#endif
.globl rmdir
.type rmdir, %function;
rmdir:
+.globl round
+.type round, %function;
+round:
+.globl roundf
+.type roundf, %function;
+roundf:
+.globl roundl
+.type roundl, %function;
+roundl:
+.globl sbrk
+.type sbrk, %function;
+sbrk:
+.globl scalb
+.type scalb, %function;
+scalb:
+.globl scalbf
+.type scalbf, %function;
+scalbf:
+.globl scalbln
+.type scalbln, %function;
+scalbln:
+.globl scalblnf
+.type scalblnf, %function;
+scalblnf:
+.globl scalblnl
+.type scalblnl, %function;
+scalblnl:
+.globl scalbn
+.type scalbn, %function;
+scalbn:
+.globl scalbnf
+.type scalbnf, %function;
+scalbnf:
+.globl scalbnl
+.type scalbnl, %function;
+scalbnl:
+.globl scandir
+.type scandir, %function;
+scandir:
+.weak scandir64
+.type scandir64, %function;
+scandir64:
+.globl scanf
+.type scanf, %function;
+scanf:
+.globl sched_get_priority_max
+.type sched_get_priority_max, %function;
+sched_get_priority_max:
+.globl sched_get_priority_min
+.type sched_get_priority_min, %function;
+sched_get_priority_min:
+.globl sched_getaffinity
+.type sched_getaffinity, %function;
+sched_getaffinity:
+.globl sched_getcpu
+.type sched_getcpu, %function;
+sched_getcpu:
+.globl sched_getparam
+.type sched_getparam, %function;
+sched_getparam:
+.globl sched_getscheduler
+.type sched_getscheduler, %function;
+sched_getscheduler:
+.globl sched_rr_get_interval
+.type sched_rr_get_interval, %function;
+sched_rr_get_interval:
+.globl sched_setaffinity
+.type sched_setaffinity, %function;
+sched_setaffinity:
+.globl sched_setparam
+.type sched_setparam, %function;
+sched_setparam:
+.globl sched_setscheduler
+.type sched_setscheduler, %function;
+sched_setscheduler:
+.globl sched_yield
+.type sched_yield, %function;
+sched_yield:
+.globl secure_getenv
+.type secure_getenv, %function;
+secure_getenv:
+.globl seed48
+.type seed48, %function;
+seed48:
+.globl seekdir
+.type seekdir, %function;
+seekdir:
+.globl select
+.type select, %function;
+select:
+.globl sem_close
+.type sem_close, %function;
+sem_close:
+.globl sem_destroy
+.type sem_destroy, %function;
+sem_destroy:
+.globl sem_getvalue
+.type sem_getvalue, %function;
+sem_getvalue:
+.globl sem_init
+.type sem_init, %function;
+sem_init:
+.globl sem_open
+.type sem_open, %function;
+sem_open:
+.globl sem_post
+.type sem_post, %function;
+sem_post:
+.globl sem_timedwait
+.type sem_timedwait, %function;
+sem_timedwait:
+.globl sem_trywait
+.type sem_trywait, %function;
+sem_trywait:
+.globl sem_unlink
+.type sem_unlink, %function;
+sem_unlink:
+.globl sem_wait
+.type sem_wait, %function;
+sem_wait:
+.globl semctl
+.type semctl, %function;
+semctl:
+.globl semget
+.type semget, %function;
+semget:
+.globl semop
+.type semop, %function;
+semop:
+.globl semtimedop
+.type semtimedop, %function;
+semtimedop:
+.globl send
+.type send, %function;
+send:
+.globl sendfile
+.type sendfile, %function;
+sendfile:
+.weak sendfile64
+.type sendfile64, %function;
+sendfile64:
+.globl sendmmsg
+.type sendmmsg, %function;
+sendmmsg:
+.globl sendmsg
+.type sendmsg, %function;
+sendmsg:
+.globl sendto
+.type sendto, %function;
+sendto:
+.globl setbuf
+.type setbuf, %function;
+setbuf:
+.globl setbuffer
+.type setbuffer, %function;
+setbuffer:
+.globl setdomainname
+.type setdomainname, %function;
+setdomainname:
.globl setegid
.type setegid, %function;
setegid:
+.globl setenv
+.type setenv, %function;
+setenv:
.globl seteuid
.type seteuid, %function;
seteuid:
+.globl setfsgid
+.type setfsgid, %function;
+setfsgid:
+.globl setfsuid
+.type setfsuid, %function;
+setfsuid:
.globl setgid
.type setgid, %function;
setgid:
+.globl setgrent
+.type setgrent, %function;
+setgrent:
+.globl setgroups
+.type setgroups, %function;
+setgroups:
+.globl sethostent
+.type sethostent, %function;
+sethostent:
+.globl sethostname
+.type sethostname, %function;
+sethostname:
+.globl setitimer
+.type setitimer, %function;
+setitimer:
+.globl setjmp
+.type setjmp, %function;
+setjmp:
+.globl setkey
+.type setkey, %function;
+setkey:
+.globl setlinebuf
+.type setlinebuf, %function;
+setlinebuf:
+.globl setlocale
+.type setlocale, %function;
+setlocale:
+.globl setlogmask
+.type setlogmask, %function;
+setlogmask:
+.globl setmntent
+.type setmntent, %function;
+setmntent:
+.weak setnetent
+.type setnetent, %function;
+setnetent:
+.globl setns
+.type setns, %function;
+setns:
.globl setpgid
.type setpgid, %function;
setpgid:
.globl setpgrp
.type setpgrp, %function;
setpgrp:
+.globl setpriority
+.type setpriority, %function;
+setpriority:
+.globl setprotoent
+.type setprotoent, %function;
+setprotoent:
+.globl setpwent
+.type setpwent, %function;
+setpwent:
.globl setregid
.type setregid, %function;
setregid:
@@ -4969,15 +4390,426 @@ setresuid:
.globl setreuid
.type setreuid, %function;
setreuid:
+.globl setrlimit
+.type setrlimit, %function;
+setrlimit:
+.weak setrlimit64
+.type setrlimit64, %function;
+setrlimit64:
+.globl setservent
+.type setservent, %function;
+setservent:
.globl setsid
.type setsid, %function;
setsid:
+.globl setsockopt
+.type setsockopt, %function;
+setsockopt:
+.globl setspent
+.type setspent, %function;
+setspent:
+.globl setstate
+.type setstate, %function;
+setstate:
+.globl settimeofday
+.type settimeofday, %function;
+settimeofday:
.globl setuid
.type setuid, %function;
setuid:
+.globl setusershell
+.type setusershell, %function;
+setusershell:
+.weak setutent
+.type setutent, %function;
+setutent:
+.globl setutxent
+.type setutxent, %function;
+setutxent:
+.globl setvbuf
+.type setvbuf, %function;
+setvbuf:
+.globl setxattr
+.type setxattr, %function;
+setxattr:
+.globl shm_open
+.type shm_open, %function;
+shm_open:
+.globl shm_unlink
+.type shm_unlink, %function;
+shm_unlink:
+.globl shmat
+.type shmat, %function;
+shmat:
+.globl shmctl
+.type shmctl, %function;
+shmctl:
+.globl shmdt
+.type shmdt, %function;
+shmdt:
+.globl shmget
+.type shmget, %function;
+shmget:
+.globl shutdown
+.type shutdown, %function;
+shutdown:
+.weak sigaction
+.type sigaction, %function;
+sigaction:
+.globl sigaddset
+.type sigaddset, %function;
+sigaddset:
+.globl sigaltstack
+.type sigaltstack, %function;
+sigaltstack:
+.globl sigandset
+.type sigandset, %function;
+sigandset:
+.globl sigdelset
+.type sigdelset, %function;
+sigdelset:
+.globl sigemptyset
+.type sigemptyset, %function;
+sigemptyset:
+.globl sigfillset
+.type sigfillset, %function;
+sigfillset:
+.globl sighold
+.type sighold, %function;
+sighold:
+.globl sigignore
+.type sigignore, %function;
+sigignore:
+.globl siginterrupt
+.type siginterrupt, %function;
+siginterrupt:
+.globl sigisemptyset
+.type sigisemptyset, %function;
+sigisemptyset:
+.globl sigismember
+.type sigismember, %function;
+sigismember:
+.globl siglongjmp
+.type siglongjmp, %function;
+siglongjmp:
+.globl signal
+.type signal, %function;
+signal:
+.globl signalfd
+.type signalfd, %function;
+signalfd:
+.globl significand
+.type significand, %function;
+significand:
+.globl significandf
+.type significandf, %function;
+significandf:
+.globl sigorset
+.type sigorset, %function;
+sigorset:
+.globl sigpause
+.type sigpause, %function;
+sigpause:
+.globl sigpending
+.type sigpending, %function;
+sigpending:
+.globl sigprocmask
+.type sigprocmask, %function;
+sigprocmask:
+.globl sigqueue
+.type sigqueue, %function;
+sigqueue:
+.globl sigrelse
+.type sigrelse, %function;
+sigrelse:
+.globl sigset
+.type sigset, %function;
+sigset:
+.globl sigsetjmp
+.type sigsetjmp, %function;
+sigsetjmp:
+.globl sigsuspend
+.type sigsuspend, %function;
+sigsuspend:
+.globl sigtimedwait
+.type sigtimedwait, %function;
+sigtimedwait:
+.globl sigwait
+.type sigwait, %function;
+sigwait:
+.globl sigwaitinfo
+.type sigwaitinfo, %function;
+sigwaitinfo:
+.globl sin
+.type sin, %function;
+sin:
+.globl sincos
+.type sincos, %function;
+sincos:
+.globl sincosf
+.type sincosf, %function;
+sincosf:
+.globl sincosl
+.type sincosl, %function;
+sincosl:
+.globl sinf
+.type sinf, %function;
+sinf:
+.globl sinh
+.type sinh, %function;
+sinh:
+.globl sinhf
+.type sinhf, %function;
+sinhf:
+.globl sinhl
+.type sinhl, %function;
+sinhl:
+.globl sinl
+.type sinl, %function;
+sinl:
.globl sleep
.type sleep, %function;
sleep:
+.globl snprintf
+.type snprintf, %function;
+snprintf:
+.globl sockatmark
+.type sockatmark, %function;
+sockatmark:
+.globl socket
+.type socket, %function;
+socket:
+.globl socketpair
+.type socketpair, %function;
+socketpair:
+.globl splice
+.type splice, %function;
+splice:
+.globl sprintf
+.type sprintf, %function;
+sprintf:
+.globl sqrt
+.type sqrt, %function;
+sqrt:
+.globl sqrtf
+.type sqrtf, %function;
+sqrtf:
+.globl sqrtl
+.type sqrtl, %function;
+sqrtl:
+.globl srand
+.type srand, %function;
+srand:
+.globl srand48
+.type srand48, %function;
+srand48:
+.globl srandom
+.type srandom, %function;
+srandom:
+.globl sscanf
+.type sscanf, %function;
+sscanf:
+.globl stat
+.type stat, %function;
+stat:
+.weak stat64
+.type stat64, %function;
+stat64:
+.weak statfs
+.type statfs, %function;
+statfs:
+.weak statfs64
+.type statfs64, %function;
+statfs64:
+.globl statvfs
+.type statvfs, %function;
+statvfs:
+.weak statvfs64
+.type statvfs64, %function;
+statvfs64:
+.globl stime
+.type stime, %function;
+stime:
+.weak stpcpy
+.type stpcpy, %function;
+stpcpy:
+.weak stpncpy
+.type stpncpy, %function;
+stpncpy:
+.globl strcasecmp
+.type strcasecmp, %function;
+strcasecmp:
+.weak strcasecmp_l
+.type strcasecmp_l, %function;
+strcasecmp_l:
+.globl strcasestr
+.type strcasestr, %function;
+strcasestr:
+.globl strcat
+.type strcat, %function;
+strcat:
+.globl strchr
+.type strchr, %function;
+strchr:
+.weak strchrnul
+.type strchrnul, %function;
+strchrnul:
+.globl strcmp
+.type strcmp, %function;
+strcmp:
+.globl strcoll
+.type strcoll, %function;
+strcoll:
+.weak strcoll_l
+.type strcoll_l, %function;
+strcoll_l:
+.globl strcpy
+.type strcpy, %function;
+strcpy:
+.globl strcspn
+.type strcspn, %function;
+strcspn:
+.globl strdup
+.type strdup, %function;
+strdup:
+.globl strerror
+.type strerror, %function;
+strerror:
+.weak strerror_l
+.type strerror_l, %function;
+strerror_l:
+.globl strerror_r
+.type strerror_r, %function;
+strerror_r:
+.globl strfmon
+.type strfmon, %function;
+strfmon:
+.globl strfmon_l
+.type strfmon_l, %function;
+strfmon_l:
+.globl strftime
+.type strftime, %function;
+strftime:
+.weak strftime_l
+.type strftime_l, %function;
+strftime_l:
+.globl strlcat
+.type strlcat, %function;
+strlcat:
+.globl strlcpy
+.type strlcpy, %function;
+strlcpy:
+.globl strlen
+.type strlen, %function;
+strlen:
+.globl strncasecmp
+.type strncasecmp, %function;
+strncasecmp:
+.weak strncasecmp_l
+.type strncasecmp_l, %function;
+strncasecmp_l:
+.globl strncat
+.type strncat, %function;
+strncat:
+.globl strncmp
+.type strncmp, %function;
+strncmp:
+.globl strncpy
+.type strncpy, %function;
+strncpy:
+.globl strndup
+.type strndup, %function;
+strndup:
+.globl strnlen
+.type strnlen, %function;
+strnlen:
+.globl strpbrk
+.type strpbrk, %function;
+strpbrk:
+.globl strptime
+.type strptime, %function;
+strptime:
+.globl strrchr
+.type strrchr, %function;
+strrchr:
+.globl strsep
+.type strsep, %function;
+strsep:
+.globl strsignal
+.type strsignal, %function;
+strsignal:
+.globl strspn
+.type strspn, %function;
+strspn:
+.globl strstr
+.type strstr, %function;
+strstr:
+.globl strtod
+.type strtod, %function;
+strtod:
+.globl strtod_l
+.type strtod_l, %function;
+strtod_l:
+.globl strtof
+.type strtof, %function;
+strtof:
+.globl strtof_l
+.type strtof_l, %function;
+strtof_l:
+.globl strtoimax
+.type strtoimax, %function;
+strtoimax:
+.globl strtok
+.type strtok, %function;
+strtok:
+.globl strtok_r
+.type strtok_r, %function;
+strtok_r:
+.globl strtol
+.type strtol, %function;
+strtol:
+.globl strtold
+.type strtold, %function;
+strtold:
+.globl strtold_l
+.type strtold_l, %function;
+strtold_l:
+.globl strtoll
+.type strtoll, %function;
+strtoll:
+.globl strtoul
+.type strtoul, %function;
+strtoul:
+.globl strtoull
+.type strtoull, %function;
+strtoull:
+.globl strtoumax
+.type strtoumax, %function;
+strtoumax:
+.globl strverscmp
+.type strverscmp, %function;
+strverscmp:
+.globl strxfrm
+.type strxfrm, %function;
+strxfrm:
+.weak strxfrm_l
+.type strxfrm_l, %function;
+strxfrm_l:
+.globl swab
+.type swab, %function;
+swab:
+.globl swapoff
+.type swapoff, %function;
+swapoff:
+.globl swapon
+.type swapon, %function;
+swapon:
+.globl swprintf
+.type swprintf, %function;
+swprintf:
+.globl swscanf
+.type swscanf, %function;
+swscanf:
.globl symlink
.type symlink, %function;
symlink:
@@ -4987,419 +4819,618 @@ symlinkat:
.globl sync
.type sync, %function;
sync:
+.globl sync_file_range
+.type sync_file_range, %function;
+sync_file_range:
+.globl syncfs
+.type syncfs, %function;
+syncfs:
+.globl syscall
+.type syscall, %function;
+syscall:
+.globl sysconf
+.type sysconf, %function;
+sysconf:
+.weak sysinfo
+.type sysinfo, %function;
+sysinfo:
+.globl syslog
+.type syslog, %function;
+syslog:
+.globl system
+.type system, %function;
+system:
+.globl tan
+.type tan, %function;
+tan:
+.globl tanf
+.type tanf, %function;
+tanf:
+.globl tanh
+.type tanh, %function;
+tanh:
+.globl tanhf
+.type tanhf, %function;
+tanhf:
+.globl tanhl
+.type tanhl, %function;
+tanhl:
+.globl tanl
+.type tanl, %function;
+tanl:
+.globl tcdrain
+.type tcdrain, %function;
+tcdrain:
+.globl tcflow
+.type tcflow, %function;
+tcflow:
+.globl tcflush
+.type tcflush, %function;
+tcflush:
+.globl tcgetattr
+.type tcgetattr, %function;
+tcgetattr:
.globl tcgetpgrp
.type tcgetpgrp, %function;
tcgetpgrp:
+.globl tcgetsid
+.type tcgetsid, %function;
+tcgetsid:
+.globl tcgetwinsize
+.type tcgetwinsize, %function;
+tcgetwinsize:
+.globl tcsendbreak
+.type tcsendbreak, %function;
+tcsendbreak:
+.globl tcsetattr
+.type tcsetattr, %function;
+tcsetattr:
.globl tcsetpgrp
.type tcsetpgrp, %function;
tcsetpgrp:
-.weak truncate64
-.type truncate64, %function;
-truncate64:
+.globl tcsetwinsize
+.type tcsetwinsize, %function;
+tcsetwinsize:
+.globl tdelete
+.type tdelete, %function;
+tdelete:
+.globl tdestroy
+.type tdestroy, %function;
+tdestroy:
+.globl tee
+.type tee, %function;
+tee:
+.globl telldir
+.type telldir, %function;
+telldir:
+.globl tempnam
+.type tempnam, %function;
+tempnam:
+.globl textdomain
+.type textdomain, %function;
+textdomain:
+.globl tfind
+.type tfind, %function;
+tfind:
+.globl tgamma
+.type tgamma, %function;
+tgamma:
+.globl tgammaf
+.type tgammaf, %function;
+tgammaf:
+.globl tgammal
+.type tgammal, %function;
+tgammal:
+.globl thrd_create
+.type thrd_create, %function;
+thrd_create:
+.weak thrd_current
+.type thrd_current, %function;
+thrd_current:
+.weak thrd_detach
+.type thrd_detach, %function;
+thrd_detach:
+.weak thrd_equal
+.type thrd_equal, %function;
+thrd_equal:
+.globl thrd_exit
+.type thrd_exit, %function;
+thrd_exit:
+.globl thrd_join
+.type thrd_join, %function;
+thrd_join:
+.globl thrd_sleep
+.type thrd_sleep, %function;
+thrd_sleep:
+.globl thrd_yield
+.type thrd_yield, %function;
+thrd_yield:
+.globl time
+.type time, %function;
+time:
+.globl timegm
+.type timegm, %function;
+timegm:
+.globl timer_create
+.type timer_create, %function;
+timer_create:
+.globl timer_delete
+.type timer_delete, %function;
+timer_delete:
+.globl timer_getoverrun
+.type timer_getoverrun, %function;
+timer_getoverrun:
+.globl timer_gettime
+.type timer_gettime, %function;
+timer_gettime:
+.globl timer_settime
+.type timer_settime, %function;
+timer_settime:
+.globl timerfd_create
+.type timerfd_create, %function;
+timerfd_create:
+.globl timerfd_gettime
+.type timerfd_gettime, %function;
+timerfd_gettime:
+.globl timerfd_settime
+.type timerfd_settime, %function;
+timerfd_settime:
+.globl times
+.type times, %function;
+times:
+.globl timespec_get
+.type timespec_get, %function;
+timespec_get:
+.globl tmpfile
+.type tmpfile, %function;
+tmpfile:
+.weak tmpfile64
+.type tmpfile64, %function;
+tmpfile64:
+.globl tmpnam
+.type tmpnam, %function;
+tmpnam:
+.globl toascii
+.type toascii, %function;
+toascii:
+.globl tolower
+.type tolower, %function;
+tolower:
+.weak tolower_l
+.type tolower_l, %function;
+tolower_l:
+.globl toupper
+.type toupper, %function;
+toupper:
+.weak toupper_l
+.type toupper_l, %function;
+toupper_l:
+.globl towctrans
+.type towctrans, %function;
+towctrans:
+.weak towctrans_l
+.type towctrans_l, %function;
+towctrans_l:
+.globl towlower
+.type towlower, %function;
+towlower:
+.weak towlower_l
+.type towlower_l, %function;
+towlower_l:
+.globl towupper
+.type towupper, %function;
+towupper:
+.weak towupper_l
+.type towupper_l, %function;
+towupper_l:
+.globl trunc
+.type trunc, %function;
+trunc:
.globl truncate
.type truncate, %function;
truncate:
+.weak truncate64
+.type truncate64, %function;
+truncate64:
+.globl truncf
+.type truncf, %function;
+truncf:
+.globl truncl
+.type truncl, %function;
+truncl:
+.globl tsearch
+.type tsearch, %function;
+tsearch:
+.globl tss_create
+.type tss_create, %function;
+tss_create:
+.globl tss_delete
+.type tss_delete, %function;
+tss_delete:
+.weak tss_get
+.type tss_get, %function;
+tss_get:
+.globl tss_set
+.type tss_set, %function;
+tss_set:
.globl ttyname
.type ttyname, %function;
ttyname:
.globl ttyname_r
.type ttyname_r, %function;
ttyname_r:
+.globl twalk
+.type twalk, %function;
+twalk:
+.weak tzset
+.type tzset, %function;
+tzset:
.globl ualarm
.type ualarm, %function;
ualarm:
+.globl ulckpwdf
+.type ulckpwdf, %function;
+ulckpwdf:
+.globl ulimit
+.type ulimit, %function;
+ulimit:
+.globl umask
+.type umask, %function;
+umask:
+.globl umount
+.type umount, %function;
+umount:
+.globl umount2
+.type umount2, %function;
+umount2:
+.globl uname
+.type uname, %function;
+uname:
+.globl ungetc
+.type ungetc, %function;
+ungetc:
+.globl ungetwc
+.type ungetwc, %function;
+ungetwc:
.globl unlink
.type unlink, %function;
unlink:
.globl unlinkat
.type unlinkat, %function;
unlinkat:
+.globl unlockpt
+.type unlockpt, %function;
+unlockpt:
+.globl unsetenv
+.type unsetenv, %function;
+unsetenv:
+.globl unshare
+.type unshare, %function;
+unshare:
+.weak updwtmp
+.type updwtmp, %function;
+updwtmp:
+.globl updwtmpx
+.type updwtmpx, %function;
+updwtmpx:
+.weak uselocale
+.type uselocale, %function;
+uselocale:
.globl usleep
.type usleep, %function;
usleep:
+.globl utime
+.type utime, %function;
+utime:
+.globl utimensat
+.type utimensat, %function;
+utimensat:
+.globl utimes
+.type utimes, %function;
+utimes:
+.weak utmpname
+.type utmpname, %function;
+utmpname:
+.weak utmpxname
+.type utmpxname, %function;
+utmpxname:
+.globl valloc
+.type valloc, %function;
+valloc:
+.globl vasprintf
+.type vasprintf, %function;
+vasprintf:
+.globl vdprintf
+.type vdprintf, %function;
+vdprintf:
+.globl verr
+.type verr, %function;
+verr:
+.globl verrx
+.type verrx, %function;
+verrx:
+.globl versionsort
+.type versionsort, %function;
+versionsort:
+.weak versionsort64
+.type versionsort64, %function;
+versionsort64:
+.globl vfork
+.type vfork, %function;
+vfork:
+.globl vfprintf
+.type vfprintf, %function;
+vfprintf:
+.globl vfscanf
+.type vfscanf, %function;
+vfscanf:
+.globl vfwprintf
+.type vfwprintf, %function;
+vfwprintf:
+.globl vfwscanf
+.type vfwscanf, %function;
+vfwscanf:
+.globl vhangup
+.type vhangup, %function;
+vhangup:
+.globl vmsplice
+.type vmsplice, %function;
+vmsplice:
+.globl vprintf
+.type vprintf, %function;
+vprintf:
+.globl vscanf
+.type vscanf, %function;
+vscanf:
+.globl vsnprintf
+.type vsnprintf, %function;
+vsnprintf:
+.globl vsprintf
+.type vsprintf, %function;
+vsprintf:
+.globl vsscanf
+.type vsscanf, %function;
+vsscanf:
+.globl vswprintf
+.type vswprintf, %function;
+vswprintf:
+.globl vswscanf
+.type vswscanf, %function;
+vswscanf:
+.weak vsyslog
+.type vsyslog, %function;
+vsyslog:
+.globl vwarn
+.type vwarn, %function;
+vwarn:
+.globl vwarnx
+.type vwarnx, %function;
+vwarnx:
+.globl vwprintf
+.type vwprintf, %function;
+vwprintf:
+.globl vwscanf
+.type vwscanf, %function;
+vwscanf:
+.globl wait
+.type wait, %function;
+wait:
+.globl wait3
+.type wait3, %function;
+wait3:
+.globl wait4
+.type wait4, %function;
+wait4:
+.globl waitid
+.type waitid, %function;
+waitid:
+.globl waitpid
+.type waitpid, %function;
+waitpid:
+.globl warn
+.type warn, %function;
+warn:
+.globl warnx
+.type warnx, %function;
+warnx:
+.globl wcpcpy
+.type wcpcpy, %function;
+wcpcpy:
+.globl wcpncpy
+.type wcpncpy, %function;
+wcpncpy:
+.globl wcrtomb
+.type wcrtomb, %function;
+wcrtomb:
+.globl wcscasecmp
+.type wcscasecmp, %function;
+wcscasecmp:
+.globl wcscasecmp_l
+.type wcscasecmp_l, %function;
+wcscasecmp_l:
+.globl wcscat
+.type wcscat, %function;
+wcscat:
+.globl wcschr
+.type wcschr, %function;
+wcschr:
+.globl wcscmp
+.type wcscmp, %function;
+wcscmp:
+.globl wcscoll
+.type wcscoll, %function;
+wcscoll:
+.weak wcscoll_l
+.type wcscoll_l, %function;
+wcscoll_l:
+.globl wcscpy
+.type wcscpy, %function;
+wcscpy:
+.globl wcscspn
+.type wcscspn, %function;
+wcscspn:
+.globl wcsdup
+.type wcsdup, %function;
+wcsdup:
+.globl wcsftime
+.type wcsftime, %function;
+wcsftime:
+.weak wcsftime_l
+.type wcsftime_l, %function;
+wcsftime_l:
+.globl wcslen
+.type wcslen, %function;
+wcslen:
+.globl wcsncasecmp
+.type wcsncasecmp, %function;
+wcsncasecmp:
+.globl wcsncasecmp_l
+.type wcsncasecmp_l, %function;
+wcsncasecmp_l:
+.globl wcsncat
+.type wcsncat, %function;
+wcsncat:
+.globl wcsncmp
+.type wcsncmp, %function;
+wcsncmp:
+.globl wcsncpy
+.type wcsncpy, %function;
+wcsncpy:
+.globl wcsnlen
+.type wcsnlen, %function;
+wcsnlen:
+.globl wcsnrtombs
+.type wcsnrtombs, %function;
+wcsnrtombs:
+.globl wcspbrk
+.type wcspbrk, %function;
+wcspbrk:
+.globl wcsrchr
+.type wcsrchr, %function;
+wcsrchr:
+.globl wcsrtombs
+.type wcsrtombs, %function;
+wcsrtombs:
+.globl wcsspn
+.type wcsspn, %function;
+wcsspn:
+.globl wcsstr
+.type wcsstr, %function;
+wcsstr:
+.globl wcstod
+.type wcstod, %function;
+wcstod:
+.globl wcstof
+.type wcstof, %function;
+wcstof:
+.globl wcstoimax
+.type wcstoimax, %function;
+wcstoimax:
+.globl wcstok
+.type wcstok, %function;
+wcstok:
+.globl wcstol
+.type wcstol, %function;
+wcstol:
+.globl wcstold
+.type wcstold, %function;
+wcstold:
+.globl wcstoll
+.type wcstoll, %function;
+wcstoll:
+.globl wcstombs
+.type wcstombs, %function;
+wcstombs:
+.globl wcstoul
+.type wcstoul, %function;
+wcstoul:
+.globl wcstoull
+.type wcstoull, %function;
+wcstoull:
+.globl wcstoumax
+.type wcstoumax, %function;
+wcstoumax:
+.globl wcswcs
+.type wcswcs, %function;
+wcswcs:
+.globl wcswidth
+.type wcswidth, %function;
+wcswidth:
+.globl wcsxfrm
+.type wcsxfrm, %function;
+wcsxfrm:
+.weak wcsxfrm_l
+.type wcsxfrm_l, %function;
+wcsxfrm_l:
+.globl wctob
+.type wctob, %function;
+wctob:
+.globl wctomb
+.type wctomb, %function;
+wctomb:
+.globl wctrans
+.type wctrans, %function;
+wctrans:
+.weak wctrans_l
+.type wctrans_l, %function;
+wctrans_l:
+.globl wctype
+.type wctype, %function;
+wctype:
+.weak wctype_l
+.type wctype_l, %function;
+wctype_l:
+.globl wcwidth
+.type wcwidth, %function;
+wcwidth:
+.globl wmemchr
+.type wmemchr, %function;
+wmemchr:
+.globl wmemcmp
+.type wmemcmp, %function;
+wmemcmp:
+.globl wmemcpy
+.type wmemcpy, %function;
+wmemcpy:
+.globl wmemmove
+.type wmemmove, %function;
+wmemmove:
+.globl wmemset
+.type wmemset, %function;
+wmemset:
+.globl wordexp
+.type wordexp, %function;
+wordexp:
+.globl wordfree
+.type wordfree, %function;
+wordfree:
+.globl wprintf
+.type wprintf, %function;
+wprintf:
.globl write
.type write, %function;
write:
.globl writev
.type writev, %function;
writev:
-.globl _dlstart
-.type _dlstart, %function;
-_dlstart:
-.weak _dl_debug_state
-.type _dl_debug_state, %function;
-_dl_debug_state:
-.globl __dls2b
-.type __dls2b, %function;
-__dls2b:
-.globl __dls3
-.type __dls3, %function;
-__dls3:
-.globl dlopen
-.type dlopen, %function;
-dlopen:
-.globl dladdr
-.type dladdr, %function;
-dladdr:
-.globl dl_iterate_phdr
-.type dl_iterate_phdr, %function;
-dl_iterate_phdr:
-.data.rel.ro
-.globl stderr
-.type stderr, %object;
-.size stderr, PTR_SIZE_BYTES
-stderr:
-.globl stdin
-.type stdin, %object;
-.size stdin, PTR_SIZE_BYTES
-stdin:
-.globl stdout
-.type stdout, %object;
-.size stdout, PTR_SIZE_BYTES
-stdout:
-.data
-.globl optind
-.type optind, %object;
-.size optind, 4
-optind:
-.globl opterr
-.type opterr, %object;
-.size opterr, 4
-opterr:
-.globl _dl_debug_addr
-.type _dl_debug_addr, %object;
-.size _dl_debug_addr, PTR_SIZE_BYTES
-_dl_debug_addr:
-.bss
-.weak ___environ
-.type ___environ, %object;
-.size ___environ, PTR_SIZE_BYTES
-___environ:
-.weak _environ
-.type _environ, %object;
-.size _environ, PTR_SIZE_BYTES
-_environ:
-.globl __environ
-.type __environ, %object;
-.size __environ, PTR_SIZE_BYTES
-__environ:
-.weak environ
-.type environ, %object;
-.size environ, PTR_SIZE_BYTES
-environ:
-.globl __stack_chk_guard
-.type __stack_chk_guard, %object;
-.size __stack_chk_guard, PTR_SIZE_BYTES
-__stack_chk_guard:
-.weak program_invocation_short_name
-.type program_invocation_short_name, %object;
-.size program_invocation_short_name, PTR_SIZE_BYTES
-program_invocation_short_name:
-.globl __progname
-.type __progname, %object;
-.size __progname, PTR_SIZE_BYTES
-__progname:
-.weak program_invocation_name
-.type program_invocation_name, %object;
-.size program_invocation_name, PTR_SIZE_BYTES
-program_invocation_name:
-.globl __progname_full
-.type __progname_full, %object;
-.size __progname_full, PTR_SIZE_BYTES
-__progname_full:
-.globl __signgam
-.type __signgam, %object;
-.size __signgam, 4
-__signgam:
-.weak signgam
-.type signgam, %object;
-.size signgam, 4
-signgam:
-.globl __optreset
-.type __optreset, %object;
-.size __optreset, 4
-__optreset:
-.weak optreset
-.type optreset, %object;
-.size optreset, 4
-optreset:
-.globl __optpos
-.type __optpos, %object;
-.size __optpos, 4
-__optpos:
-.globl optarg
-.type optarg, %object;
-.size optarg, PTR_SIZE_BYTES
-optarg:
-.globl optopt
-.type optopt, %object;
-.size optopt, 4
-optopt:
-.globl h_errno
-.type h_errno, %object;
-.size h_errno, 4
-h_errno:
-.globl __timezone
-.type __timezone, %object;
-.size __timezone, PTR_SIZE_BYTES
-__timezone:
-.weak timezone
-.type timezone, %object;
-.size timezone, PTR_SIZE_BYTES
-timezone:
-.globl __daylight
-.type __daylight, %object;
-.size __daylight, 4
-__daylight:
-.weak daylight
-.type daylight, %object;
-.size daylight, 4
-daylight:
-.globl __tzname
-.type __tzname, %object;
-.size __tzname, PTR2_SIZE_BYTES
-__tzname:
-.weak tzname
-.type tzname, %object;
-.size tzname, PTR2_SIZE_BYTES
-tzname:
-.globl getdate_err
-.type getdate_err, %object;
-.size getdate_err, 4
-getdate_err:
-.text
-#ifdef PTR32
-.globl __aio_suspend_time64
-.type __aio_suspend_time64, %function;
-__aio_suspend_time64:
-.globl __semtimedop_time64
-.type __semtimedop_time64, %function;
-__semtimedop_time64:
-.globl __dlsym_time64
-.type __dlsym_time64, %function;
-__dlsym_time64:
-.globl __futimes_time64
-.type __futimes_time64, %function;
-__futimes_time64:
-.globl __lutimes_time64
-.type __lutimes_time64, %function;
-__lutimes_time64:
-.globl __adjtime64
-.type __adjtime64, %function;
-__adjtime64:
-.globl __adjtimex_time64
-.type __adjtimex_time64, %function;
-__adjtimex_time64:
-#endif
-#if !defined(ARCH_riscv64) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
-.globl _flush_cache
-.type _flush_cache, %function;
-_flush_cache:
-#endif
-#if !defined(ARCH_riscv64) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
-.weak cacheflush
-.type cacheflush, %function;
-cacheflush:
-#endif
-#if !defined(ARCH_riscv64) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
-.globl __cachectl
-.type __cachectl, %function;
-__cachectl:
-#endif
-#if !defined(ARCH_riscv64) && !defined(ARCH_i386) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
-.weak cachectl
-.type cachectl, %function;
-cachectl:
-#endif
-#ifdef PTR32
-.globl __clock_adjtime64
-.type __clock_adjtime64, %function;
-__clock_adjtime64:
-#endif
-#if !defined(ARCH_riscv64) && !defined(ARCH_aarch64)
-.globl ioperm
-.type ioperm, %function;
-ioperm:
-#endif
-#if !defined(ARCH_riscv64) && !defined(ARCH_aarch64)
-.globl iopl
-.type iopl, %function;
-iopl:
-#endif
-#ifdef PTR32
-.globl __ppoll_time64
-.type __ppoll_time64, %function;
-__ppoll_time64:
-.globl __settimeofday_time64
-.type __settimeofday_time64, %function;
-__settimeofday_time64:
-.globl __stime64
-.type __stime64, %function;
-__stime64:
-.globl __timerfd_settime64
-.type __timerfd_settime64, %function;
-__timerfd_settime64:
-.globl __timerfd_gettime64
-.type __timerfd_gettime64, %function;
-__timerfd_gettime64:
-.globl __utimes_time64
-.type __utimes_time64, %function;
-__utimes_time64:
-.globl __wait3_time64
-.type __wait3_time64, %function;
-__wait3_time64:
-.globl __wait4_time64
-.type __wait4_time64, %function;
-__wait4_time64:
-.globl __getrusage_time64
-.type __getrusage_time64, %function;
-__getrusage_time64:
-.globl __mq_timedreceive_time64
-.type __mq_timedreceive_time64, %function;
-__mq_timedreceive_time64:
-.globl __mq_timedsend_time64
-.type __mq_timedsend_time64, %function;
-__mq_timedsend_time64:
-.globl __recvmmsg_time64
-.type __recvmmsg_time64, %function;
-__recvmmsg_time64:
-.globl __sched_rr_get_interval_time64
-.type __sched_rr_get_interval_time64, %function;
-__sched_rr_get_interval_time64:
-.globl __pselect_time64
-.type __pselect_time64, %function;
-__pselect_time64:
-.globl __select_time64
-.type __select_time64, %function;
-__select_time64:
-.globl __getitimer_time64
-.type __getitimer_time64, %function;
-__getitimer_time64:
-.globl __setitimer_time64
-.type __setitimer_time64, %function;
-__setitimer_time64:
-.globl __sigtimedwait_time64
-.type __sigtimedwait_time64, %function;
-__sigtimedwait_time64:
-.globl __fstat_time64
-.type __fstat_time64, %function;
-__fstat_time64:
-.globl __fstatat_time64
-.type __fstatat_time64, %function;
-__fstatat_time64:
-.globl __futimens_time64
-.type __futimens_time64, %function;
-__futimens_time64:
-.weak __futimesat_time64
-.type __futimesat_time64, %function;
-__futimesat_time64:
-.globl __lstat_time64
-.type __lstat_time64, %function;
-__lstat_time64:
-.globl __stat_time64
-.type __stat_time64, %function;
-__stat_time64:
-.globl __utimensat_time64
-.type __utimensat_time64, %function;
-__utimensat_time64:
-.globl __cnd_timedwait_time64
-.type __cnd_timedwait_time64, %function;
-__cnd_timedwait_time64:
-.globl __mtx_timedlock_time64
-.type __mtx_timedlock_time64, %function;
-__mtx_timedlock_time64:
-.weak __pthread_cond_timedwait_time64
-.type __pthread_cond_timedwait_time64, %function;
-__pthread_cond_timedwait_time64:
-.weak __pthread_timedjoin_np_time64
-.type __pthread_timedjoin_np_time64, %function;
-__pthread_timedjoin_np_time64:
-.weak __pthread_mutex_timedlock_time64
-.type __pthread_mutex_timedlock_time64, %function;
-__pthread_mutex_timedlock_time64:
-.weak __pthread_rwlock_timedrdlock_time64
-.type __pthread_rwlock_timedrdlock_time64, %function;
-__pthread_rwlock_timedrdlock_time64:
-.weak __pthread_rwlock_timedwrlock_time64
-.type __pthread_rwlock_timedwrlock_time64, %function;
-__pthread_rwlock_timedwrlock_time64:
-.globl __sem_timedwait_time64
-.type __sem_timedwait_time64, %function;
-__sem_timedwait_time64:
-.globl __thrd_sleep_time64
-.type __thrd_sleep_time64, %function;
-__thrd_sleep_time64:
-.globl __clock_getres_time64
-.type __clock_getres_time64, %function;
-__clock_getres_time64:
-.weak __clock_gettime64
-.type __clock_gettime64, %function;
-__clock_gettime64:
-.weak __clock_nanosleep_time64
-.type __clock_nanosleep_time64, %function;
-__clock_nanosleep_time64:
-.globl __clock_settime64
-.type __clock_settime64, %function;
-__clock_settime64:
-.globl __ctime64
-.type __ctime64, %function;
-__ctime64:
-.globl __ctime64_r
-.type __ctime64_r, %function;
-__ctime64_r:
-.globl __difftime64
-.type __difftime64, %function;
-__difftime64:
-.globl __ftime64
-.type __ftime64, %function;
-__ftime64:
-.globl __gettimeofday_time64
-.type __gettimeofday_time64, %function;
-__gettimeofday_time64:
-.globl __gmtime64
-.type __gmtime64, %function;
-__gmtime64:
-.weak __gmtime64_r
-.type __gmtime64_r, %function;
-__gmtime64_r:
-.globl __localtime64
-.type __localtime64, %function;
-__localtime64:
-.weak __localtime64_r
-.type __localtime64_r, %function;
-__localtime64_r:
-.globl __mktime64
-.type __mktime64, %function;
-__mktime64:
-.globl __nanosleep_time64
-.type __nanosleep_time64, %function;
-__nanosleep_time64:
-.globl __time64
-.type __time64, %function;
-__time64:
-.globl __timegm_time64
-.type __timegm_time64, %function;
-__timegm_time64:
-.globl __timer_gettime64
-.type __timer_gettime64, %function;
-__timer_gettime64:
-.globl __timer_settime64
-.type __timer_settime64, %function;
-__timer_settime64:
-.globl __timespec_get_time64
-.type __timespec_get_time64, %function;
-__timespec_get_time64:
-.globl __utime64
-.type __utime64, %function;
-__utime64:
-#endif
-#if !defined(ARCH_riscv64) && !defined(ARCH_mips) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
-.globl arch_prctl
-.type arch_prctl, %function;
-arch_prctl:
-#endif
-#if !defined(ARCH_riscv64) && !defined(ARCH_mips) && !defined(ARCH_x86_64) && !defined(ARCH_powerpc) && !defined(ARCH_powerpc64) && !defined(ARCH_aarch64)
-.globl ___tls_get_addr
-.type ___tls_get_addr, %function;
-___tls_get_addr:
-#endif
+.globl wscanf
+.type wscanf, %function;
+wscanf:
+.globl y0
+.type y0, %function;
+y0:
+.globl y0f
+.type y0f, %function;
+y0f:
+.globl y1
+.type y1, %function;
+y1:
+.globl y1f
+.type y1f, %function;
+y1f:
+.globl yn
+.type yn, %function;
+yn:
+.globl ynf
+.type ynf, %function;
+ynf:
diff --git a/lib/libc/musl/src/complex/cacosf.c b/lib/libc/musl/src/complex/cacosf.c
index 2e048540fa..ed8acf0f5a 100644
--- a/lib/libc/musl/src/complex/cacosf.c
+++ b/lib/libc/musl/src/complex/cacosf.c
@@ -2,8 +2,10 @@
// FIXME
+static const float float_pi_2 = M_PI_2;
+
float complex cacosf(float complex z)
{
z = casinf(z);
- return CMPLXF((float)M_PI_2 - crealf(z), -cimagf(z));
+ return CMPLXF(float_pi_2 - crealf(z), -cimagf(z));
}
diff --git a/lib/libc/musl/src/complex/catanf.c b/lib/libc/musl/src/complex/catanf.c
index ef3907a506..1d569f2dac 100644
--- a/lib/libc/musl/src/complex/catanf.c
+++ b/lib/libc/musl/src/complex/catanf.c
@@ -61,13 +61,15 @@ static const double DP1 = 3.140625;
static const double DP2 = 9.67502593994140625E-4;
static const double DP3 = 1.509957990978376432E-7;
+static const float float_pi = M_PI;
+
static float _redupif(float xx)
{
float x, t;
long i;
x = xx;
- t = x/(float)M_PI;
+ t = x/float_pi;
if (t >= 0.0f)
t += 0.5f;
else
diff --git a/lib/libc/musl/src/complex/cproj.c b/lib/libc/musl/src/complex/cproj.c
index 9ae1e17c0d..d2b8f5a972 100644
--- a/lib/libc/musl/src/complex/cproj.c
+++ b/lib/libc/musl/src/complex/cproj.c
@@ -3,6 +3,6 @@
double complex cproj(double complex z)
{
if (isinf(creal(z)) || isinf(cimag(z)))
- return CMPLX(INFINITY, copysign(0.0, creal(z)));
+ return CMPLX(INFINITY, copysign(0.0, cimag(z)));
return z;
}
diff --git a/lib/libc/musl/src/complex/cprojf.c b/lib/libc/musl/src/complex/cprojf.c
index 03fab339d9..15a874bb2f 100644
--- a/lib/libc/musl/src/complex/cprojf.c
+++ b/lib/libc/musl/src/complex/cprojf.c
@@ -3,6 +3,6 @@
float complex cprojf(float complex z)
{
if (isinf(crealf(z)) || isinf(cimagf(z)))
- return CMPLXF(INFINITY, copysignf(0.0, crealf(z)));
+ return CMPLXF(INFINITY, copysignf(0.0, cimagf(z)));
return z;
}
diff --git a/lib/libc/musl/src/complex/cprojl.c b/lib/libc/musl/src/complex/cprojl.c
index 38a494c5c4..531ffa1c5e 100644
--- a/lib/libc/musl/src/complex/cprojl.c
+++ b/lib/libc/musl/src/complex/cprojl.c
@@ -9,7 +9,7 @@ long double complex cprojl(long double complex z)
long double complex cprojl(long double complex z)
{
if (isinf(creall(z)) || isinf(cimagl(z)))
- return CMPLXL(INFINITY, copysignl(0.0, creall(z)));
+ return CMPLXL(INFINITY, copysignl(0.0, cimagl(z)));
return z;
}
#endif
diff --git a/lib/libc/musl/src/ctype/nonspacing.h b/lib/libc/musl/src/ctype/nonspacing.h
index 5d05a3d1a0..7746f3b603 100644
--- a/lib/libc/musl/src/ctype/nonspacing.h
+++ b/lib/libc/musl/src/ctype/nonspacing.h
@@ -1,23 +1,23 @@
-16,16,16,18,19,20,21,22,23,24,25,26,27,28,29,30,31,16,16,32,16,16,16,33,34,35,
-36,37,38,39,16,16,40,16,16,16,16,16,16,16,16,16,16,16,41,42,16,16,43,16,16,16,
+16,16,16,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,16,33,16,16,16,34,35,36,
+37,38,39,40,16,16,41,16,16,16,16,16,16,16,16,16,16,16,42,43,16,16,44,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,44,16,45,46,47,48,16,16,16,16,16,16,16,16,16,16,
+16,16,16,16,16,16,16,16,16,16,45,16,46,47,48,49,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
+16,16,16,16,16,16,16,50,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
+16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,51,16,16,52,
+53,16,54,55,56,16,16,16,16,16,16,57,16,16,58,16,59,60,61,62,63,64,65,66,67,68,
+69,70,16,71,72,73,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
+16,74,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,49,16,16,50,
-51,16,52,53,54,16,16,16,16,16,16,55,16,16,56,16,57,58,59,60,61,62,63,64,65,66,
-67,68,16,69,70,71,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,72,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
+16,16,16,75,76,16,16,16,77,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,73,74,16,16,16,75,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,76,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,77,78,16,16,16,16,16,16,16,79,16,16,16,16,16,80,81,82,16,16,16,16,16,83,
-84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
+16,16,16,16,16,16,16,78,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
+16,16,79,80,16,16,16,16,16,16,16,81,16,16,16,16,16,82,83,84,16,16,16,16,16,85,
+86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
@@ -35,55 +35,57 @@
242,7,128,127,0,0,0,0,0,0,0,0,0,0,0,0,242,31,0,63,0,0,0,0,0,0,0,0,0,3,0,0,160,
2,0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0,0,0,0,0,
0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,
-0,0,28,0,0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,15,32,0,0,0,0,0,120,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0,0,0,64,127,
-229,31,248,159,0,0,0,0,0,0,255,127,0,0,0,0,0,0,0,0,15,0,0,0,0,0,208,23,4,0,0,
-0,0,248,15,0,3,0,0,0,60,59,0,0,0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,
+0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0,0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,
+15,32,0,0,0,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+128,9,0,0,0,0,0,0,64,127,229,31,248,159,0,0,0,0,0,0,255,127,0,0,0,0,0,0,0,0,
+15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0,0,0,0,0,64,163,3,0,0,
+0,0,0,0,240,207,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,
+3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,
251,0,248,0,0,0,124,0,0,0,0,0,0,223,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,
255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,
0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,128,247,63,0,0,0,192,0,0,0,0,0,0,0,0,0,0,3,0,68,8,0,0,96,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0,128,255,3,0,
-0,0,0,0,7,0,0,0,0,0,200,51,0,0,0,0,32,0,0,0,0,0,0,0,0,126,102,0,8,16,0,0,0,0,
-0,16,0,0,0,0,0,0,157,193,2,0,0,0,0,48,64,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,110,240,0,0,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,
-0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,255,
-127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38,0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,
-0,0,0,0,0,0,8,0,3,0,0,0,0,0,192,127,0,30,0,0,0,0,0,0,0,0,0,0,0,128,211,64,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0,3,0,0,0,0,0,0,24,1,0,0,0,192,
-31,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0,0,
-0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,60,176,1,0,0,48,0,0,0,
-0,0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,0,0,0,0,0,0,0,0,0,0,
-0,224,188,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-128,255,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,
-126,14,0,0,0,0,0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191,0,0,0,
-0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,180,191,0,
-0,0,0,0,0,0,0,0,163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,
-0,0,0,0,0,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,
-0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255,231,15,0,0,0,60,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,
-254,255,0,0,0,0,0,0,0,0,0,
-0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,240,7,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,7,0,0,0,0,0,200,51,0,0,0,0,32,0,0,
+0,0,0,0,0,0,126,102,0,8,16,0,0,0,0,0,16,0,0,0,0,0,0,157,193,2,0,0,0,0,48,64,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,
+64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,
+255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,1,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,
+0,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,240,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,1,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,
+3,0,0,0,0,0,120,38,0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0,3,0,
+0,0,0,0,192,127,0,30,0,0,0,0,0,0,0,0,0,0,0,128,211,64,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,128,248,7,0,0,3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0,0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0,0,0,0,0,0,0,
+248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0,0,252,
+127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191,0,0,0,0,0,0,0,0,0,0,252,255,
+255,252,109,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,
+1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,128,7,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255,231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,
+255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0,0,
+0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,240,7,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
diff --git a/lib/libc/musl/src/env/__libc_start_main.c b/lib/libc/musl/src/env/__libc_start_main.c
index 8fbe526271..c5b277bdcf 100644
--- a/lib/libc/musl/src/env/__libc_start_main.c
+++ b/lib/libc/musl/src/env/__libc_start_main.c
@@ -69,7 +69,8 @@ weak_alias(libc_start_init, __libc_start_init);
typedef int lsm2_fn(int (*)(int,char **,char **), int, char **);
static lsm2_fn libc_start_main_stage2;
-int __libc_start_main(int (*main)(int,char **,char **), int argc, char **argv)
+int __libc_start_main(int (*main)(int,char **,char **), int argc, char **argv,
+ void (*init_dummy)(), void(*fini_dummy)(), void(*ldso_dummy)())
{
char **envp = argv+argc+1;
diff --git a/lib/libc/musl/src/env/__stack_chk_fail.c b/lib/libc/musl/src/env/__stack_chk_fail.c
index bf5a280ad9..e53526020f 100644
--- a/lib/libc/musl/src/env/__stack_chk_fail.c
+++ b/lib/libc/musl/src/env/__stack_chk_fail.c
@@ -9,6 +9,15 @@ void __init_ssp(void *entropy)
if (entropy) memcpy(&__stack_chk_guard, entropy, sizeof(uintptr_t));
else __stack_chk_guard = (uintptr_t)&__stack_chk_guard * 1103515245;
+#if UINTPTR_MAX >= 0xffffffffffffffff
+ /* Sacrifice 8 bits of entropy on 64bit to prevent leaking/
+ * overwriting the canary via string-manipulation functions.
+ * The NULL byte is on the second byte so that off-by-ones can
+ * still be detected. Endianness is taken care of
+ * automatically. */
+ ((char *)&__stack_chk_guard)[1] = 0;
+#endif
+
__pthread_self()->canary = __stack_chk_guard;
}
diff --git a/lib/libc/musl/src/errno/__strerror.h b/lib/libc/musl/src/errno/__strerror.h
index 2d992da554..14925907b5 100644
--- a/lib/libc/musl/src/errno/__strerror.h
+++ b/lib/libc/musl/src/errno/__strerror.h
@@ -102,3 +102,7 @@ E(EDQUOT, "Quota exceeded")
E(ENOMEDIUM, "No medium found")
E(EMEDIUMTYPE, "Wrong medium type")
E(EMULTIHOP, "Multihop attempted")
+E(ENOKEY, "Required key not available")
+E(EKEYEXPIRED, "Key has expired")
+E(EKEYREVOKED, "Key has been revoked")
+E(EKEYREJECTED, "Key was rejected by service")
diff --git a/lib/libc/musl/src/fenv/powerpc/fenv-sf.c b/lib/libc/musl/src/fenv/powerpc/fenv-sf.c
index 85bef40f10..d4248f26f7 100644
--- a/lib/libc/musl/src/fenv/powerpc/fenv-sf.c
+++ b/lib/libc/musl/src/fenv/powerpc/fenv-sf.c
@@ -1,3 +1,3 @@
-#ifdef _SOFT_FLOAT
+#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__)
#include "../fenv.c"
#endif
diff --git a/lib/libc/musl/src/fenv/powerpc/fenv.S b/lib/libc/musl/src/fenv/powerpc/fenv.S
index 22cea216a0..55055d0b3a 100644
--- a/lib/libc/musl/src/fenv/powerpc/fenv.S
+++ b/lib/libc/musl/src/fenv/powerpc/fenv.S
@@ -1,4 +1,4 @@
-#ifndef _SOFT_FLOAT
+#if !defined(_SOFT_FLOAT) && !defined(__NO_FPRS__)
.global feclearexcept
.type feclearexcept,@function
feclearexcept:
diff --git a/lib/libc/musl/src/include/stdlib.h b/lib/libc/musl/src/include/stdlib.h
index e9da20158c..812b04de2f 100644
--- a/lib/libc/musl/src/include/stdlib.h
+++ b/lib/libc/musl/src/include/stdlib.h
@@ -8,6 +8,7 @@ hidden void __env_rm_add(char *, char *);
hidden int __mkostemps(char *, int, int);
hidden int __ptsname_r(int, char *, size_t);
hidden char *__randname(char *);
+hidden void __qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
hidden void *__libc_malloc(size_t);
hidden void *__libc_malloc_impl(size_t);
diff --git a/lib/libc/musl/src/internal/version.h b/lib/libc/musl/src/internal/version.h
index b23e8e2963..a9327dd446 100644
--- a/lib/libc/musl/src/internal/version.h
+++ b/lib/libc/musl/src/internal/version.h
@@ -1 +1 @@
-#define VERSION "1.2.2"
+#define VERSION "1.2.3"
diff --git a/lib/libc/musl/src/ldso/dl_iterate_phdr.c b/lib/libc/musl/src/ldso/dl_iterate_phdr.c
index 86c87ef835..9546dd3609 100644
--- a/lib/libc/musl/src/ldso/dl_iterate_phdr.c
+++ b/lib/libc/musl/src/ldso/dl_iterate_phdr.c
@@ -1,5 +1,6 @@
#include <elf.h>
#include <link.h>
+#include "pthread_impl.h"
#include "libc.h"
#define AUX_CNT 38
@@ -35,7 +36,7 @@ static int static_dl_iterate_phdr(int(*callback)(struct dl_phdr_info *info, size
info.dlpi_subs = 0;
if (tls_phdr) {
info.dlpi_tls_modid = 1;
- info.dlpi_tls_data = (void *)(base + tls_phdr->p_vaddr);
+ info.dlpi_tls_data = __tls_get_addr((tls_mod_off_t[]){1,0});
} else {
info.dlpi_tls_modid = 0;
info.dlpi_tls_data = 0;
diff --git a/lib/libc/musl/src/legacy/cuserid.c b/lib/libc/musl/src/legacy/cuserid.c
index 4e78798ded..dcaf73d4e6 100644
--- a/lib/libc/musl/src/legacy/cuserid.c
+++ b/lib/libc/musl/src/legacy/cuserid.c
@@ -2,13 +2,21 @@
#include <pwd.h>
#include <stdio.h>
#include <unistd.h>
+#include <string.h>
char *cuserid(char *buf)
{
+ static char usridbuf[L_cuserid];
struct passwd pw, *ppw;
long pwb[256];
- if (getpwuid_r(geteuid(), &pw, (void *)pwb, sizeof pwb, &ppw))
- return 0;
- snprintf(buf, L_cuserid, "%s", pw.pw_name);
+ if (buf) *buf = 0;
+ getpwuid_r(geteuid(), &pw, (void *)pwb, sizeof pwb, &ppw);
+ if (!ppw)
+ return buf;
+ size_t len = strnlen(pw.pw_name, L_cuserid);
+ if (len == L_cuserid)
+ return buf;
+ if (!buf) buf = usridbuf;
+ memcpy(buf, pw.pw_name, len+1);
return buf;
}
diff --git a/lib/libc/musl/src/linux/epoll.c b/lib/libc/musl/src/linux/epoll.c
index deff5b101a..93baa8147e 100644
--- a/lib/libc/musl/src/linux/epoll.c
+++ b/lib/libc/musl/src/linux/epoll.c
@@ -24,9 +24,9 @@ int epoll_ctl(int fd, int op, int fd2, struct epoll_event *ev)
int epoll_pwait(int fd, struct epoll_event *ev, int cnt, int to, const sigset_t *sigs)
{
- int r = __syscall(SYS_epoll_pwait, fd, ev, cnt, to, sigs, _NSIG/8);
+ int r = __syscall_cp(SYS_epoll_pwait, fd, ev, cnt, to, sigs, _NSIG/8);
#ifdef SYS_epoll_wait
- if (r==-ENOSYS && !sigs) r = __syscall(SYS_epoll_wait, fd, ev, cnt, to);
+ if (r==-ENOSYS && !sigs) r = __syscall_cp(SYS_epoll_wait, fd, ev, cnt, to);
#endif
return __syscall_ret(r);
}
diff --git a/lib/libc/musl/src/locale/dcngettext.c b/lib/libc/musl/src/locale/dcngettext.c
index d1e6c6d13a..0b53286db7 100644
--- a/lib/libc/musl/src/locale/dcngettext.c
+++ b/lib/libc/musl/src/locale/dcngettext.c
@@ -132,6 +132,9 @@ char *dcngettext(const char *domainname, const char *msgid1, const char *msgid2,
struct binding *q;
int old_errno = errno;
+ /* match gnu gettext behaviour */
+ if (!msgid1) goto notrans;
+
if ((unsigned)category >= LC_ALL) goto notrans;
if (!domainname) domainname = __gettextdomain();
diff --git a/lib/libc/musl/src/locale/duplocale.c b/lib/libc/musl/src/locale/duplocale.c
index 030b64cb0e..5ce33ae6de 100644
--- a/lib/libc/musl/src/locale/duplocale.c
+++ b/lib/libc/musl/src/locale/duplocale.c
@@ -3,6 +3,11 @@
#include "locale_impl.h"
#include "libc.h"
+#define malloc __libc_malloc
+#define calloc undef
+#define realloc undef
+#define free undef
+
locale_t __duplocale(locale_t old)
{
locale_t new = malloc(sizeof *new);
diff --git a/lib/libc/musl/src/locale/strtod_l.c b/lib/libc/musl/src/locale/strtod_l.c
new file mode 100644
index 0000000000..574ba148e0
--- /dev/null
+++ b/lib/libc/musl/src/locale/strtod_l.c
@@ -0,0 +1,22 @@
+#define _GNU_SOURCE
+#include <stdlib.h>
+#include <locale.h>
+
+float strtof_l(const char *restrict s, char **restrict p, locale_t l)
+{
+ return strtof(s, p);
+}
+
+double strtod_l(const char *restrict s, char **restrict p, locale_t l)
+{
+ return strtod(s, p);
+}
+
+long double strtold_l(const char *restrict s, char **restrict p, locale_t l)
+{
+ return strtold(s, p);
+}
+
+weak_alias(strtof_l, __strtof_l);
+weak_alias(strtod_l, __strtod_l);
+weak_alias(strtold_l, __strtold_l);
diff --git a/lib/libc/musl/src/malloc/free.c b/lib/libc/musl/src/malloc/free.c
index f17a952cb4..3944f7b28f 100644
--- a/lib/libc/musl/src/malloc/free.c
+++ b/lib/libc/musl/src/malloc/free.c
@@ -2,5 +2,5 @@
void free(void *p)
{
- return __libc_free(p);
+ __libc_free(p);
}
diff --git a/lib/libc/musl/src/malloc/mallocng/aligned_alloc.c b/lib/libc/musl/src/malloc/mallocng/aligned_alloc.c
index 3411689600..e0862a83ae 100644
--- a/lib/libc/musl/src/malloc/mallocng/aligned_alloc.c
+++ b/lib/libc/musl/src/malloc/mallocng/aligned_alloc.c
@@ -22,6 +22,9 @@ void *aligned_alloc(size_t align, size_t len)
if (align <= UNIT) align = UNIT;
unsigned char *p = malloc(len + align - UNIT);
+ if (!p)
+ return 0;
+
struct meta *g = get_meta(p);
int idx = get_slot_index(p);
size_t stride = get_stride(g);
diff --git a/lib/libc/musl/src/malloc/mallocng/free.c b/lib/libc/musl/src/malloc/mallocng/free.c
index 40745f97da..418a085c18 100644
--- a/lib/libc/musl/src/malloc/mallocng/free.c
+++ b/lib/libc/musl/src/malloc/mallocng/free.c
@@ -119,7 +119,11 @@ void free(void *p)
if (((uintptr_t)(start-1) ^ (uintptr_t)end) >= 2*PGSZ && g->last_idx) {
unsigned char *base = start + (-(uintptr_t)start & (PGSZ-1));
size_t len = (end-base) & -PGSZ;
- if (len) madvise(base, len, MADV_FREE);
+ if (len) {
+ int e = errno;
+ madvise(base, len, MADV_FREE);
+ errno = e;
+ }
}
// atomic free without locking if this is neither first or last slot
@@ -139,5 +143,9 @@ void free(void *p)
wrlock();
struct mapinfo mi = nontrivial_free(g, idx);
unlock();
- if (mi.len) munmap(mi.base, mi.len);
+ if (mi.len) {
+ int e = errno;
+ munmap(mi.base, mi.len);
+ errno = e;
+ }
}
diff --git a/lib/libc/musl/src/malloc/oldmalloc/malloc.c b/lib/libc/musl/src/malloc/oldmalloc/malloc.c
index 53f5f959ec..25d00d44de 100644
--- a/lib/libc/musl/src/malloc/oldmalloc/malloc.c
+++ b/lib/libc/musl/src/malloc/oldmalloc/malloc.c
@@ -11,7 +11,7 @@
#include "malloc_impl.h"
#include "fork_impl.h"
-#define malloc __libc_malloc
+#define malloc __libc_malloc_impl
#define realloc __libc_realloc
#define free __libc_free
@@ -481,12 +481,14 @@ void __bin_chunk(struct chunk *self)
if (size > RECLAIM && (size^(size-osize)) > size-osize) {
uintptr_t a = (uintptr_t)self + SIZE_ALIGN+PAGE_SIZE-1 & -PAGE_SIZE;
uintptr_t b = (uintptr_t)next - SIZE_ALIGN & -PAGE_SIZE;
+ int e = errno;
#if 1
__madvise((void *)a, b-a, MADV_DONTNEED);
#else
__mmap((void *)a, b-a, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, -1, 0);
#endif
+ errno = e;
}
unlock_bin(i);
@@ -499,7 +501,9 @@ static void unmap_chunk(struct chunk *self)
size_t len = CHUNK_SIZE(self) + extra;
/* Crash on double free */
if (extra & 1) a_crash();
+ int e = errno;
__munmap(base, len);
+ errno = e;
}
void free(void *p)
diff --git a/lib/libc/musl/src/math/acoshf.c b/lib/libc/musl/src/math/acoshf.c
index 8a4ec4d57e..b773d48e2b 100644
--- a/lib/libc/musl/src/math/acoshf.c
+++ b/lib/libc/musl/src/math/acoshf.c
@@ -15,12 +15,12 @@ float acoshf(float x)
uint32_t a = u.i & 0x7fffffff;
if (a < 0x3f800000+(1<<23))
- /* |x| < 2, invalid if x < 1 or nan */
+ /* |x| < 2, invalid if x < 1 */
/* up to 2ulp error in [1,1.125] */
return log1pf(x-1 + sqrtf((x-1)*(x-1)+2*(x-1)));
- if (a < 0x3f800000+(12<<23))
- /* |x| < 0x1p12 */
+ if (u.i < 0x3f800000+(12<<23))
+ /* 2 <= x < 0x1p12 */
return logf(2*x - 1/(x+sqrtf(x*x-1)));
- /* x >= 0x1p12 */
+ /* x >= 0x1p12 or x <= -2 or nan */
return logf(x) + 0.693147180559945309417232121458176568f;
}
diff --git a/lib/libc/musl/src/math/expm1f.c b/lib/libc/musl/src/math/expm1f.c
index 297e0b44a2..09a41afe7d 100644
--- a/lib/libc/musl/src/math/expm1f.c
+++ b/lib/libc/musl/src/math/expm1f.c
@@ -16,7 +16,6 @@
#include "libm.h"
static const float
-o_threshold = 8.8721679688e+01, /* 0x42b17180 */
ln2_hi = 6.9313812256e-01, /* 0x3f317180 */
ln2_lo = 9.0580006145e-06, /* 0x3717f7d1 */
invln2 = 1.4426950216e+00, /* 0x3fb8aa3b */
@@ -41,7 +40,7 @@ float expm1f(float x)
return x;
if (sign)
return -1;
- if (x > o_threshold) {
+ if (hx > 0x42b17217) { /* x > log(FLT_MAX) */
x *= 0x1p127f;
return x;
}
diff --git a/lib/libc/musl/src/math/fmaf.c b/lib/libc/musl/src/math/fmaf.c
index 80f5cd8a33..7c65acf1fc 100644
--- a/lib/libc/musl/src/math/fmaf.c
+++ b/lib/libc/musl/src/math/fmaf.c
@@ -77,17 +77,16 @@ float fmaf(float x, float y, float z)
* If result is inexact, and exactly halfway between two float values,
* we need to adjust the low-order bit in the direction of the error.
*/
-#ifdef FE_TOWARDZERO
- fesetround(FE_TOWARDZERO);
-#endif
- volatile double vxy = xy; /* XXX work around gcc CSE bug */
- double adjusted_result = vxy + z;
- fesetround(FE_TONEAREST);
- if (result == adjusted_result) {
- u.f = adjusted_result;
+ double err;
+ int neg = u.i >> 63;
+ if (neg == (z > xy))
+ err = xy - result + z;
+ else
+ err = z - result + xy;
+ if (neg == (err < 0))
u.i++;
- adjusted_result = u.f;
- }
- z = adjusted_result;
+ else
+ u.i--;
+ z = u.f;
return z;
}
diff --git a/lib/libc/musl/src/math/powerpc/fabs.c b/lib/libc/musl/src/math/powerpc/fabs.c
index 0efc21ef83..9453a3aa98 100644
--- a/lib/libc/musl/src/math/powerpc/fabs.c
+++ b/lib/libc/musl/src/math/powerpc/fabs.c
@@ -1,6 +1,6 @@
#include <math.h>
-#if defined(_SOFT_FLOAT) || defined(BROKEN_PPC_D_ASM)
+#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__) || defined(BROKEN_PPC_D_ASM)
#include "../fabs.c"
diff --git a/lib/libc/musl/src/math/powerpc/fabsf.c b/lib/libc/musl/src/math/powerpc/fabsf.c
index d88b5911c0..2e9da588dd 100644
--- a/lib/libc/musl/src/math/powerpc/fabsf.c
+++ b/lib/libc/musl/src/math/powerpc/fabsf.c
@@ -1,6 +1,6 @@
#include <math.h>
-#ifdef _SOFT_FLOAT
+#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__)
#include "../fabsf.c"
diff --git a/lib/libc/musl/src/math/powerpc/fma.c b/lib/libc/musl/src/math/powerpc/fma.c
index 135c990357..0eb2ba1ef5 100644
--- a/lib/libc/musl/src/math/powerpc/fma.c
+++ b/lib/libc/musl/src/math/powerpc/fma.c
@@ -1,6 +1,6 @@
#include <math.h>
-#if defined(_SOFT_FLOAT) || defined(BROKEN_PPC_D_ASM)
+#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__) || defined(BROKEN_PPC_D_ASM)
#include "../fma.c"
diff --git a/lib/libc/musl/src/math/powerpc/fmaf.c b/lib/libc/musl/src/math/powerpc/fmaf.c
index a99a2a3ba1..dc1a749d98 100644
--- a/lib/libc/musl/src/math/powerpc/fmaf.c
+++ b/lib/libc/musl/src/math/powerpc/fmaf.c
@@ -1,6 +1,6 @@
#include <math.h>
-#ifdef _SOFT_FLOAT
+#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__)
#include "../fmaf.c"
diff --git a/lib/libc/musl/src/misc/ioctl.c b/lib/libc/musl/src/misc/ioctl.c
index 492828119a..35804f026e 100644
--- a/lib/libc/musl/src/misc/ioctl.c
+++ b/lib/libc/musl/src/misc/ioctl.c
@@ -6,6 +6,7 @@
#include <stddef.h>
#include <stdint.h>
#include <string.h>
+#include <endian.h>
#include "syscall.h"
#define alignof(t) offsetof(struct { char c; t x; }, x)
@@ -53,7 +54,7 @@ static const struct ioctl_compat_map compat_map[] = {
{ _IOWR('A', 0x23, char[136]), _IOWR('A', 0x23, char[132]), 0, WR, 1, 0 },
{ 0, 0, 4, WR, 1, 0 }, /* snd_pcm_sync_ptr (flags only) */
{ 0, 0, 32, WR, 1, OFFS(8,12,16,24,28) }, /* snd_pcm_mmap_status */
- { 0, 0, 8, WR, 1, OFFS(0,4) }, /* snd_pcm_mmap_control */
+ { 0, 0, 4, WR, 1, 0 }, /* snd_pcm_mmap_control (each member) */
/* VIDIOC_QUERYBUF, VIDIOC_QBUF, VIDIOC_DQBUF, VIDIOC_PREPARE_BUF */
{ _IOWR('V', 9, new_misaligned(68)), _IOWR('V', 9, char[68]), 68, WR, 1, OFFS(20, 24) },
@@ -90,7 +91,11 @@ static void convert_ioctl_struct(const struct ioctl_compat_map *map, char *old,
* if another exception appears this needs changing. */
convert_ioctl_struct(map+1, old, new, dir);
convert_ioctl_struct(map+2, old+4, new+8, dir);
- convert_ioctl_struct(map+3, old+68, new+72, dir);
+ /* snd_pcm_mmap_control, special-cased due to kernel
+ * type definition having been botched. */
+ int adj = BYTE_ORDER==BIG_ENDIAN ? 4 : 0;
+ convert_ioctl_struct(map+3, old+68, new+72+adj, dir);
+ convert_ioctl_struct(map+3, old+72, new+76+3*adj, dir);
return;
}
for (int i=0; i < map->noffs; i++) {
diff --git a/lib/libc/musl/src/passwd/nscd_query.c b/lib/libc/musl/src/passwd/nscd_query.c
index d38e371bcd..dc3406b851 100644
--- a/lib/libc/musl/src/passwd/nscd_query.c
+++ b/lib/libc/musl/src/passwd/nscd_query.c
@@ -40,7 +40,15 @@ retry:
buf[0] = NSCDVERSION;
fd = socket(PF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0);
- if (fd < 0) return NULL;
+ if (fd < 0) {
+ if (errno == EAFNOSUPPORT) {
+ f = fopen("/dev/null", "re");
+ if (f)
+ errno = errno_save;
+ return f;
+ }
+ return 0;
+ }
if(!(f = fdopen(fd, "r"))) {
close(fd);
diff --git a/lib/libc/musl/src/process/fdop.h b/lib/libc/musl/src/process/fdop.h
index 5adf144387..7cf733b21d 100644
--- a/lib/libc/musl/src/process/fdop.h
+++ b/lib/libc/musl/src/process/fdop.h
@@ -10,3 +10,8 @@ struct fdop {
mode_t mode;
char path[];
};
+
+#define malloc __libc_malloc
+#define calloc __libc_calloc
+#define realloc undef
+#define free __libc_free
diff --git a/lib/libc/musl/src/process/posix_spawn_file_actions_addclose.c b/lib/libc/musl/src/process/posix_spawn_file_actions_addclose.c
index cdda597991..0c2ef8fa37 100644
--- a/lib/libc/musl/src/process/posix_spawn_file_actions_addclose.c
+++ b/lib/libc/musl/src/process/posix_spawn_file_actions_addclose.c
@@ -5,6 +5,7 @@
int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *fa, int fd)
{
+ if (fd < 0) return EBADF;
struct fdop *op = malloc(sizeof *op);
if (!op) return ENOMEM;
op->cmd = FDOP_CLOSE;
diff --git a/lib/libc/musl/src/process/posix_spawn_file_actions_adddup2.c b/lib/libc/musl/src/process/posix_spawn_file_actions_adddup2.c
index 0367498fd4..addca4d4f0 100644
--- a/lib/libc/musl/src/process/posix_spawn_file_actions_adddup2.c
+++ b/lib/libc/musl/src/process/posix_spawn_file_actions_adddup2.c
@@ -5,6 +5,7 @@
int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *fa, int srcfd, int fd)
{
+ if (srcfd < 0 || fd < 0) return EBADF;
struct fdop *op = malloc(sizeof *op);
if (!op) return ENOMEM;
op->cmd = FDOP_DUP2;
diff --git a/lib/libc/musl/src/process/posix_spawn_file_actions_addfchdir.c b/lib/libc/musl/src/process/posix_spawn_file_actions_addfchdir.c
index 436c683d25..e89ede8c3c 100644
--- a/lib/libc/musl/src/process/posix_spawn_file_actions_addfchdir.c
+++ b/lib/libc/musl/src/process/posix_spawn_file_actions_addfchdir.c
@@ -6,6 +6,7 @@
int posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t *fa, int fd)
{
+ if (fd < 0) return EBADF;
struct fdop *op = malloc(sizeof *op);
if (!op) return ENOMEM;
op->cmd = FDOP_FCHDIR;
diff --git a/lib/libc/musl/src/process/posix_spawn_file_actions_addopen.c b/lib/libc/musl/src/process/posix_spawn_file_actions_addopen.c
index 368922c76b..82bbcec9eb 100644
--- a/lib/libc/musl/src/process/posix_spawn_file_actions_addopen.c
+++ b/lib/libc/musl/src/process/posix_spawn_file_actions_addopen.c
@@ -6,6 +6,7 @@
int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t *restrict fa, int fd, const char *restrict path, int flags, mode_t mode)
{
+ if (fd < 0) return EBADF;
struct fdop *op = malloc(sizeof *op + strlen(path) + 1);
if (!op) return ENOMEM;
op->cmd = FDOP_OPEN;
diff --git a/lib/libc/musl/src/setjmp/powerpc/longjmp.S b/lib/libc/musl/src/setjmp/powerpc/longjmp.S
index e598bd056e..611389fed9 100644
--- a/lib/libc/musl/src/setjmp/powerpc/longjmp.S
+++ b/lib/libc/musl/src/setjmp/powerpc/longjmp.S
@@ -37,7 +37,37 @@ longjmp:
lwz 29, 72(3)
lwz 30, 76(3)
lwz 31, 80(3)
-#ifndef _SOFT_FLOAT
+#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__)
+ mflr 0
+ bl 1f
+ .hidden __hwcap
+ .long __hwcap-.
+1: mflr 4
+ lwz 5, 0(4)
+ lwzx 4, 4, 5
+ andis. 4, 4, 0x80
+ beq 1f
+ .long 0x11c35b01 /* evldd 14,88(3) */
+ .long 0x11e36301 /* ... */
+ .long 0x12036b01
+ .long 0x12237301
+ .long 0x12437b01
+ .long 0x12638301
+ .long 0x12838b01
+ .long 0x12a39301
+ .long 0x12c39b01
+ .long 0x12e3a301
+ .long 0x1303ab01
+ .long 0x1323b301
+ .long 0x1343bb01
+ .long 0x1363c301
+ .long 0x1383cb01
+ .long 0x13a3d301
+ .long 0x13c3db01
+ .long 0x13e3e301 /* evldd 31,224(3) */
+ .long 0x11a3eb01 /* evldd 13,232(3) */
+1: mtlr 0
+#else
lfd 14,88(3)
lfd 15,96(3)
lfd 16,104(3)
diff --git a/lib/libc/musl/src/setjmp/powerpc/setjmp.S b/lib/libc/musl/src/setjmp/powerpc/setjmp.S
index cd91a207f5..f1fcce339e 100644
--- a/lib/libc/musl/src/setjmp/powerpc/setjmp.S
+++ b/lib/libc/musl/src/setjmp/powerpc/setjmp.S
@@ -37,7 +37,37 @@ setjmp:
stw 29, 72(3)
stw 30, 76(3)
stw 31, 80(3)
-#ifndef _SOFT_FLOAT
+#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__)
+ mflr 0
+ bl 1f
+ .hidden __hwcap
+ .long __hwcap-.
+1: mflr 4
+ lwz 5, 0(4)
+ lwzx 4, 4, 5
+ andis. 4, 4, 0x80
+ beq 1f
+ .long 0x11c35b21 /* evstdd 14,88(3) */
+ .long 0x11e36321 /* ... */
+ .long 0x12036b21
+ .long 0x12237321
+ .long 0x12437b21
+ .long 0x12638321
+ .long 0x12838b21
+ .long 0x12a39321
+ .long 0x12c39b21
+ .long 0x12e3a321
+ .long 0x1303ab21
+ .long 0x1323b321
+ .long 0x1343bb21
+ .long 0x1363c321
+ .long 0x1383cb21
+ .long 0x13a3d321
+ .long 0x13c3db21
+ .long 0x13e3e321 /* evstdd 31,224(3) */
+ .long 0x11a3eb21 /* evstdd 13,232(3) */
+1: mtlr 0
+#else
stfd 14,88(3)
stfd 15,96(3)
stfd 16,104(3)
diff --git a/lib/libc/musl/src/signal/block.c b/lib/libc/musl/src/signal/block.c
index d7f6100134..cc8698f0bb 100644
--- a/lib/libc/musl/src/signal/block.c
+++ b/lib/libc/musl/src/signal/block.c
@@ -3,9 +3,9 @@
#include <signal.h>
static const unsigned long all_mask[] = {
-#if ULONG_MAX == 0xffffffff && _NSIG == 129
+#if ULONG_MAX == 0xffffffff && _NSIG > 65
-1UL, -1UL, -1UL, -1UL
-#elif ULONG_MAX == 0xffffffff
+#elif ULONG_MAX == 0xffffffff || _NSIG > 65
-1UL, -1UL
#else
-1UL
diff --git a/lib/libc/musl/src/stdio/fgetws.c b/lib/libc/musl/src/stdio/fgetws.c
index b08b30491a..195cb4355a 100644
--- a/lib/libc/musl/src/stdio/fgetws.c
+++ b/lib/libc/musl/src/stdio/fgetws.c
@@ -1,6 +1,5 @@
#include "stdio_impl.h"
#include <wchar.h>
-#include <errno.h>
wint_t __fgetwc_unlocked(FILE *);
@@ -12,10 +11,6 @@ wchar_t *fgetws(wchar_t *restrict s, int n, FILE *restrict f)
FLOCK(f);
- /* Setup a dummy errno so we can detect EILSEQ. This is
- * the only way to catch encoding errors in the form of a
- * partial character just before EOF. */
- errno = EAGAIN;
for (; n; n--) {
wint_t c = __fgetwc_unlocked(f);
if (c == WEOF) break;
@@ -23,7 +18,7 @@ wchar_t *fgetws(wchar_t *restrict s, int n, FILE *restrict f)
if (c == '\n') break;
}
*p = 0;
- if (ferror(f) || errno==EILSEQ) p = s;
+ if (ferror(f)) p = s;
FUNLOCK(f);
diff --git a/lib/libc/musl/src/stdio/fseek.c b/lib/libc/musl/src/stdio/fseek.c
index 439308f757..c07f7e9526 100644
--- a/lib/libc/musl/src/stdio/fseek.c
+++ b/lib/libc/musl/src/stdio/fseek.c
@@ -1,7 +1,14 @@
#include "stdio_impl.h"
+#include <errno.h>
int __fseeko_unlocked(FILE *f, off_t off, int whence)
{
+ /* Fail immediately for invalid whence argument. */
+ if (whence != SEEK_CUR && whence != SEEK_SET && whence != SEEK_END) {
+ errno = EINVAL;
+ return -1;
+ }
+
/* Adjust relative offset for unread data in buffer, if any. */
if (whence == SEEK_CUR && f->rend) off -= f->rend - f->rpos;
diff --git a/lib/libc/musl/src/stdio/getdelim.c b/lib/libc/musl/src/stdio/getdelim.c
index d2f5b15ab1..df114441c7 100644
--- a/lib/libc/musl/src/stdio/getdelim.c
+++ b/lib/libc/musl/src/stdio/getdelim.c
@@ -55,9 +55,11 @@ ssize_t getdelim(char **restrict s, size_t *restrict n, int delim, FILE *restric
*s = tmp;
*n = m;
}
- memcpy(*s+i, f->rpos, k);
- f->rpos += k;
- i += k;
+ if (k) {
+ memcpy(*s+i, f->rpos, k);
+ f->rpos += k;
+ i += k;
+ }
if (z) break;
if ((c = getc_unlocked(f)) == EOF) {
if (!i || !feof(f)) {
diff --git a/lib/libc/musl/src/stdio/popen.c b/lib/libc/musl/src/stdio/popen.c
index 92cb57ee93..3ec833941c 100644
--- a/lib/libc/musl/src/stdio/popen.c
+++ b/lib/libc/musl/src/stdio/popen.c
@@ -31,25 +31,12 @@ FILE *popen(const char *cmd, const char *mode)
__syscall(SYS_close, p[1]);
return NULL;
}
- FLOCK(f);
-
- /* If the child's end of the pipe happens to already be on the final
- * fd number to which it will be assigned (either 0 or 1), it must
- * be moved to a different fd. Otherwise, there is no safe way to
- * remove the close-on-exec flag in the child without also creating
- * a file descriptor leak race condition in the parent. */
- if (p[1-op] == 1-op) {
- int tmp = fcntl(1-op, F_DUPFD_CLOEXEC, 0);
- if (tmp < 0) {
- e = errno;
- goto fail;
- }
- __syscall(SYS_close, p[1-op]);
- p[1-op] = tmp;
- }
e = ENOMEM;
if (!posix_spawn_file_actions_init(&fa)) {
+ for (FILE *l = *__ofl_lock(); l; l=l->next)
+ if (l->pipe_pid && posix_spawn_file_actions_addclose(&fa, l->fd))
+ goto fail;
if (!posix_spawn_file_actions_adddup2(&fa, p[1-op], 1-op)) {
if (!(e = posix_spawn(&pid, "/bin/sh", &fa, 0,
(char *[]){ "sh", "-c", (char *)cmd, 0 }, __environ))) {
@@ -58,13 +45,14 @@ FILE *popen(const char *cmd, const char *mode)
if (!strchr(mode, 'e'))
fcntl(p[op], F_SETFD, 0);
__syscall(SYS_close, p[1-op]);
- FUNLOCK(f);
+ __ofl_unlock();
return f;
}
}
+fail:
+ __ofl_unlock();
posix_spawn_file_actions_destroy(&fa);
}
-fail:
fclose(f);
__syscall(SYS_close, p[1-op]);
diff --git a/lib/libc/musl/src/stdlib/qsort.c b/lib/libc/musl/src/stdlib/qsort.c
index da58fd3177..314ddc29da 100644
--- a/lib/libc/musl/src/stdlib/qsort.c
+++ b/lib/libc/musl/src/stdlib/qsort.c
@@ -24,6 +24,7 @@
/* Smoothsort, an adaptive variant of Heapsort. Memory usage: O(1).
Run time: Worst case O(n log n), close to O(n) in the mostly-sorted case. */
+#define _BSD_SOURCE
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
@@ -31,7 +32,7 @@
#include "atomic.h"
#define ntz(x) a_ctz_l((x))
-typedef int (*cmpfun)(const void *, const void *);
+typedef int (*cmpfun)(const void *, const void *, void *);
static inline int pntz(size_t p[2]) {
int r = ntz(p[0] - 1);
@@ -88,7 +89,7 @@ static inline void shr(size_t p[2], int n)
p[1] >>= n;
}
-static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size_t lp[])
+static void sift(unsigned char *head, size_t width, cmpfun cmp, void *arg, int pshift, size_t lp[])
{
unsigned char *rt, *lf;
unsigned char *ar[14 * sizeof(size_t) + 1];
@@ -99,10 +100,10 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
rt = head - width;
lf = head - width - lp[pshift - 2];
- if((*cmp)(ar[0], lf) >= 0 && (*cmp)(ar[0], rt) >= 0) {
+ if(cmp(ar[0], lf, arg) >= 0 && cmp(ar[0], rt, arg) >= 0) {
break;
}
- if((*cmp)(lf, rt) >= 0) {
+ if(cmp(lf, rt, arg) >= 0) {
ar[i++] = lf;
head = lf;
pshift -= 1;
@@ -115,7 +116,7 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
cycle(width, ar, i);
}
-static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2], int pshift, int trusty, size_t lp[])
+static void trinkle(unsigned char *head, size_t width, cmpfun cmp, void *arg, size_t pp[2], int pshift, int trusty, size_t lp[])
{
unsigned char *stepson,
*rt, *lf;
@@ -130,13 +131,13 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
ar[0] = head;
while(p[0] != 1 || p[1] != 0) {
stepson = head - lp[pshift];
- if((*cmp)(stepson, ar[0]) <= 0) {
+ if(cmp(stepson, ar[0], arg) <= 0) {
break;
}
if(!trusty && pshift > 1) {
rt = head - width;
lf = head - width - lp[pshift - 2];
- if((*cmp)(rt, stepson) >= 0 || (*cmp)(lf, stepson) >= 0) {
+ if(cmp(rt, stepson, arg) >= 0 || cmp(lf, stepson, arg) >= 0) {
break;
}
}
@@ -150,11 +151,11 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
}
if(!trusty) {
cycle(width, ar, i);
- sift(head, width, cmp, pshift, lp);
+ sift(head, width, cmp, arg, pshift, lp);
}
}
-void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+void __qsort_r(void *base, size_t nel, size_t width, cmpfun cmp, void *arg)
{
size_t lp[12*sizeof(size_t)];
size_t i, size = width * nel;
@@ -173,16 +174,16 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
while(head < high) {
if((p[0] & 3) == 3) {
- sift(head, width, cmp, pshift, lp);
+ sift(head, width, cmp, arg, pshift, lp);
shr(p, 2);
pshift += 2;
} else {
if(lp[pshift - 1] >= high - head) {
- trinkle(head, width, cmp, p, pshift, 0, lp);
+ trinkle(head, width, cmp, arg, p, pshift, 0, lp);
} else {
- sift(head, width, cmp, pshift, lp);
+ sift(head, width, cmp, arg, pshift, lp);
}
-
+
if(pshift == 1) {
shl(p, 1);
pshift = 0;
@@ -191,12 +192,12 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
pshift = 1;
}
}
-
+
p[0] |= 1;
head += width;
}
- trinkle(head, width, cmp, p, pshift, 0, lp);
+ trinkle(head, width, cmp, arg, p, pshift, 0, lp);
while(pshift != 1 || p[0] != 1 || p[1] != 0) {
if(pshift <= 1) {
@@ -208,11 +209,13 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
pshift -= 2;
p[0] ^= 7;
shr(p, 1);
- trinkle(head - lp[pshift] - width, width, cmp, p, pshift + 1, 1, lp);
+ trinkle(head - lp[pshift] - width, width, cmp, arg, p, pshift + 1, 1, lp);
shl(p, 1);
p[0] |= 1;
- trinkle(head - width, width, cmp, p, pshift, 1, lp);
+ trinkle(head - width, width, cmp, arg, p, pshift, 1, lp);
}
head -= width;
}
}
+
+weak_alias(__qsort_r, qsort_r);
diff --git a/lib/libc/musl/src/stdlib/qsort_nr.c b/lib/libc/musl/src/stdlib/qsort_nr.c
new file mode 100644
index 0000000000..efe7ccecd1
--- /dev/null
+++ b/lib/libc/musl/src/stdlib/qsort_nr.c
@@ -0,0 +1,14 @@
+#define _BSD_SOURCE
+#include <stdlib.h>
+
+typedef int (*cmpfun)(const void *, const void *);
+
+static int wrapper_cmp(const void *v1, const void *v2, void *cmp)
+{
+ return ((cmpfun)cmp)(v1, v2);
+}
+
+void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+{
+ __qsort_r(base, nel, width, wrapper_cmp, cmp);
+}
diff --git a/lib/libc/musl/src/stdlib/strtod.c b/lib/libc/musl/src/stdlib/strtod.c
index a5d0118a2d..39b9daada8 100644
--- a/lib/libc/musl/src/stdlib/strtod.c
+++ b/lib/libc/musl/src/stdlib/strtod.c
@@ -28,10 +28,3 @@ long double strtold(const char *restrict s, char **restrict p)
{
return strtox(s, p, 2);
}
-
-weak_alias(strtof, strtof_l);
-weak_alias(strtod, strtod_l);
-weak_alias(strtold, strtold_l);
-weak_alias(strtof, __strtof_l);
-weak_alias(strtod, __strtod_l);
-weak_alias(strtold, __strtold_l);
diff --git a/lib/libc/musl/src/thread/pthread_getname_np.c b/lib/libc/musl/src/thread/pthread_getname_np.c
new file mode 100644
index 0000000000..85504e45dc
--- /dev/null
+++ b/lib/libc/musl/src/thread/pthread_getname_np.c
@@ -0,0 +1,25 @@
+#define _GNU_SOURCE
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/prctl.h>
+
+#include "pthread_impl.h"
+
+int pthread_getname_np(pthread_t thread, char *name, size_t len)
+{
+ int fd, cs, status = 0;
+ char f[sizeof "/proc/self/task//comm" + 3*sizeof(int)];
+
+ if (len < 16) return ERANGE;
+
+ if (thread == pthread_self())
+ return prctl(PR_GET_NAME, (unsigned long)name, 0UL, 0UL, 0UL) ? errno : 0;
+
+ snprintf(f, sizeof f, "/proc/self/task/%d/comm", thread->tid);
+ pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
+ if ((fd = open(f, O_RDONLY|O_CLOEXEC)) < 0 || (len = read(fd, name, len)) == -1) status = errno;
+ else name[len-1] = 0; /* remove trailing new line only if successful */
+ if (fd >= 0) close(fd);
+ pthread_setcancelstate(cs, 0);
+ return status;
+}
diff --git a/lib/libc/musl/src/thread/pthread_setname_np.c b/lib/libc/musl/src/thread/pthread_setname_np.c
index 82d35e17ed..fc2d230618 100644
--- a/lib/libc/musl/src/thread/pthread_setname_np.c
+++ b/lib/libc/musl/src/thread/pthread_setname_np.c
@@ -19,7 +19,7 @@ int pthread_setname_np(pthread_t thread, const char *name)
snprintf(f, sizeof f, "/proc/self/task/%d/comm", thread->tid);
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
- if ((fd = open(f, O_WRONLY)) < 0 || write(fd, name, len) < 0) status = errno;
+ if ((fd = open(f, O_WRONLY|O_CLOEXEC)) < 0 || write(fd, name, len) < 0) status = errno;
if (fd >= 0) close(fd);
pthread_setcancelstate(cs, 0);
return status;
diff --git a/lib/libc/musl/src/time/__tz.c b/lib/libc/musl/src/time/__tz.c
index 09a6317e6b..c34b3eb755 100644
--- a/lib/libc/musl/src/time/__tz.c
+++ b/lib/libc/musl/src/time/__tz.c
@@ -4,6 +4,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
+#include <ctype.h>
#include "libc.h"
#include "lock.h"
#include "fork_impl.h"
@@ -154,10 +155,21 @@ static void do_tzset()
}
if (old_tz) memcpy(old_tz, s, i+1);
+ int posix_form = 0;
+ if (*s != ':') {
+ p = s;
+ char dummy_name[TZNAME_MAX+1];
+ getname(dummy_name, &p);
+ if (p!=s && (*p == '+' || *p == '-' || isdigit(*p)
+ || !strcmp(dummy_name, "UTC")
+ || !strcmp(dummy_name, "GMT")))
+ posix_form = 1;
+ }
+
/* Non-suid can use an absolute tzfile pathname or a relative
* pathame beginning with "."; in secure mode, only the
* standard path will be searched. */
- if (*s == ':' || ((p=strchr(s, '/')) && !memchr(s, ',', p-s))) {
+ if (!posix_form) {
if (*s == ':') s++;
if (*s == '/' || *s == '.') {
if (!libc.secure || !strcmp(s, "/etc/localtime"))
@@ -281,22 +293,20 @@ static size_t scan_trans(long long t, int local, size_t *alt)
n = (index-trans)>>scale;
if (a == n-1) return -1;
if (a == 0) {
- x = zi_read32(trans + (a<<scale));
- if (scale == 3) x = x<<32 | zi_read32(trans + (a<<scale) + 4);
+ x = zi_read32(trans);
+ if (scale == 3) x = x<<32 | zi_read32(trans + 4);
else x = (int32_t)x;
- if (local) off = (int32_t)zi_read32(types + 6 * index[a-1]);
+ /* Find the lowest non-DST type, or 0 if none. */
+ size_t j = 0;
+ for (size_t i=abbrevs-types; i; i-=6) {
+ if (!types[i-6+4]) j = i-6;
+ }
+ if (local) off = (int32_t)zi_read32(types + j);
+ /* If t is before first transition, use the above-found type
+ * and the index-zero (after transition) type as the alt. */
if (t - off < (int64_t)x) {
- for (a=0; a<(abbrevs-types)/6; a++) {
- if (types[6*a+4] != types[4]) break;
- }
- if (a == (abbrevs-types)/6) a = 0;
- if (types[6*a+4]) {
- *alt = a;
- return 0;
- } else {
- *alt = 0;
- return a;
- }
+ if (alt) *alt = index[0];
+ return j/6;
}
}
diff --git a/lib/libc/musl/src/unistd/nice.c b/lib/libc/musl/src/unistd/nice.c
index 6c25c8c326..1c2295ffc6 100644
--- a/lib/libc/musl/src/unistd/nice.c
+++ b/lib/libc/musl/src/unistd/nice.c
@@ -1,4 +1,5 @@
#include <unistd.h>
+#include <errno.h>
#include <sys/resource.h>
#include <limits.h>
#include "syscall.h"
@@ -12,5 +13,11 @@ int nice(int inc)
prio += getpriority(PRIO_PROCESS, 0);
if (prio > NZERO-1) prio = NZERO-1;
if (prio < -NZERO) prio = -NZERO;
- return setpriority(PRIO_PROCESS, 0, prio) ? -1 : prio;
+ if (setpriority(PRIO_PROCESS, 0, prio)) {
+ if (errno == EACCES)
+ errno = EPERM;
+ return -1;
+ } else {
+ return prio;
+ }
}