@zigc/lib 0.16.0-dev.3013 → 0.16.0-dev.3039

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +1 -5
  2. package/compiler/build_runner.zig +10 -5
  3. package/libc/darwin/SDKSettings.json +1 -1
  4. package/libc/darwin/libSystem.tbd +357 -427
  5. package/libc/freebsd/lib/csu/aarch64/crt.h +1 -0
  6. package/libc/freebsd/lib/csu/aarch64/crt1_c.c +33 -0
  7. package/libc/freebsd/lib/csu/aarch64/crt1_s.S +68 -0
  8. package/libc/freebsd/lib/csu/amd64/crt.h +30 -0
  9. package/libc/freebsd/lib/csu/amd64/crt1_c.c +30 -0
  10. package/libc/freebsd/lib/csu/amd64/crt1_s.S +86 -0
  11. package/libc/freebsd/lib/csu/arm/crt.h +1 -0
  12. package/libc/freebsd/lib/csu/arm/crt1_c.c +79 -0
  13. package/libc/freebsd/lib/csu/arm/crt1_s.S +77 -0
  14. package/libc/freebsd/lib/csu/common/crtbegin.c +54 -0
  15. package/libc/freebsd/lib/csu/common/crtbrand.S +55 -0
  16. package/libc/freebsd/lib/csu/common/csu_common.h +50 -0
  17. package/libc/freebsd/lib/csu/common/feature_note.S +47 -0
  18. package/libc/freebsd/lib/csu/common/ignore_init_note.S +48 -0
  19. package/libc/freebsd/lib/csu/common/notes.h +32 -0
  20. package/libc/freebsd/lib/csu/i386/crt.h +30 -0
  21. package/libc/freebsd/lib/csu/i386/crt1_c.c +30 -0
  22. package/libc/freebsd/lib/csu/i386/crt1_s.S +91 -0
  23. package/libc/freebsd/lib/csu/powerpc/crt.h +30 -0
  24. package/libc/freebsd/lib/csu/powerpc/crt1_c.c +89 -0
  25. package/libc/freebsd/lib/csu/powerpc/crtsavres.S +189 -0
  26. package/libc/freebsd/lib/csu/powerpc64/crt.h +30 -0
  27. package/libc/freebsd/lib/csu/powerpc64/crt1_c.c +83 -0
  28. package/libc/freebsd/lib/csu/riscv/crt.h +8 -0
  29. package/libc/freebsd/lib/csu/riscv/crt1_c.c +51 -0
  30. package/libc/freebsd/lib/csu/riscv/crt1_s.S +51 -0
  31. package/libc/freebsd/lib/libc/include/libc_private.h +386 -0
  32. package/libc/include/any-darwin-any/AssertMacros.h +1 -1
  33. package/libc/include/any-darwin-any/AvailabilityInternal.h +10 -10
  34. package/libc/include/any-darwin-any/AvailabilityInternalLegacy.h +1 -1
  35. package/libc/include/any-darwin-any/AvailabilityVersions.h +16 -0
  36. package/libc/include/any-darwin-any/TargetConditionals.h +5 -21
  37. package/libc/include/any-darwin-any/_regex.h +11 -3
  38. package/libc/include/any-darwin-any/copyfile.h +1 -0
  39. package/libc/include/any-darwin-any/dirent.h +32 -2
  40. package/libc/include/any-darwin-any/dispatch/base.h +8 -0
  41. package/libc/include/any-darwin-any/dispatch/dispatch_swift_shims.h +4 -2
  42. package/libc/include/any-darwin-any/dispatch/once.h +2 -1
  43. package/libc/include/any-darwin-any/dispatch/workloop.h +2 -0
  44. package/libc/include/any-darwin-any/glob.h +7 -5
  45. package/libc/include/any-darwin-any/mach/arm/_structs.h +1 -0
  46. package/libc/include/any-darwin-any/mach/arm/exception.h +1 -0
  47. package/libc/include/any-darwin-any/mach/arm/thread_status.h +1 -1
  48. package/libc/include/any-darwin-any/mach/kern_return.h +4 -0
  49. package/libc/include/any-darwin-any/mach/mach_host.h +52 -2
  50. package/libc/include/any-darwin-any/mach/mach_traps.h +5 -1
  51. package/libc/include/any-darwin-any/mach/mach_types.h +4 -0
  52. package/libc/include/any-darwin-any/mach/mach_voucher_types.h +9 -0
  53. package/libc/include/any-darwin-any/mach/machine.h +1 -0
  54. package/libc/include/any-darwin-any/mach/message.h +21 -0
  55. package/libc/include/any-darwin-any/mach/port.h +48 -11
  56. package/libc/include/any-darwin-any/mach/thread_act.h +79 -2
  57. package/libc/include/any-darwin-any/mach/vm_map.h +54 -2
  58. package/libc/include/any-darwin-any/mach/vm_prot.h +0 -1
  59. package/libc/include/any-darwin-any/mach/vm_region.h +8 -0
  60. package/libc/include/any-darwin-any/mach/vm_statistics.h +39 -12
  61. package/libc/include/any-darwin-any/mach/vm_types.h +6 -0
  62. package/libc/include/any-darwin-any/mach-o/loader.h +3 -3
  63. package/libc/include/any-darwin-any/mach_debug/ipc_info.h +1 -0
  64. package/libc/include/any-darwin-any/malloc/malloc.h +0 -2
  65. package/libc/include/any-darwin-any/net/if_var.h +2 -2
  66. package/libc/include/any-darwin-any/signal.h +5 -2
  67. package/libc/include/any-darwin-any/simd/math.h +2 -2
  68. package/libc/include/any-darwin-any/sys/_symbol_aliasing.h +24 -0
  69. package/libc/include/any-darwin-any/sys/attr.h +5 -1
  70. package/libc/include/any-darwin-any/sys/fcntl.h +2 -0
  71. package/libc/include/any-darwin-any/sys/mman.h +3 -4
  72. package/libc/include/any-darwin-any/sys/paths.h +12 -9
  73. package/libc/include/any-darwin-any/sys/proc.h +2 -2
  74. package/libc/include/any-darwin-any/sys/sysctl.h +24 -20
  75. package/libc/include/any-darwin-any/unistd.h +2 -2
  76. package/libc/include/any-darwin-any/xpc/activity.h +7 -7
  77. package/libc/include/any-darwin-any/xpc/connection.h +15 -15
  78. package/libc/include/any-darwin-any/xpc/listener.h +2 -2
  79. package/libc/include/any-darwin-any/xpc/peer_requirement.h +13 -13
  80. package/libc/include/any-darwin-any/xpc/session.h +6 -6
  81. package/libc/include/any-darwin-any/xpc/xpc.h +14 -14
  82. package/libc/netbsd/lib/csu/arch/aarch64/crt0.S +45 -0
  83. package/libc/netbsd/lib/csu/arch/earm/crt0.S +61 -0
  84. package/libc/netbsd/lib/csu/arch/i386/crt0.S +48 -0
  85. package/libc/netbsd/lib/csu/arch/m68k/crt0.S +47 -0
  86. package/libc/netbsd/lib/csu/arch/mips/crt0.S +59 -0
  87. package/libc/netbsd/lib/csu/arch/powerpc/crt0.S +56 -0
  88. package/libc/netbsd/lib/csu/arch/sparc/crt0.S +55 -0
  89. package/libc/netbsd/lib/csu/arch/sparc64/crt0.S +59 -0
  90. package/libc/netbsd/lib/csu/arch/x86_64/crt0.S +48 -0
  91. package/libc/netbsd/lib/csu/common/crt0-common.c +351 -0
  92. package/libc/netbsd/lib/csu/common/crtbegin.c +135 -0
  93. package/libc/netbsd/lib/csu/common/csu-common.h +38 -0
  94. package/libc/netbsd/lib/csu/common/sysident.S +89 -0
  95. package/libc/netbsd/lib/csu/common/sysident_assym.h +17 -0
  96. package/libc/openbsd/lib/csu/aarch64/md_init.h +83 -0
  97. package/libc/openbsd/lib/csu/amd64/md_init.h +80 -0
  98. package/libc/openbsd/lib/csu/arm/md_init.h +112 -0
  99. package/libc/openbsd/lib/csu/crt0.c +76 -0
  100. package/libc/openbsd/lib/csu/crtbegin.c +61 -0
  101. package/libc/openbsd/lib/csu/extern.h +54 -0
  102. package/libc/openbsd/lib/csu/i386/md_init.h +83 -0
  103. package/libc/openbsd/lib/csu/mips64/md_init.h +127 -0
  104. package/libc/openbsd/lib/csu/os-note-elf.h +19 -0
  105. package/libc/openbsd/lib/csu/powerpc/md_init.h +80 -0
  106. package/libc/openbsd/lib/csu/powerpc64/md_init.h +75 -0
  107. package/libc/openbsd/lib/csu/riscv64/md_init.h +74 -0
  108. package/libc/openbsd/lib/csu/sparc64/md_init.h +85 -0
  109. package/package.json +2 -2
  110. package/std/Build/Step/Run.zig +4 -4
  111. package/std/Io/Dir.zig +122 -7
  112. package/std/Io/File.zig +6 -118
  113. package/std/Io/Kqueue.zig +1 -0
  114. package/std/Io/Threaded.zig +50 -46
  115. package/std/Io/Uring.zig +1 -0
  116. package/std/Io/net.zig +4 -0
  117. package/std/Io.zig +3 -3
  118. package/std/Target.zig +1 -1
  119. package/std/c.zig +2 -1
  120. package/std/http/Client.zig +3 -2
  121. package/std/tar.zig +76 -36
@@ -0,0 +1,51 @@
1
+ /* LINTLIBRARY */
2
+ /*-
3
+ * Copyright 1996-1998 John D. Polstra.
4
+ * Copyright (c) 2015-2017 Ruslan Bukin <br@bsdpad.com>
5
+ * All rights reserved.
6
+ *
7
+ * Portions of this software were developed by SRI International and the
8
+ * University of Cambridge Computer Laboratory under DARPA/AFRL contract
9
+ * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme.
10
+ *
11
+ * Portions of this software were developed by the University of Cambridge
12
+ * Computer Laboratory as part of the CTSRD Project, with support from the
13
+ * UK Higher Education Innovation Fund (HEIF).
14
+ *
15
+ * Redistribution and use in source and binary forms, with or without
16
+ * modification, are permitted provided that the following conditions
17
+ * are met:
18
+ * 1. Redistributions of source code must retain the above copyright
19
+ * notice, this list of conditions and the following disclaimer.
20
+ * 2. Redistributions in binary form must reproduce the above copyright
21
+ * notice, this list of conditions and the following disclaimer in the
22
+ * documentation and/or other materials provided with the distribution.
23
+ *
24
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
25
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
27
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
28
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
29
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
+ */
35
+
36
+ #include <machine/asm.h>
37
+ ENTRY(_start)
38
+ mv a3, a2 # cleanup
39
+ addi a1, a0, 8 # get argv
40
+ ld a0, 0(a0) # load argc
41
+ slli t0, a0, 3 # mult by arg size
42
+ add a2, a1, t0 # env is after argv
43
+ addi a2, a2, 8 # argv is null terminated
44
+ .option push
45
+ .option norelax
46
+ lla gp, __global_pointer$
47
+ .option pop
48
+ call __start
49
+ END(_start)
50
+
51
+ .section .note.GNU-stack,"",%progbits
@@ -0,0 +1,386 @@
1
+ /*-
2
+ * SPDX-License-Identifier: BSD-3-Clause
3
+ *
4
+ * Copyright (c) 1998 John Birrell <jb@cimlogic.com.au>.
5
+ * All rights reserved.
6
+ *
7
+ * Redistribution and use in source and binary forms, with or without
8
+ * modification, are permitted provided that the following conditions
9
+ * are met:
10
+ * 1. Redistributions of source code must retain the above copyright
11
+ * notice, this list of conditions and the following disclaimer.
12
+ * 2. Redistributions in binary form must reproduce the above copyright
13
+ * notice, this list of conditions and the following disclaimer in the
14
+ * documentation and/or other materials provided with the distribution.
15
+ * 3. Neither the name of the author nor the names of any co-contributors
16
+ * may be used to endorse or promote products derived from this software
17
+ * without specific prior written permission.
18
+ *
19
+ * THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND
20
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29
+ * SUCH DAMAGE.
30
+ *
31
+ * Private definitions for libc, libc_r and libpthread.
32
+ *
33
+ */
34
+
35
+ #ifndef _LIBC_PRIVATE_H_
36
+ #define _LIBC_PRIVATE_H_
37
+ #include <sys/_types.h>
38
+ #include <sys/_pthreadtypes.h>
39
+
40
+ #include <libsys.h>
41
+
42
+ extern char **environ;
43
+
44
+ /*
45
+ * The kernel doesn't expose PID_MAX to the user space. Save it here
46
+ * to allow to run a newer world on a pre-1400079 kernel.
47
+ */
48
+ #define _PID_MAX 99999
49
+
50
+ /*
51
+ * This global flag is non-zero when a process has created one
52
+ * or more threads. It is used to avoid calling locking functions
53
+ * when they are not required.
54
+ */
55
+ #ifndef __LIBC_ISTHREADED_DECLARED
56
+ #define __LIBC_ISTHREADED_DECLARED
57
+ extern int __isthreaded;
58
+ #endif
59
+
60
+ /*
61
+ * Elf_Auxinfo *__elf_aux_vector, the pointer to the ELF aux vector
62
+ * provided by kernel. Either set for us by rtld, or found at runtime
63
+ * on stack for static binaries.
64
+ *
65
+ * Type is void to avoid polluting whole libc with ELF types.
66
+ */
67
+ extern void *__elf_aux_vector;
68
+
69
+ /*
70
+ * libc should use libc_dlopen internally, which respects a global
71
+ * flag where loading of new shared objects can be restricted.
72
+ */
73
+ void *libc_dlopen(const char *, int);
74
+
75
+ /*
76
+ * For dynamic linker.
77
+ */
78
+ void _rtld_error(const char *fmt, ...);
79
+
80
+ /*
81
+ * File lock contention is difficult to diagnose without knowing
82
+ * where locks were set. Allow a debug library to be built which
83
+ * records the source file and line number of each lock call.
84
+ */
85
+ #ifdef _FLOCK_DEBUG
86
+ #define _FLOCKFILE(x) _flockfile_debug(x, __FILE__, __LINE__)
87
+ #else
88
+ #define _FLOCKFILE(x) _flockfile(x)
89
+ #endif
90
+
91
+ /*
92
+ * Macros for locking and unlocking FILEs. These test if the
93
+ * process is threaded to avoid locking when not required.
94
+ */
95
+ #define FLOCKFILE(fp) if (__isthreaded) _FLOCKFILE(fp)
96
+ #define FUNLOCKFILE(fp) if (__isthreaded) _funlockfile(fp)
97
+
98
+ struct _spinlock;
99
+ extern struct _spinlock __stdio_thread_lock __hidden;
100
+ #define STDIO_THREAD_LOCK() \
101
+ do { \
102
+ if (__isthreaded) \
103
+ _SPINLOCK(&__stdio_thread_lock); \
104
+ } while (0)
105
+ #define STDIO_THREAD_UNLOCK() \
106
+ do { \
107
+ if (__isthreaded) \
108
+ _SPINUNLOCK(&__stdio_thread_lock); \
109
+ } while (0)
110
+
111
+ void __libc_spinlock_stub(struct _spinlock *);
112
+ void __libc_spinunlock_stub(struct _spinlock *);
113
+
114
+ /*
115
+ * Indexes into the pthread jump table.
116
+ *
117
+ * Warning! If you change this type, you must also change the threads
118
+ * libraries that reference it (libc_r, libpthread).
119
+ */
120
+ typedef enum {
121
+ PJT_ATFORK,
122
+ PJT_ATTR_DESTROY,
123
+ PJT_ATTR_GETDETACHSTATE,
124
+ PJT_ATTR_GETGUARDSIZE,
125
+ PJT_ATTR_GETINHERITSCHED,
126
+ PJT_ATTR_GETSCHEDPARAM,
127
+ PJT_ATTR_GETSCHEDPOLICY,
128
+ PJT_ATTR_GETSCOPE,
129
+ PJT_ATTR_GETSTACKADDR,
130
+ PJT_ATTR_GETSTACKSIZE,
131
+ PJT_ATTR_INIT,
132
+ PJT_ATTR_SETDETACHSTATE,
133
+ PJT_ATTR_SETGUARDSIZE,
134
+ PJT_ATTR_SETINHERITSCHED,
135
+ PJT_ATTR_SETSCHEDPARAM,
136
+ PJT_ATTR_SETSCHEDPOLICY,
137
+ PJT_ATTR_SETSCOPE,
138
+ PJT_ATTR_SETSTACKADDR,
139
+ PJT_ATTR_SETSTACKSIZE,
140
+ PJT_CANCEL,
141
+ PJT_CLEANUP_POP,
142
+ PJT_CLEANUP_PUSH,
143
+ PJT_COND_BROADCAST,
144
+ PJT_COND_DESTROY,
145
+ PJT_COND_INIT,
146
+ PJT_COND_SIGNAL,
147
+ PJT_COND_TIMEDWAIT,
148
+ PJT_COND_WAIT,
149
+ PJT_DETACH,
150
+ PJT_EQUAL,
151
+ PJT_EXIT,
152
+ PJT_GETSPECIFIC,
153
+ PJT_JOIN,
154
+ PJT_KEY_CREATE,
155
+ PJT_KEY_DELETE,
156
+ PJT_KILL,
157
+ PJT_MAIN_NP,
158
+ PJT_MUTEXATTR_DESTROY,
159
+ PJT_MUTEXATTR_INIT,
160
+ PJT_MUTEXATTR_SETTYPE,
161
+ PJT_MUTEX_DESTROY,
162
+ PJT_MUTEX_INIT,
163
+ PJT_MUTEX_LOCK,
164
+ PJT_MUTEX_TRYLOCK,
165
+ PJT_MUTEX_UNLOCK,
166
+ PJT_ONCE,
167
+ PJT_RWLOCK_DESTROY,
168
+ PJT_RWLOCK_INIT,
169
+ PJT_RWLOCK_RDLOCK,
170
+ PJT_RWLOCK_TRYRDLOCK,
171
+ PJT_RWLOCK_TRYWRLOCK,
172
+ PJT_RWLOCK_UNLOCK,
173
+ PJT_RWLOCK_WRLOCK,
174
+ PJT_SELF,
175
+ PJT_SETCANCELSTATE,
176
+ PJT_SETCANCELTYPE,
177
+ PJT_SETSPECIFIC,
178
+ PJT_SIGMASK,
179
+ PJT_TESTCANCEL,
180
+ PJT_CLEANUP_POP_IMP,
181
+ PJT_CLEANUP_PUSH_IMP,
182
+ PJT_CANCEL_ENTER,
183
+ PJT_CANCEL_LEAVE,
184
+ PJT_MUTEX_CONSISTENT,
185
+ PJT_MUTEXATTR_GETROBUST,
186
+ PJT_MUTEXATTR_SETROBUST,
187
+ PJT_GETTHREADID_NP,
188
+ PJT_ATTR_GET_NP,
189
+ PJT_GETNAME_NP,
190
+ PJT_SUSPEND_ALL_NP,
191
+ PJT_RESUME_ALL_NP,
192
+ PJT_MAX
193
+ } pjt_index_t;
194
+
195
+ typedef void (*pthread_func_t)(void);
196
+ typedef pthread_func_t pthread_func_entry_t[2];
197
+
198
+ extern pthread_func_entry_t __thr_jtable[];
199
+
200
+ void __set_error_selector(int *(*arg)(void));
201
+ int _pthread_mutex_init_calloc_cb_stub(pthread_mutex_t *mutex,
202
+ void *(calloc_cb)(__size_t, __size_t));
203
+
204
+ typedef void (*interpos_func_t)(void);
205
+ interpos_func_t *__libc_interposing_slot(int interposno);
206
+ extern interpos_func_t __libc_interposing[] __hidden;
207
+ interpos_func_t *__libsys_interposing_slot(int interposno);
208
+
209
+ enum {
210
+ INTERPOS_accept,
211
+ INTERPOS_accept4,
212
+ INTERPOS_aio_suspend,
213
+ INTERPOS_close,
214
+ INTERPOS_connect,
215
+ INTERPOS_fcntl,
216
+ INTERPOS_fsync,
217
+ INTERPOS_fork,
218
+ INTERPOS_msync,
219
+ INTERPOS_nanosleep,
220
+ INTERPOS_openat,
221
+ INTERPOS_poll,
222
+ INTERPOS_pselect,
223
+ INTERPOS_recvfrom,
224
+ INTERPOS_recvmsg,
225
+ INTERPOS_select,
226
+ INTERPOS_sendmsg,
227
+ INTERPOS_sendto,
228
+ INTERPOS_setcontext,
229
+ INTERPOS_sigaction,
230
+ INTERPOS_sigprocmask,
231
+ INTERPOS_sigsuspend,
232
+ INTERPOS_sigwait,
233
+ INTERPOS_sigtimedwait,
234
+ INTERPOS_sigwaitinfo,
235
+ INTERPOS_swapcontext,
236
+ INTERPOS_system,
237
+ INTERPOS_tcdrain,
238
+ INTERPOS_read,
239
+ INTERPOS_readv,
240
+ INTERPOS_wait4,
241
+ INTERPOS_write,
242
+ INTERPOS_writev,
243
+ INTERPOS__pthread_mutex_init_calloc_cb,
244
+ INTERPOS_spinlock,
245
+ INTERPOS_spinunlock,
246
+ INTERPOS_kevent,
247
+ INTERPOS_wait6,
248
+ INTERPOS_ppoll,
249
+ INTERPOS_map_stacks_exec,
250
+ INTERPOS_fdatasync,
251
+ INTERPOS_clock_nanosleep,
252
+ INTERPOS__reserved0, /* was distribute_static_tls */
253
+ INTERPOS_pdfork,
254
+ INTERPOS_uexterr_gettext,
255
+ INTERPOS_MAX
256
+ };
257
+
258
+ #define _INTERPOS_SYS(type, idx, ...) \
259
+ ((type *)*(__libc_interposing_slot(idx)))(__VA_ARGS__)
260
+ #define INTERPOS_SYS(syscall, ...) \
261
+ _INTERPOS_SYS(__sys_## syscall ##_t, INTERPOS_## syscall \
262
+ __VA_OPT__(,) __VA_ARGS__)
263
+
264
+ /*
265
+ * yplib internal interfaces
266
+ */
267
+ #ifdef YP
268
+ int _yp_check(char **);
269
+ #endif
270
+
271
+ void __libc_start1(int, char *[], char *[],
272
+ void (*)(void), int (*)(int, char *[], char *[])) __dead2;
273
+ void __libc_start1_gcrt(int, char *[], char *[],
274
+ void (*)(void), int (*)(int, char *[], char *[]),
275
+ int *, int *) __dead2;
276
+
277
+ /*
278
+ * Initialise TLS for static programs
279
+ */
280
+ void _init_tls(void);
281
+
282
+ /*
283
+ * Provides pthread_once()-like functionality for both single-threaded
284
+ * and multi-threaded applications.
285
+ */
286
+ int _once(pthread_once_t *, void (*)(void));
287
+
288
+ /*
289
+ * This is a pointer in the C run-time startup code. It is used
290
+ * by getprogname() and setprogname().
291
+ */
292
+ extern const char *__progname;
293
+
294
+ /*
295
+ * This function is used by the threading libraries to notify malloc that a
296
+ * thread is exiting.
297
+ */
298
+ void _malloc_thread_cleanup(void);
299
+
300
+ /*
301
+ * This function is used by the threading libraries to notify libc that a
302
+ * thread is exiting, so its thread-local dtors should be called.
303
+ */
304
+ void __cxa_thread_call_dtors(void);
305
+ int __cxa_thread_atexit_hidden(void (*dtor_func)(void *), void *obj,
306
+ void *dso_symbol) __hidden;
307
+
308
+ /*
309
+ * These functions are used by the threading libraries in order to protect
310
+ * malloc across fork().
311
+ */
312
+ void _malloc_prefork(void);
313
+ void _malloc_postfork(void);
314
+
315
+ void _malloc_first_thread(void);
316
+
317
+ /*
318
+ * Function to clean up streams, called from abort() and exit().
319
+ */
320
+ extern void (*__cleanup)(void) __hidden;
321
+
322
+ /*
323
+ * Get kern.osreldate to detect ABI revisions. Explicitly
324
+ * ignores value of $OSVERSION and caches result.
325
+ */
326
+ int __getosreldate(void);
327
+ #include <sys/_types.h>
328
+ #include <sys/_sigset.h>
329
+
330
+ struct aiocb;
331
+ struct fd_set;
332
+ struct iovec;
333
+ struct kevent;
334
+ struct msghdr;
335
+ struct pollfd;
336
+ struct rusage;
337
+ struct sigaction;
338
+ struct sockaddr;
339
+ struct stat;
340
+ struct statfs;
341
+ struct timespec;
342
+ struct timeval;
343
+ struct timezone;
344
+ struct __siginfo;
345
+ struct __ucontext;
346
+ struct __wrusage;
347
+ enum idtype;
348
+
349
+ int __libc_execvpe(const char *, char * const *, char * const *);
350
+ int __libc_sigaction(int, const struct sigaction *,
351
+ struct sigaction *) __hidden;
352
+ int __libc_sigprocmask(int, const __sigset_t *, __sigset_t *)
353
+ __hidden;
354
+ int __libc_sigsuspend(const __sigset_t *) __hidden;
355
+ int __libsys_sigwait(const __sigset_t *, int *) __hidden;
356
+ int __libc_system(const char *);
357
+ int __libc_tcdrain(int);
358
+
359
+ int _elf_aux_info(int aux, void *buf, int buflen);
360
+ struct dl_phdr_info;
361
+ int __elf_phdr_match_addr(struct dl_phdr_info *, void *);
362
+ void __init_elf_aux_vector(void);
363
+ void __libc_map_stacks_exec(void);
364
+
365
+ void _pthread_cancel_enter(int);
366
+ void _pthread_cancel_leave(int);
367
+
368
+ struct _pthread_cleanup_info;
369
+ void ___pthread_cleanup_push_imp(void (*)(void *), void *,
370
+ struct _pthread_cleanup_info *);
371
+ void ___pthread_cleanup_pop_imp(int);
372
+
373
+ void __throw_constraint_handler_s(const char * restrict msg, int error);
374
+
375
+ struct __nl_cat_d;
376
+ struct _xlocale;
377
+ struct __nl_cat_d *__catopen_l(const char *name, int type,
378
+ struct _xlocale *locale);
379
+ int __strerror_rl(int errnum, char *strerrbuf, size_t buflen,
380
+ struct _xlocale *locale);
381
+
382
+ struct uexterror;
383
+ int __uexterr_format(const struct uexterror *ue, char *buf, size_t bufsz);
384
+ int __libc_uexterr_gettext(char *buf, size_t bufsz);
385
+
386
+ #endif /* _LIBC_PRIVATE_H_ */
@@ -134,7 +134,7 @@
134
134
  * If you do not define DEBUG_ASSERT_PRODUCTION_CODE, the default value 1 will be used
135
135
  * (production code = no assertion code and no messages).
136
136
  *
137
- * If you are building with modules modules this must be defined via a commandline
137
+ * If you are building with modules this must be defined via a commandline
138
138
  * flag (i.e. -DDEBUG_ASSERT_PRODUCTION_CODE=1) in order to work correctly.
139
139
  */
140
140
  #ifndef DEBUG_ASSERT_PRODUCTION_CODE
@@ -37,11 +37,11 @@
37
37
  #if __has_builtin(__is_target_os)
38
38
  #if __is_target_os(macos)
39
39
  #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
40
- #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_2
40
+ #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_4
41
41
  #endif
42
42
  #elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
43
43
  #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
44
- #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_2
44
+ #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_4
45
45
  #endif /* __has_builtin(__is_target_os) */
46
46
  #endif /* defined(__has_builtin) */
47
47
  #endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */
@@ -51,11 +51,11 @@
51
51
  #if __has_builtin(__is_target_os)
52
52
  #if __is_target_os(ios)
53
53
  #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
54
- #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_2
54
+ #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_4
55
55
  #endif
56
56
  #elif __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
57
57
  #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
58
- #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_2
58
+ #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_4
59
59
  #endif /* __has_builtin(__is_target_os) */
60
60
  #endif /* defined(__has_builtin) */
61
61
  #endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */
@@ -65,13 +65,13 @@
65
65
  #if __has_builtin(__is_target_os)
66
66
  #if __is_target_os(watchos)
67
67
  #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
68
- #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_2
68
+ #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_4
69
69
  /* for compatibility with existing code. New code should use platform specific checks */
70
70
  #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
71
71
  #endif
72
72
  #elif __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__
73
73
  #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__
74
- #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_2
74
+ #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_4
75
75
  /* for compatibility with existing code. New code should use platform specific checks */
76
76
  #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
77
77
  #endif /* __has_builtin(__is_target_os) */
@@ -83,13 +83,13 @@
83
83
  #if __has_builtin(__is_target_os)
84
84
  #if __is_target_os(tvos)
85
85
  #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
86
- #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_2
86
+ #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_4
87
87
  /* for compatibility with existing code. New code should use platform specific checks */
88
88
  #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
89
89
  #endif
90
90
  #elif __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
91
91
  #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
92
- #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_2
92
+ #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_4
93
93
  /* for compatibility with existing code. New code should use platform specific checks */
94
94
  #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0
95
95
  #endif /* __has_builtin(__is_target_os) */
@@ -103,7 +103,7 @@
103
103
  #if __has_builtin(__is_target_os)
104
104
  #if __is_target_os(driverkit)
105
105
  #define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
106
- #define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_25_2
106
+ #define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_25_4
107
107
  #endif
108
108
  #endif /* __has_builtin(__is_target_os) */
109
109
  #endif /* defined(__has_builtin) */
@@ -114,7 +114,7 @@
114
114
  #if __has_builtin(__is_target_os)
115
115
  #if __is_target_os(visionos)
116
116
  #define __VISION_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
117
- #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_26_2
117
+ #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_26_4
118
118
  /* for compatibility with existing code. New code should use platform specific checks */
119
119
  #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_17_1
120
120
  #endif
@@ -2801,7 +2801,7 @@
2801
2801
  #if __has_builtin(__is_target_environment)
2802
2802
  #if __has_builtin(__is_target_variant_os)
2803
2803
  #if __has_builtin(__is_target_variant_environment)
2804
- #if ((__is_target_arch(x86_64) || __is_target_arch(arm64) || __is_target_arch(arm64e)) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(macabi))
2804
+ #if __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(macabi)
2805
2805
  #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION __attribute__((availability(ios,introduced=4.0)))
2806
2806
  #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION __attribute__((availability(ios,unavailable)))
2807
2807
  #define __AVAILABILITY_INTERNAL__IPHONE_COMPAT_VERSION_DEP__IPHONE_COMPAT_VERSION_MSG(_msg) __attribute__((availability(ios,unavailable)))
@@ -99,6 +99,8 @@
99
99
  #define __MAC_26_0 260000
100
100
  #define __MAC_26_1 260100
101
101
  #define __MAC_26_2 260200
102
+ #define __MAC_26_3 260300
103
+ #define __MAC_26_4 260400
102
104
  /* __MAC__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
103
105
 
104
106
  #define __IPHONE_2_0 20000
@@ -192,6 +194,8 @@
192
194
  #define __IPHONE_26_0 260000
193
195
  #define __IPHONE_26_1 260100
194
196
  #define __IPHONE_26_2 260200
197
+ #define __IPHONE_26_3 260300
198
+ #define __IPHONE_26_4 260400
195
199
  /* __IPHONE__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
196
200
 
197
201
  #define __WATCHOS_1_0 10000
@@ -254,6 +258,8 @@
254
258
  #define __WATCHOS_26_0 260000
255
259
  #define __WATCHOS_26_1 260100
256
260
  #define __WATCHOS_26_2 260200
261
+ #define __WATCHOS_26_3 260300
262
+ #define __WATCHOS_26_4 260400
257
263
  /* __WATCHOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
258
264
 
259
265
  #define __TVOS_9_0 90000
@@ -316,6 +322,8 @@
316
322
  #define __TVOS_26_0 260000
317
323
  #define __TVOS_26_1 260100
318
324
  #define __TVOS_26_2 260200
325
+ #define __TVOS_26_3 260300
326
+ #define __TVOS_26_4 260400
319
327
  /* __TVOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
320
328
 
321
329
  #define __BRIDGEOS_2_0 20000
@@ -355,6 +363,8 @@
355
363
  #define __BRIDGEOS_10_0 100000
356
364
  #define __BRIDGEOS_10_1 100100
357
365
  #define __BRIDGEOS_10_2 100200
366
+ #define __BRIDGEOS_10_3 100300
367
+ #define __BRIDGEOS_10_4 100400
358
368
 
359
369
 
360
370
  #define __DRIVERKIT_19_0 190000
@@ -381,6 +391,8 @@
381
391
  #define __DRIVERKIT_25_0 250000
382
392
  #define __DRIVERKIT_25_1 250100
383
393
  #define __DRIVERKIT_25_2 250200
394
+ #define __DRIVERKIT_25_3 250300
395
+ #define __DRIVERKIT_25_4 250400
384
396
  /* __DRIVERKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
385
397
 
386
398
  #define __VISIONOS_1_0 10000
@@ -398,6 +410,8 @@
398
410
  #define __VISIONOS_26_0 260000
399
411
  #define __VISIONOS_26_1 260100
400
412
  #define __VISIONOS_26_2 260200
413
+ #define __VISIONOS_26_3 260300
414
+ #define __VISIONOS_26_4 260400
401
415
  /* __VISIONOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */
402
416
 
403
417
 
@@ -490,6 +504,8 @@
490
504
  #define MAC_OS_VERSION_26_0 __MAC_26_0
491
505
  #define MAC_OS_VERSION_26_1 __MAC_26_1
492
506
  #define MAC_OS_VERSION_26_2 __MAC_26_2
507
+ #define MAC_OS_VERSION_26_3 __MAC_26_3
508
+ #define MAC_OS_VERSION_26_4 __MAC_26_4
493
509
 
494
510
  #endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */
495
511
 
@@ -337,27 +337,9 @@
337
337
  #endif
338
338
 
339
339
  /*
340
- * __is_target_arch based defines
340
+ * GCC and clang
341
341
  */
342
- #if defined(__has_builtin) && __has_builtin(__is_target_arch)
343
- #if __is_target_arch(arm64) || __is_target_arch(arm64e) || __is_target_arch(arm64_32)
344
- #define TARGET_CPU_ARM64 1
345
- #elif __is_target_arch(arm)
346
- #define TARGET_CPU_ARM 1
347
- #elif __is_target_arch(x86_64)
348
- #define TARGET_CPU_X86_64 1
349
- #elif __is_target_arch(i386)
350
- #define TARGET_CPU_X86 1
351
- #else
352
-
353
- #error unrecognized arch using compiler with __is_target_arch support
354
-
355
- #endif
356
-
357
- /*
358
- * GCC and older clang fallback
359
- */
360
- #elif defined(__GNUC__) && ( defined(__APPLE_CPP__) || defined(__APPLE_CC__) || defined(__MACOS_CLASSIC__) )
342
+ #if defined(__GNUC__) && ( defined(__APPLE_CPP__) || defined(__APPLE_CC__) || defined(__MACOS_CLASSIC__) )
361
343
  #if defined(__ppc__)
362
344
  #define TARGET_CPU_PPC 1
363
345
  #elif defined(__ppc64__)
@@ -371,7 +353,9 @@
371
353
  #elif defined(__arm64__)
372
354
  #define TARGET_CPU_ARM64 1
373
355
  #else
374
- #error unrecognized GNU C compiler
356
+
357
+ #error unrecognized GNU C compiler
358
+
375
359
  #endif
376
360
 
377
361
  /*
@@ -151,9 +151,12 @@ typedef struct {
151
151
  #define REG_MINIMAL 0100 /* Compile using minimal repetition */
152
152
  #define REG_UNGREEDY REG_MINIMAL
153
153
  #endif
154
-
155
154
  #define REG_DUMP 0200 /* Unused */
156
-
155
+ #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_26_4 \
156
+ || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_26_4 \
157
+ || defined(__DRIVERKIT_VERSION_MIN_REQUIRED)
158
+ #define REG_USEBYTES REG_DUMP /* Used internally by TRE */
159
+ #endif
157
160
  #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_8 \
158
161
  || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_6_0 \
159
162
  || defined(__DRIVERKIT_VERSION_MIN_REQUIRED)
@@ -184,6 +187,7 @@ typedef struct {
184
187
  #define REG_ASSERT 15 /* Unused */
185
188
  #define REG_INVARG 16 /* invalid argument to regex routine */
186
189
  #define REG_ILLSEQ 17 /* illegal byte sequence */
190
+ #define REG_BADMAX 18 /* maximum repetition exceeds RE_DUP_MAX */
187
191
 
188
192
  #define REG_ATOI 255 /* convert name to number (!) */
189
193
  #define REG_ITOA 0400 /* convert number to name (!) */
@@ -199,8 +203,12 @@ typedef struct {
199
203
  #define REG_STARTEND 00004 /* String start/end in pmatch[0] */
200
204
  #define REG_TRACE 00400 /* Unused */
201
205
  #define REG_LARGE 01000 /* Unused */
206
+ #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_26_4 \
207
+ || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_26_4 \
208
+ || defined(__DRIVERKIT_VERSION_MIN_REQUIRED)
209
+ #define REG_APPROX_MATCHER REG_LARGE /* Used internally by TRE */
210
+ #endif
202
211
  #define REG_BACKR 02000 /* force use of backref code */
203
-
204
212
  #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_8 \
205
213
  || __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_6_0 \
206
214
  || defined(__DRIVERKIT_VERSION_MIN_REQUIRED)
@@ -98,6 +98,7 @@ typedef int (*copyfile_callback_t)(int, int, copyfile_state_t, const char *__uns
98
98
  #define COPYFILE_METADATA (COPYFILE_SECURITY | COPYFILE_XATTR)
99
99
  #define COPYFILE_ALL (COPYFILE_METADATA | COPYFILE_DATA)
100
100
 
101
+ #define COPYFILE_NOCACHE (1<<14) /* when using fcopyfile() force the fd to turn caching off */
101
102
  #define COPYFILE_RECURSIVE (1<<15) /* Descend into hierarchies */
102
103
  #define COPYFILE_CHECK (1<<16) /* return flags for xattr or acls if set */
103
104
  #define COPYFILE_EXCL (1<<17) /* fail if destination exists */