authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-09-02 20:56:31-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-09-02 20:56:31-04:00
log058050f22c5c72507cae57f27e83b2ad2e9afec3
tree4ce3716f1379780e47587a505a0a03682f552370
parentf7f86927304073a0e95a2932a77c8d4193099a29
parent4a5b0cde1330e0410612838a42dad62cc30b0e92
signature Commit is signed but in an unrecognized format.

Merge remote-tracking branch 'origin/master' into llvm9


55 files changed, 12843 insertions(+), 1348 deletions(-)

README.md+1-1
......@@ -55,7 +55,7 @@ brew install cmake llvm@9
5555brew outdated llvm@9 || brew upgrade llvm@9
5656mkdir build
5757cd build
58cmake .. -DCMAKE_PREFIX_PATH=/usr/local/Cellar/llvm/9.0.0
58cmake .. -DCMAKE_PREFIX_PATH=$(brew --prefix llvm)
5959make install
6060```
6161
doc/langref.html.in+16
......@@ -8114,7 +8114,23 @@ pub const TypeInfo = union(TypeId) {
81148114 This function returns a compile-time constant, which is the type of the
81158115 expression passed as an argument. The expression is evaluated.
81168116 </p>
8117 <p>{#syntax#}@typeOf{#endsyntax#} guarantees no run-time side-effects within the expression:</p>
8118 {#code_begin|test#}
8119const std = @import("std");
8120const assert = std.debug.assert;
8121
8122test "no runtime side effects" {
8123 var data: i32 = 0;
8124 const T = @typeOf(foo(i32, &data));
8125 comptime assert(T == i32);
8126 assert(data == 0);
8127}
81178128
8129fn foo(comptime T: type, ptr: *T) T {
8130 ptr.* += 1;
8131 return ptr.*;
8132}
8133 {#code_end#}
81188134 {#header_close#}
81198135
81208136 {#header_open|@unionInit#}
lib/libc/include/aarch64-linux-musl/bits/alltypes.h created+406
......@@ -0,0 +1,406 @@
1#define _Addr long
2#define _Int64 long
3#define _Reg long
4
5#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
6typedef __builtin_va_list va_list;
7#define __DEFINED_va_list
8#endif
9
10#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
11typedef __builtin_va_list __isoc_va_list;
12#define __DEFINED___isoc_va_list
13#endif
14
15
16#ifndef __cplusplus
17#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
18typedef unsigned wchar_t;
19#define __DEFINED_wchar_t
20#endif
21
22#endif
23#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
24typedef unsigned wint_t;
25#define __DEFINED_wint_t
26#endif
27
28
29#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
30typedef int blksize_t;
31#define __DEFINED_blksize_t
32#endif
33
34#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
35typedef unsigned int nlink_t;
36#define __DEFINED_nlink_t
37#endif
38
39
40#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
41typedef float float_t;
42#define __DEFINED_float_t
43#endif
44
45#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
46typedef double double_t;
47#define __DEFINED_double_t
48#endif
49
50
51#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
52typedef struct { long long __ll; long double __ld; } max_align_t;
53#define __DEFINED_max_align_t
54#endif
55
56
57#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
58typedef long time_t;
59#define __DEFINED_time_t
60#endif
61
62#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
63typedef long suseconds_t;
64#define __DEFINED_suseconds_t
65#endif
66
67
68#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
69typedef struct { union { int __i[14]; volatile int __vi[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
70#define __DEFINED_pthread_attr_t
71#endif
72
73#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
74typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } pthread_mutex_t;
75#define __DEFINED_pthread_mutex_t
76#endif
77
78#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
79typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } mtx_t;
80#define __DEFINED_mtx_t
81#endif
82
83#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
84typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } pthread_cond_t;
85#define __DEFINED_pthread_cond_t
86#endif
87
88#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
89typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } cnd_t;
90#define __DEFINED_cnd_t
91#endif
92
93#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
94typedef struct { union { int __i[14]; volatile int __vi[14]; void *__p[7]; } __u; } pthread_rwlock_t;
95#define __DEFINED_pthread_rwlock_t
96#endif
97
98#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
99typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[4]; } __u; } pthread_barrier_t;
100#define __DEFINED_pthread_barrier_t
101#endif
102
103#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
104typedef unsigned _Addr size_t;
105#define __DEFINED_size_t
106#endif
107
108#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
109typedef unsigned _Addr uintptr_t;
110#define __DEFINED_uintptr_t
111#endif
112
113#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
114typedef _Addr ptrdiff_t;
115#define __DEFINED_ptrdiff_t
116#endif
117
118#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
119typedef _Addr ssize_t;
120#define __DEFINED_ssize_t
121#endif
122
123#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
124typedef _Addr intptr_t;
125#define __DEFINED_intptr_t
126#endif
127
128#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
129typedef _Addr regoff_t;
130#define __DEFINED_regoff_t
131#endif
132
133#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
134typedef _Reg register_t;
135#define __DEFINED_register_t
136#endif
137
138
139#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
140typedef signed char int8_t;
141#define __DEFINED_int8_t
142#endif
143
144#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
145typedef signed short int16_t;
146#define __DEFINED_int16_t
147#endif
148
149#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
150typedef signed int int32_t;
151#define __DEFINED_int32_t
152#endif
153
154#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
155typedef signed _Int64 int64_t;
156#define __DEFINED_int64_t
157#endif
158
159#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
160typedef signed _Int64 intmax_t;
161#define __DEFINED_intmax_t
162#endif
163
164#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
165typedef unsigned char uint8_t;
166#define __DEFINED_uint8_t
167#endif
168
169#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
170typedef unsigned short uint16_t;
171#define __DEFINED_uint16_t
172#endif
173
174#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
175typedef unsigned int uint32_t;
176#define __DEFINED_uint32_t
177#endif
178
179#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
180typedef unsigned _Int64 uint64_t;
181#define __DEFINED_uint64_t
182#endif
183
184#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
185typedef unsigned _Int64 u_int64_t;
186#define __DEFINED_u_int64_t
187#endif
188
189#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
190typedef unsigned _Int64 uintmax_t;
191#define __DEFINED_uintmax_t
192#endif
193
194
195#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
196typedef unsigned mode_t;
197#define __DEFINED_mode_t
198#endif
199
200#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
201typedef unsigned _Reg nlink_t;
202#define __DEFINED_nlink_t
203#endif
204
205#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
206typedef _Int64 off_t;
207#define __DEFINED_off_t
208#endif
209
210#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
211typedef unsigned _Int64 ino_t;
212#define __DEFINED_ino_t
213#endif
214
215#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
216typedef unsigned _Int64 dev_t;
217#define __DEFINED_dev_t
218#endif
219
220#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
221typedef long blksize_t;
222#define __DEFINED_blksize_t
223#endif
224
225#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
226typedef _Int64 blkcnt_t;
227#define __DEFINED_blkcnt_t
228#endif
229
230#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
231typedef unsigned _Int64 fsblkcnt_t;
232#define __DEFINED_fsblkcnt_t
233#endif
234
235#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
236typedef unsigned _Int64 fsfilcnt_t;
237#define __DEFINED_fsfilcnt_t
238#endif
239
240
241#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
242typedef unsigned wint_t;
243#define __DEFINED_wint_t
244#endif
245
246#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
247typedef unsigned long wctype_t;
248#define __DEFINED_wctype_t
249#endif
250
251
252#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
253typedef void * timer_t;
254#define __DEFINED_timer_t
255#endif
256
257#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
258typedef int clockid_t;
259#define __DEFINED_clockid_t
260#endif
261
262#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
263typedef long clock_t;
264#define __DEFINED_clock_t
265#endif
266
267#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
268struct timeval { time_t tv_sec; suseconds_t tv_usec; };
269#define __DEFINED_struct_timeval
270#endif
271
272#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
273struct timespec { time_t tv_sec; long tv_nsec; };
274#define __DEFINED_struct_timespec
275#endif
276
277
278#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
279typedef int pid_t;
280#define __DEFINED_pid_t
281#endif
282
283#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
284typedef unsigned id_t;
285#define __DEFINED_id_t
286#endif
287
288#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
289typedef unsigned uid_t;
290#define __DEFINED_uid_t
291#endif
292
293#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
294typedef unsigned gid_t;
295#define __DEFINED_gid_t
296#endif
297
298#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
299typedef int key_t;
300#define __DEFINED_key_t
301#endif
302
303#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
304typedef unsigned useconds_t;
305#define __DEFINED_useconds_t
306#endif
307
308
309#ifdef __cplusplus
310#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
311typedef unsigned long pthread_t;
312#define __DEFINED_pthread_t
313#endif
314
315#else
316#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
317typedef struct __pthread * pthread_t;
318#define __DEFINED_pthread_t
319#endif
320
321#endif
322#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
323typedef int pthread_once_t;
324#define __DEFINED_pthread_once_t
325#endif
326
327#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
328typedef unsigned pthread_key_t;
329#define __DEFINED_pthread_key_t
330#endif
331
332#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
333typedef int pthread_spinlock_t;
334#define __DEFINED_pthread_spinlock_t
335#endif
336
337#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
338typedef struct { unsigned __attr; } pthread_mutexattr_t;
339#define __DEFINED_pthread_mutexattr_t
340#endif
341
342#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
343typedef struct { unsigned __attr; } pthread_condattr_t;
344#define __DEFINED_pthread_condattr_t
345#endif
346
347#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
348typedef struct { unsigned __attr; } pthread_barrierattr_t;
349#define __DEFINED_pthread_barrierattr_t
350#endif
351
352#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
353typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
354#define __DEFINED_pthread_rwlockattr_t
355#endif
356
357
358#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
359struct _IO_FILE { char __x; };
360#define __DEFINED_struct__IO_FILE
361#endif
362
363#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
364typedef struct _IO_FILE FILE;
365#define __DEFINED_FILE
366#endif
367
368
369#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
370typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
371#define __DEFINED_mbstate_t
372#endif
373
374
375#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
376typedef struct __locale_struct * locale_t;
377#define __DEFINED_locale_t
378#endif
379
380
381#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
382typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
383#define __DEFINED_sigset_t
384#endif
385
386
387#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
388struct iovec { void *iov_base; size_t iov_len; };
389#define __DEFINED_struct_iovec
390#endif
391
392
393#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
394typedef unsigned socklen_t;
395#define __DEFINED_socklen_t
396#endif
397
398#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
399typedef unsigned short sa_family_t;
400#define __DEFINED_sa_family_t
401#endif
402
403
404#undef _Addr
405#undef _Int64
406#undef _Reg
\ No newline at end of file
lib/libc/include/aarch64-linux-musl/bits/syscall.h created+567
......@@ -0,0 +1,567 @@
1#define __NR_io_setup 0
2#define __NR_io_destroy 1
3#define __NR_io_submit 2
4#define __NR_io_cancel 3
5#define __NR_io_getevents 4
6#define __NR_setxattr 5
7#define __NR_lsetxattr 6
8#define __NR_fsetxattr 7
9#define __NR_getxattr 8
10#define __NR_lgetxattr 9
11#define __NR_fgetxattr 10
12#define __NR_listxattr 11
13#define __NR_llistxattr 12
14#define __NR_flistxattr 13
15#define __NR_removexattr 14
16#define __NR_lremovexattr 15
17#define __NR_fremovexattr 16
18#define __NR_getcwd 17
19#define __NR_lookup_dcookie 18
20#define __NR_eventfd2 19
21#define __NR_epoll_create1 20
22#define __NR_epoll_ctl 21
23#define __NR_epoll_pwait 22
24#define __NR_dup 23
25#define __NR_dup3 24
26#define __NR_fcntl 25
27#define __NR_inotify_init1 26
28#define __NR_inotify_add_watch 27
29#define __NR_inotify_rm_watch 28
30#define __NR_ioctl 29
31#define __NR_ioprio_set 30
32#define __NR_ioprio_get 31
33#define __NR_flock 32
34#define __NR_mknodat 33
35#define __NR_mkdirat 34
36#define __NR_unlinkat 35
37#define __NR_symlinkat 36
38#define __NR_linkat 37
39#define __NR_renameat 38
40#define __NR_umount2 39
41#define __NR_mount 40
42#define __NR_pivot_root 41
43#define __NR_nfsservctl 42
44#define __NR_statfs 43
45#define __NR_fstatfs 44
46#define __NR_truncate 45
47#define __NR_ftruncate 46
48#define __NR_fallocate 47
49#define __NR_faccessat 48
50#define __NR_chdir 49
51#define __NR_fchdir 50
52#define __NR_chroot 51
53#define __NR_fchmod 52
54#define __NR_fchmodat 53
55#define __NR_fchownat 54
56#define __NR_fchown 55
57#define __NR_openat 56
58#define __NR_close 57
59#define __NR_vhangup 58
60#define __NR_pipe2 59
61#define __NR_quotactl 60
62#define __NR_getdents64 61
63#define __NR_lseek 62
64#define __NR_read 63
65#define __NR_write 64
66#define __NR_readv 65
67#define __NR_writev 66
68#define __NR_pread64 67
69#define __NR_pwrite64 68
70#define __NR_preadv 69
71#define __NR_pwritev 70
72#define __NR_sendfile 71
73#define __NR_pselect6 72
74#define __NR_ppoll 73
75#define __NR_signalfd4 74
76#define __NR_vmsplice 75
77#define __NR_splice 76
78#define __NR_tee 77
79#define __NR_readlinkat 78
80#define __NR_newfstatat 79
81#define __NR_fstat 80
82#define __NR_sync 81
83#define __NR_fsync 82
84#define __NR_fdatasync 83
85#define __NR_sync_file_range 84
86#define __NR_timerfd_create 85
87#define __NR_timerfd_settime 86
88#define __NR_timerfd_gettime 87
89#define __NR_utimensat 88
90#define __NR_acct 89
91#define __NR_capget 90
92#define __NR_capset 91
93#define __NR_personality 92
94#define __NR_exit 93
95#define __NR_exit_group 94
96#define __NR_waitid 95
97#define __NR_set_tid_address 96
98#define __NR_unshare 97
99#define __NR_futex 98
100#define __NR_set_robust_list 99
101#define __NR_get_robust_list 100
102#define __NR_nanosleep 101
103#define __NR_getitimer 102
104#define __NR_setitimer 103
105#define __NR_kexec_load 104
106#define __NR_init_module 105
107#define __NR_delete_module 106
108#define __NR_timer_create 107
109#define __NR_timer_gettime 108
110#define __NR_timer_getoverrun 109
111#define __NR_timer_settime 110
112#define __NR_timer_delete 111
113#define __NR_clock_settime 112
114#define __NR_clock_gettime 113
115#define __NR_clock_getres 114
116#define __NR_clock_nanosleep 115
117#define __NR_syslog 116
118#define __NR_ptrace 117
119#define __NR_sched_setparam 118
120#define __NR_sched_setscheduler 119
121#define __NR_sched_getscheduler 120
122#define __NR_sched_getparam 121
123#define __NR_sched_setaffinity 122
124#define __NR_sched_getaffinity 123
125#define __NR_sched_yield 124
126#define __NR_sched_get_priority_max 125
127#define __NR_sched_get_priority_min 126
128#define __NR_sched_rr_get_interval 127
129#define __NR_restart_syscall 128
130#define __NR_kill 129
131#define __NR_tkill 130
132#define __NR_tgkill 131
133#define __NR_sigaltstack 132
134#define __NR_rt_sigsuspend 133
135#define __NR_rt_sigaction 134
136#define __NR_rt_sigprocmask 135
137#define __NR_rt_sigpending 136
138#define __NR_rt_sigtimedwait 137
139#define __NR_rt_sigqueueinfo 138
140#define __NR_rt_sigreturn 139
141#define __NR_setpriority 140
142#define __NR_getpriority 141
143#define __NR_reboot 142
144#define __NR_setregid 143
145#define __NR_setgid 144
146#define __NR_setreuid 145
147#define __NR_setuid 146
148#define __NR_setresuid 147
149#define __NR_getresuid 148
150#define __NR_setresgid 149
151#define __NR_getresgid 150
152#define __NR_setfsuid 151
153#define __NR_setfsgid 152
154#define __NR_times 153
155#define __NR_setpgid 154
156#define __NR_getpgid 155
157#define __NR_getsid 156
158#define __NR_setsid 157
159#define __NR_getgroups 158
160#define __NR_setgroups 159
161#define __NR_uname 160
162#define __NR_sethostname 161
163#define __NR_setdomainname 162
164#define __NR_getrlimit 163
165#define __NR_setrlimit 164
166#define __NR_getrusage 165
167#define __NR_umask 166
168#define __NR_prctl 167
169#define __NR_getcpu 168
170#define __NR_gettimeofday 169
171#define __NR_settimeofday 170
172#define __NR_adjtimex 171
173#define __NR_getpid 172
174#define __NR_getppid 173
175#define __NR_getuid 174
176#define __NR_geteuid 175
177#define __NR_getgid 176
178#define __NR_getegid 177
179#define __NR_gettid 178
180#define __NR_sysinfo 179
181#define __NR_mq_open 180
182#define __NR_mq_unlink 181
183#define __NR_mq_timedsend 182
184#define __NR_mq_timedreceive 183
185#define __NR_mq_notify 184
186#define __NR_mq_getsetattr 185
187#define __NR_msgget 186
188#define __NR_msgctl 187
189#define __NR_msgrcv 188
190#define __NR_msgsnd 189
191#define __NR_semget 190
192#define __NR_semctl 191
193#define __NR_semtimedop 192
194#define __NR_semop 193
195#define __NR_shmget 194
196#define __NR_shmctl 195
197#define __NR_shmat 196
198#define __NR_shmdt 197
199#define __NR_socket 198
200#define __NR_socketpair 199
201#define __NR_bind 200
202#define __NR_listen 201
203#define __NR_accept 202
204#define __NR_connect 203
205#define __NR_getsockname 204
206#define __NR_getpeername 205
207#define __NR_sendto 206
208#define __NR_recvfrom 207
209#define __NR_setsockopt 208
210#define __NR_getsockopt 209
211#define __NR_shutdown 210
212#define __NR_sendmsg 211
213#define __NR_recvmsg 212
214#define __NR_readahead 213
215#define __NR_brk 214
216#define __NR_munmap 215
217#define __NR_mremap 216
218#define __NR_add_key 217
219#define __NR_request_key 218
220#define __NR_keyctl 219
221#define __NR_clone 220
222#define __NR_execve 221
223#define __NR_mmap 222
224#define __NR_fadvise64 223
225#define __NR_swapon 224
226#define __NR_swapoff 225
227#define __NR_mprotect 226
228#define __NR_msync 227
229#define __NR_mlock 228
230#define __NR_munlock 229
231#define __NR_mlockall 230
232#define __NR_munlockall 231
233#define __NR_mincore 232
234#define __NR_madvise 233
235#define __NR_remap_file_pages 234
236#define __NR_mbind 235
237#define __NR_get_mempolicy 236
238#define __NR_set_mempolicy 237
239#define __NR_migrate_pages 238
240#define __NR_move_pages 239
241#define __NR_rt_tgsigqueueinfo 240
242#define __NR_perf_event_open 241
243#define __NR_accept4 242
244#define __NR_recvmmsg 243
245#define __NR_wait4 260
246#define __NR_prlimit64 261
247#define __NR_fanotify_init 262
248#define __NR_fanotify_mark 263
249#define __NR_name_to_handle_at 264
250#define __NR_open_by_handle_at 265
251#define __NR_clock_adjtime 266
252#define __NR_syncfs 267
253#define __NR_setns 268
254#define __NR_sendmmsg 269
255#define __NR_process_vm_readv 270
256#define __NR_process_vm_writev 271
257#define __NR_kcmp 272
258#define __NR_finit_module 273
259#define __NR_sched_setattr 274
260#define __NR_sched_getattr 275
261#define __NR_renameat2 276
262#define __NR_seccomp 277
263#define __NR_getrandom 278
264#define __NR_memfd_create 279
265#define __NR_bpf 280
266#define __NR_execveat 281
267#define __NR_userfaultfd 282
268#define __NR_membarrier 283
269#define __NR_mlock2 284
270#define __NR_copy_file_range 285
271#define __NR_preadv2 286
272#define __NR_pwritev2 287
273#define __NR_pkey_mprotect 288
274#define __NR_pkey_alloc 289
275#define __NR_pkey_free 290
276#define __NR_statx 291
277#define __NR_io_pgetevents 292
278#define __NR_rseq 293
279#define __NR_kexec_file_load 294
280#define __NR_pidfd_send_signal 424
281#define __NR_io_uring_setup 425
282#define __NR_io_uring_enter 426
283#define __NR_io_uring_register 427
284
285#define SYS_io_setup 0
286#define SYS_io_destroy 1
287#define SYS_io_submit 2
288#define SYS_io_cancel 3
289#define SYS_io_getevents 4
290#define SYS_setxattr 5
291#define SYS_lsetxattr 6
292#define SYS_fsetxattr 7
293#define SYS_getxattr 8
294#define SYS_lgetxattr 9
295#define SYS_fgetxattr 10
296#define SYS_listxattr 11
297#define SYS_llistxattr 12
298#define SYS_flistxattr 13
299#define SYS_removexattr 14
300#define SYS_lremovexattr 15
301#define SYS_fremovexattr 16
302#define SYS_getcwd 17
303#define SYS_lookup_dcookie 18
304#define SYS_eventfd2 19
305#define SYS_epoll_create1 20
306#define SYS_epoll_ctl 21
307#define SYS_epoll_pwait 22
308#define SYS_dup 23
309#define SYS_dup3 24
310#define SYS_fcntl 25
311#define SYS_inotify_init1 26
312#define SYS_inotify_add_watch 27
313#define SYS_inotify_rm_watch 28
314#define SYS_ioctl 29
315#define SYS_ioprio_set 30
316#define SYS_ioprio_get 31
317#define SYS_flock 32
318#define SYS_mknodat 33
319#define SYS_mkdirat 34
320#define SYS_unlinkat 35
321#define SYS_symlinkat 36
322#define SYS_linkat 37
323#define SYS_renameat 38
324#define SYS_umount2 39
325#define SYS_mount 40
326#define SYS_pivot_root 41
327#define SYS_nfsservctl 42
328#define SYS_statfs 43
329#define SYS_fstatfs 44
330#define SYS_truncate 45
331#define SYS_ftruncate 46
332#define SYS_fallocate 47
333#define SYS_faccessat 48
334#define SYS_chdir 49
335#define SYS_fchdir 50
336#define SYS_chroot 51
337#define SYS_fchmod 52
338#define SYS_fchmodat 53
339#define SYS_fchownat 54
340#define SYS_fchown 55
341#define SYS_openat 56
342#define SYS_close 57
343#define SYS_vhangup 58
344#define SYS_pipe2 59
345#define SYS_quotactl 60
346#define SYS_getdents64 61
347#define SYS_lseek 62
348#define SYS_read 63
349#define SYS_write 64
350#define SYS_readv 65
351#define SYS_writev 66
352#define SYS_pread64 67
353#define SYS_pwrite64 68
354#define SYS_preadv 69
355#define SYS_pwritev 70
356#define SYS_sendfile 71
357#define SYS_pselect6 72
358#define SYS_ppoll 73
359#define SYS_signalfd4 74
360#define SYS_vmsplice 75
361#define SYS_splice 76
362#define SYS_tee 77
363#define SYS_readlinkat 78
364#define SYS_newfstatat 79
365#define SYS_fstat 80
366#define SYS_sync 81
367#define SYS_fsync 82
368#define SYS_fdatasync 83
369#define SYS_sync_file_range 84
370#define SYS_timerfd_create 85
371#define SYS_timerfd_settime 86
372#define SYS_timerfd_gettime 87
373#define SYS_utimensat 88
374#define SYS_acct 89
375#define SYS_capget 90
376#define SYS_capset 91
377#define SYS_personality 92
378#define SYS_exit 93
379#define SYS_exit_group 94
380#define SYS_waitid 95
381#define SYS_set_tid_address 96
382#define SYS_unshare 97
383#define SYS_futex 98
384#define SYS_set_robust_list 99
385#define SYS_get_robust_list 100
386#define SYS_nanosleep 101
387#define SYS_getitimer 102
388#define SYS_setitimer 103
389#define SYS_kexec_load 104
390#define SYS_init_module 105
391#define SYS_delete_module 106
392#define SYS_timer_create 107
393#define SYS_timer_gettime 108
394#define SYS_timer_getoverrun 109
395#define SYS_timer_settime 110
396#define SYS_timer_delete 111
397#define SYS_clock_settime 112
398#define SYS_clock_gettime 113
399#define SYS_clock_getres 114
400#define SYS_clock_nanosleep 115
401#define SYS_syslog 116
402#define SYS_ptrace 117
403#define SYS_sched_setparam 118
404#define SYS_sched_setscheduler 119
405#define SYS_sched_getscheduler 120
406#define SYS_sched_getparam 121
407#define SYS_sched_setaffinity 122
408#define SYS_sched_getaffinity 123
409#define SYS_sched_yield 124
410#define SYS_sched_get_priority_max 125
411#define SYS_sched_get_priority_min 126
412#define SYS_sched_rr_get_interval 127
413#define SYS_restart_syscall 128
414#define SYS_kill 129
415#define SYS_tkill 130
416#define SYS_tgkill 131
417#define SYS_sigaltstack 132
418#define SYS_rt_sigsuspend 133
419#define SYS_rt_sigaction 134
420#define SYS_rt_sigprocmask 135
421#define SYS_rt_sigpending 136
422#define SYS_rt_sigtimedwait 137
423#define SYS_rt_sigqueueinfo 138
424#define SYS_rt_sigreturn 139
425#define SYS_setpriority 140
426#define SYS_getpriority 141
427#define SYS_reboot 142
428#define SYS_setregid 143
429#define SYS_setgid 144
430#define SYS_setreuid 145
431#define SYS_setuid 146
432#define SYS_setresuid 147
433#define SYS_getresuid 148
434#define SYS_setresgid 149
435#define SYS_getresgid 150
436#define SYS_setfsuid 151
437#define SYS_setfsgid 152
438#define SYS_times 153
439#define SYS_setpgid 154
440#define SYS_getpgid 155
441#define SYS_getsid 156
442#define SYS_setsid 157
443#define SYS_getgroups 158
444#define SYS_setgroups 159
445#define SYS_uname 160
446#define SYS_sethostname 161
447#define SYS_setdomainname 162
448#define SYS_getrlimit 163
449#define SYS_setrlimit 164
450#define SYS_getrusage 165
451#define SYS_umask 166
452#define SYS_prctl 167
453#define SYS_getcpu 168
454#define SYS_gettimeofday 169
455#define SYS_settimeofday 170
456#define SYS_adjtimex 171
457#define SYS_getpid 172
458#define SYS_getppid 173
459#define SYS_getuid 174
460#define SYS_geteuid 175
461#define SYS_getgid 176
462#define SYS_getegid 177
463#define SYS_gettid 178
464#define SYS_sysinfo 179
465#define SYS_mq_open 180
466#define SYS_mq_unlink 181
467#define SYS_mq_timedsend 182
468#define SYS_mq_timedreceive 183
469#define SYS_mq_notify 184
470#define SYS_mq_getsetattr 185
471#define SYS_msgget 186
472#define SYS_msgctl 187
473#define SYS_msgrcv 188
474#define SYS_msgsnd 189
475#define SYS_semget 190
476#define SYS_semctl 191
477#define SYS_semtimedop 192
478#define SYS_semop 193
479#define SYS_shmget 194
480#define SYS_shmctl 195
481#define SYS_shmat 196
482#define SYS_shmdt 197
483#define SYS_socket 198
484#define SYS_socketpair 199
485#define SYS_bind 200
486#define SYS_listen 201
487#define SYS_accept 202
488#define SYS_connect 203
489#define SYS_getsockname 204
490#define SYS_getpeername 205
491#define SYS_sendto 206
492#define SYS_recvfrom 207
493#define SYS_setsockopt 208
494#define SYS_getsockopt 209
495#define SYS_shutdown 210
496#define SYS_sendmsg 211
497#define SYS_recvmsg 212
498#define SYS_readahead 213
499#define SYS_brk 214
500#define SYS_munmap 215
501#define SYS_mremap 216
502#define SYS_add_key 217
503#define SYS_request_key 218
504#define SYS_keyctl 219
505#define SYS_clone 220
506#define SYS_execve 221
507#define SYS_mmap 222
508#define SYS_fadvise64 223
509#define SYS_swapon 224
510#define SYS_swapoff 225
511#define SYS_mprotect 226
512#define SYS_msync 227
513#define SYS_mlock 228
514#define SYS_munlock 229
515#define SYS_mlockall 230
516#define SYS_munlockall 231
517#define SYS_mincore 232
518#define SYS_madvise 233
519#define SYS_remap_file_pages 234
520#define SYS_mbind 235
521#define SYS_get_mempolicy 236
522#define SYS_set_mempolicy 237
523#define SYS_migrate_pages 238
524#define SYS_move_pages 239
525#define SYS_rt_tgsigqueueinfo 240
526#define SYS_perf_event_open 241
527#define SYS_accept4 242
528#define SYS_recvmmsg 243
529#define SYS_wait4 260
530#define SYS_prlimit64 261
531#define SYS_fanotify_init 262
532#define SYS_fanotify_mark 263
533#define SYS_name_to_handle_at 264
534#define SYS_open_by_handle_at 265
535#define SYS_clock_adjtime 266
536#define SYS_syncfs 267
537#define SYS_setns 268
538#define SYS_sendmmsg 269
539#define SYS_process_vm_readv 270
540#define SYS_process_vm_writev 271
541#define SYS_kcmp 272
542#define SYS_finit_module 273
543#define SYS_sched_setattr 274
544#define SYS_sched_getattr 275
545#define SYS_renameat2 276
546#define SYS_seccomp 277
547#define SYS_getrandom 278
548#define SYS_memfd_create 279
549#define SYS_bpf 280
550#define SYS_execveat 281
551#define SYS_userfaultfd 282
552#define SYS_membarrier 283
553#define SYS_mlock2 284
554#define SYS_copy_file_range 285
555#define SYS_preadv2 286
556#define SYS_pwritev2 287
557#define SYS_pkey_mprotect 288
558#define SYS_pkey_alloc 289
559#define SYS_pkey_free 290
560#define SYS_statx 291
561#define SYS_io_pgetevents 292
562#define SYS_rseq 293
563#define SYS_kexec_file_load 294
564#define SYS_pidfd_send_signal 424
565#define SYS_io_uring_setup 425
566#define SYS_io_uring_enter 426
567#define SYS_io_uring_register 427
\ No newline at end of file
lib/libc/include/arm-linux-musl/bits/alltypes.h created+390
......@@ -0,0 +1,390 @@
1#define _Addr int
2#define _Int64 long long
3#define _Reg int
4
5#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
6typedef __builtin_va_list va_list;
7#define __DEFINED_va_list
8#endif
9
10#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
11typedef __builtin_va_list __isoc_va_list;
12#define __DEFINED___isoc_va_list
13#endif
14
15
16#ifndef __cplusplus
17#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
18typedef unsigned wchar_t;
19#define __DEFINED_wchar_t
20#endif
21
22#endif
23
24#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
25typedef float float_t;
26#define __DEFINED_float_t
27#endif
28
29#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
30typedef double double_t;
31#define __DEFINED_double_t
32#endif
33
34
35#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
36typedef struct { long long __ll; long double __ld; } max_align_t;
37#define __DEFINED_max_align_t
38#endif
39
40
41#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
42typedef long time_t;
43#define __DEFINED_time_t
44#endif
45
46#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
47typedef long suseconds_t;
48#define __DEFINED_suseconds_t
49#endif
50
51
52#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
53typedef struct { union { int __i[9]; volatile int __vi[9]; unsigned __s[9]; } __u; } pthread_attr_t;
54#define __DEFINED_pthread_attr_t
55#endif
56
57#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
58typedef struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } pthread_mutex_t;
59#define __DEFINED_pthread_mutex_t
60#endif
61
62#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
63typedef struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } mtx_t;
64#define __DEFINED_mtx_t
65#endif
66
67#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
68typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } pthread_cond_t;
69#define __DEFINED_pthread_cond_t
70#endif
71
72#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
73typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } cnd_t;
74#define __DEFINED_cnd_t
75#endif
76
77#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
78typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[8]; } __u; } pthread_rwlock_t;
79#define __DEFINED_pthread_rwlock_t
80#endif
81
82#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
83typedef struct { union { int __i[5]; volatile int __vi[5]; void *__p[5]; } __u; } pthread_barrier_t;
84#define __DEFINED_pthread_barrier_t
85#endif
86
87#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
88typedef unsigned _Addr size_t;
89#define __DEFINED_size_t
90#endif
91
92#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
93typedef unsigned _Addr uintptr_t;
94#define __DEFINED_uintptr_t
95#endif
96
97#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
98typedef _Addr ptrdiff_t;
99#define __DEFINED_ptrdiff_t
100#endif
101
102#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
103typedef _Addr ssize_t;
104#define __DEFINED_ssize_t
105#endif
106
107#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
108typedef _Addr intptr_t;
109#define __DEFINED_intptr_t
110#endif
111
112#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
113typedef _Addr regoff_t;
114#define __DEFINED_regoff_t
115#endif
116
117#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
118typedef _Reg register_t;
119#define __DEFINED_register_t
120#endif
121
122
123#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
124typedef signed char int8_t;
125#define __DEFINED_int8_t
126#endif
127
128#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
129typedef signed short int16_t;
130#define __DEFINED_int16_t
131#endif
132
133#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
134typedef signed int int32_t;
135#define __DEFINED_int32_t
136#endif
137
138#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
139typedef signed _Int64 int64_t;
140#define __DEFINED_int64_t
141#endif
142
143#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
144typedef signed _Int64 intmax_t;
145#define __DEFINED_intmax_t
146#endif
147
148#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
149typedef unsigned char uint8_t;
150#define __DEFINED_uint8_t
151#endif
152
153#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
154typedef unsigned short uint16_t;
155#define __DEFINED_uint16_t
156#endif
157
158#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
159typedef unsigned int uint32_t;
160#define __DEFINED_uint32_t
161#endif
162
163#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
164typedef unsigned _Int64 uint64_t;
165#define __DEFINED_uint64_t
166#endif
167
168#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
169typedef unsigned _Int64 u_int64_t;
170#define __DEFINED_u_int64_t
171#endif
172
173#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
174typedef unsigned _Int64 uintmax_t;
175#define __DEFINED_uintmax_t
176#endif
177
178
179#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
180typedef unsigned mode_t;
181#define __DEFINED_mode_t
182#endif
183
184#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
185typedef unsigned _Reg nlink_t;
186#define __DEFINED_nlink_t
187#endif
188
189#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
190typedef _Int64 off_t;
191#define __DEFINED_off_t
192#endif
193
194#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
195typedef unsigned _Int64 ino_t;
196#define __DEFINED_ino_t
197#endif
198
199#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
200typedef unsigned _Int64 dev_t;
201#define __DEFINED_dev_t
202#endif
203
204#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
205typedef long blksize_t;
206#define __DEFINED_blksize_t
207#endif
208
209#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
210typedef _Int64 blkcnt_t;
211#define __DEFINED_blkcnt_t
212#endif
213
214#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
215typedef unsigned _Int64 fsblkcnt_t;
216#define __DEFINED_fsblkcnt_t
217#endif
218
219#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
220typedef unsigned _Int64 fsfilcnt_t;
221#define __DEFINED_fsfilcnt_t
222#endif
223
224
225#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
226typedef unsigned wint_t;
227#define __DEFINED_wint_t
228#endif
229
230#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
231typedef unsigned long wctype_t;
232#define __DEFINED_wctype_t
233#endif
234
235
236#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
237typedef void * timer_t;
238#define __DEFINED_timer_t
239#endif
240
241#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
242typedef int clockid_t;
243#define __DEFINED_clockid_t
244#endif
245
246#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
247typedef long clock_t;
248#define __DEFINED_clock_t
249#endif
250
251#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
252struct timeval { time_t tv_sec; suseconds_t tv_usec; };
253#define __DEFINED_struct_timeval
254#endif
255
256#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
257struct timespec { time_t tv_sec; long tv_nsec; };
258#define __DEFINED_struct_timespec
259#endif
260
261
262#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
263typedef int pid_t;
264#define __DEFINED_pid_t
265#endif
266
267#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
268typedef unsigned id_t;
269#define __DEFINED_id_t
270#endif
271
272#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
273typedef unsigned uid_t;
274#define __DEFINED_uid_t
275#endif
276
277#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
278typedef unsigned gid_t;
279#define __DEFINED_gid_t
280#endif
281
282#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
283typedef int key_t;
284#define __DEFINED_key_t
285#endif
286
287#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
288typedef unsigned useconds_t;
289#define __DEFINED_useconds_t
290#endif
291
292
293#ifdef __cplusplus
294#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
295typedef unsigned long pthread_t;
296#define __DEFINED_pthread_t
297#endif
298
299#else
300#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
301typedef struct __pthread * pthread_t;
302#define __DEFINED_pthread_t
303#endif
304
305#endif
306#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
307typedef int pthread_once_t;
308#define __DEFINED_pthread_once_t
309#endif
310
311#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
312typedef unsigned pthread_key_t;
313#define __DEFINED_pthread_key_t
314#endif
315
316#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
317typedef int pthread_spinlock_t;
318#define __DEFINED_pthread_spinlock_t
319#endif
320
321#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
322typedef struct { unsigned __attr; } pthread_mutexattr_t;
323#define __DEFINED_pthread_mutexattr_t
324#endif
325
326#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
327typedef struct { unsigned __attr; } pthread_condattr_t;
328#define __DEFINED_pthread_condattr_t
329#endif
330
331#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
332typedef struct { unsigned __attr; } pthread_barrierattr_t;
333#define __DEFINED_pthread_barrierattr_t
334#endif
335
336#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
337typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
338#define __DEFINED_pthread_rwlockattr_t
339#endif
340
341
342#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
343struct _IO_FILE { char __x; };
344#define __DEFINED_struct__IO_FILE
345#endif
346
347#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
348typedef struct _IO_FILE FILE;
349#define __DEFINED_FILE
350#endif
351
352
353#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
354typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
355#define __DEFINED_mbstate_t
356#endif
357
358
359#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
360typedef struct __locale_struct * locale_t;
361#define __DEFINED_locale_t
362#endif
363
364
365#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
366typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
367#define __DEFINED_sigset_t
368#endif
369
370
371#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
372struct iovec { void *iov_base; size_t iov_len; };
373#define __DEFINED_struct_iovec
374#endif
375
376
377#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
378typedef unsigned socklen_t;
379#define __DEFINED_socklen_t
380#endif
381
382#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
383typedef unsigned short sa_family_t;
384#define __DEFINED_sa_family_t
385#endif
386
387
388#undef _Addr
389#undef _Int64
390#undef _Reg
\ No newline at end of file
lib/libc/include/arm-linux-musl/bits/syscall.h created+774
......@@ -0,0 +1,774 @@
1#define __NR_restart_syscall 0
2#define __NR_exit 1
3#define __NR_fork 2
4#define __NR_read 3
5#define __NR_write 4
6#define __NR_open 5
7#define __NR_close 6
8#define __NR_creat 8
9#define __NR_link 9
10#define __NR_unlink 10
11#define __NR_execve 11
12#define __NR_chdir 12
13#define __NR_mknod 14
14#define __NR_chmod 15
15#define __NR_lchown 16
16#define __NR_lseek 19
17#define __NR_getpid 20
18#define __NR_mount 21
19#define __NR_setuid 23
20#define __NR_getuid 24
21#define __NR_ptrace 26
22#define __NR_pause 29
23#define __NR_access 33
24#define __NR_nice 34
25#define __NR_sync 36
26#define __NR_kill 37
27#define __NR_rename 38
28#define __NR_mkdir 39
29#define __NR_rmdir 40
30#define __NR_dup 41
31#define __NR_pipe 42
32#define __NR_times 43
33#define __NR_brk 45
34#define __NR_setgid 46
35#define __NR_getgid 47
36#define __NR_geteuid 49
37#define __NR_getegid 50
38#define __NR_acct 51
39#define __NR_umount2 52
40#define __NR_ioctl 54
41#define __NR_fcntl 55
42#define __NR_setpgid 57
43#define __NR_umask 60
44#define __NR_chroot 61
45#define __NR_ustat 62
46#define __NR_dup2 63
47#define __NR_getppid 64
48#define __NR_getpgrp 65
49#define __NR_setsid 66
50#define __NR_sigaction 67
51#define __NR_setreuid 70
52#define __NR_setregid 71
53#define __NR_sigsuspend 72
54#define __NR_sigpending 73
55#define __NR_sethostname 74
56#define __NR_setrlimit 75
57#define __NR_getrusage 77
58#define __NR_gettimeofday 78
59#define __NR_settimeofday 79
60#define __NR_getgroups 80
61#define __NR_setgroups 81
62#define __NR_symlink 83
63#define __NR_readlink 85
64#define __NR_uselib 86
65#define __NR_swapon 87
66#define __NR_reboot 88
67#define __NR_munmap 91
68#define __NR_truncate 92
69#define __NR_ftruncate 93
70#define __NR_fchmod 94
71#define __NR_fchown 95
72#define __NR_getpriority 96
73#define __NR_setpriority 97
74#define __NR_statfs 99
75#define __NR_fstatfs 100
76#define __NR_syslog 103
77#define __NR_setitimer 104
78#define __NR_getitimer 105
79#define __NR_stat 106
80#define __NR_lstat 107
81#define __NR_fstat 108
82#define __NR_vhangup 111
83#define __NR_wait4 114
84#define __NR_swapoff 115
85#define __NR_sysinfo 116
86#define __NR_fsync 118
87#define __NR_sigreturn 119
88#define __NR_clone 120
89#define __NR_setdomainname 121
90#define __NR_uname 122
91#define __NR_adjtimex 124
92#define __NR_mprotect 125
93#define __NR_sigprocmask 126
94#define __NR_init_module 128
95#define __NR_delete_module 129
96#define __NR_quotactl 131
97#define __NR_getpgid 132
98#define __NR_fchdir 133
99#define __NR_bdflush 134
100#define __NR_sysfs 135
101#define __NR_personality 136
102#define __NR_setfsuid 138
103#define __NR_setfsgid 139
104#define __NR__llseek 140
105#define __NR_getdents 141
106#define __NR__newselect 142
107#define __NR_flock 143
108#define __NR_msync 144
109#define __NR_readv 145
110#define __NR_writev 146
111#define __NR_getsid 147
112#define __NR_fdatasync 148
113#define __NR__sysctl 149
114#define __NR_mlock 150
115#define __NR_munlock 151
116#define __NR_mlockall 152
117#define __NR_munlockall 153
118#define __NR_sched_setparam 154
119#define __NR_sched_getparam 155
120#define __NR_sched_setscheduler 156
121#define __NR_sched_getscheduler 157
122#define __NR_sched_yield 158
123#define __NR_sched_get_priority_max 159
124#define __NR_sched_get_priority_min 160
125#define __NR_sched_rr_get_interval 161
126#define __NR_nanosleep 162
127#define __NR_mremap 163
128#define __NR_setresuid 164
129#define __NR_getresuid 165
130#define __NR_poll 168
131#define __NR_nfsservctl 169
132#define __NR_setresgid 170
133#define __NR_getresgid 171
134#define __NR_prctl 172
135#define __NR_rt_sigreturn 173
136#define __NR_rt_sigaction 174
137#define __NR_rt_sigprocmask 175
138#define __NR_rt_sigpending 176
139#define __NR_rt_sigtimedwait 177
140#define __NR_rt_sigqueueinfo 178
141#define __NR_rt_sigsuspend 179
142#define __NR_pread64 180
143#define __NR_pwrite64 181
144#define __NR_chown 182
145#define __NR_getcwd 183
146#define __NR_capget 184
147#define __NR_capset 185
148#define __NR_sigaltstack 186
149#define __NR_sendfile 187
150#define __NR_vfork 190
151#define __NR_ugetrlimit 191
152#define __NR_mmap2 192
153#define __NR_truncate64 193
154#define __NR_ftruncate64 194
155#define __NR_stat64 195
156#define __NR_lstat64 196
157#define __NR_fstat64 197
158#define __NR_lchown32 198
159#define __NR_getuid32 199
160#define __NR_getgid32 200
161#define __NR_geteuid32 201
162#define __NR_getegid32 202
163#define __NR_setreuid32 203
164#define __NR_setregid32 204
165#define __NR_getgroups32 205
166#define __NR_setgroups32 206
167#define __NR_fchown32 207
168#define __NR_setresuid32 208
169#define __NR_getresuid32 209
170#define __NR_setresgid32 210
171#define __NR_getresgid32 211
172#define __NR_chown32 212
173#define __NR_setuid32 213
174#define __NR_setgid32 214
175#define __NR_setfsuid32 215
176#define __NR_setfsgid32 216
177#define __NR_getdents64 217
178#define __NR_pivot_root 218
179#define __NR_mincore 219
180#define __NR_madvise 220
181#define __NR_fcntl64 221
182#define __NR_gettid 224
183#define __NR_readahead 225
184#define __NR_setxattr 226
185#define __NR_lsetxattr 227
186#define __NR_fsetxattr 228
187#define __NR_getxattr 229
188#define __NR_lgetxattr 230
189#define __NR_fgetxattr 231
190#define __NR_listxattr 232
191#define __NR_llistxattr 233
192#define __NR_flistxattr 234
193#define __NR_removexattr 235
194#define __NR_lremovexattr 236
195#define __NR_fremovexattr 237
196#define __NR_tkill 238
197#define __NR_sendfile64 239
198#define __NR_futex 240
199#define __NR_sched_setaffinity 241
200#define __NR_sched_getaffinity 242
201#define __NR_io_setup 243
202#define __NR_io_destroy 244
203#define __NR_io_getevents 245
204#define __NR_io_submit 246
205#define __NR_io_cancel 247
206#define __NR_exit_group 248
207#define __NR_lookup_dcookie 249
208#define __NR_epoll_create 250
209#define __NR_epoll_ctl 251
210#define __NR_epoll_wait 252
211#define __NR_remap_file_pages 253
212#define __NR_set_tid_address 256
213#define __NR_timer_create 257
214#define __NR_timer_settime 258
215#define __NR_timer_gettime 259
216#define __NR_timer_getoverrun 260
217#define __NR_timer_delete 261
218#define __NR_clock_settime 262
219#define __NR_clock_gettime 263
220#define __NR_clock_getres 264
221#define __NR_clock_nanosleep 265
222#define __NR_statfs64 266
223#define __NR_fstatfs64 267
224#define __NR_tgkill 268
225#define __NR_utimes 269
226#define __NR_fadvise64_64 270
227#define __NR_arm_fadvise64_64 270
228#define __NR_pciconfig_iobase 271
229#define __NR_pciconfig_read 272
230#define __NR_pciconfig_write 273
231#define __NR_mq_open 274
232#define __NR_mq_unlink 275
233#define __NR_mq_timedsend 276
234#define __NR_mq_timedreceive 277
235#define __NR_mq_notify 278
236#define __NR_mq_getsetattr 279
237#define __NR_waitid 280
238#define __NR_socket 281
239#define __NR_bind 282
240#define __NR_connect 283
241#define __NR_listen 284
242#define __NR_accept 285
243#define __NR_getsockname 286
244#define __NR_getpeername 287
245#define __NR_socketpair 288
246#define __NR_send 289
247#define __NR_sendto 290
248#define __NR_recv 291
249#define __NR_recvfrom 292
250#define __NR_shutdown 293
251#define __NR_setsockopt 294
252#define __NR_getsockopt 295
253#define __NR_sendmsg 296
254#define __NR_recvmsg 297
255#define __NR_semop 298
256#define __NR_semget 299
257#define __NR_semctl 300
258#define __NR_msgsnd 301
259#define __NR_msgrcv 302
260#define __NR_msgget 303
261#define __NR_msgctl 304
262#define __NR_shmat 305
263#define __NR_shmdt 306
264#define __NR_shmget 307
265#define __NR_shmctl 308
266#define __NR_add_key 309
267#define __NR_request_key 310
268#define __NR_keyctl 311
269#define __NR_semtimedop 312
270#define __NR_vserver 313
271#define __NR_ioprio_set 314
272#define __NR_ioprio_get 315
273#define __NR_inotify_init 316
274#define __NR_inotify_add_watch 317
275#define __NR_inotify_rm_watch 318
276#define __NR_mbind 319
277#define __NR_get_mempolicy 320
278#define __NR_set_mempolicy 321
279#define __NR_openat 322
280#define __NR_mkdirat 323
281#define __NR_mknodat 324
282#define __NR_fchownat 325
283#define __NR_futimesat 326
284#define __NR_fstatat64 327
285#define __NR_unlinkat 328
286#define __NR_renameat 329
287#define __NR_linkat 330
288#define __NR_symlinkat 331
289#define __NR_readlinkat 332
290#define __NR_fchmodat 333
291#define __NR_faccessat 334
292#define __NR_pselect6 335
293#define __NR_ppoll 336
294#define __NR_unshare 337
295#define __NR_set_robust_list 338
296#define __NR_get_robust_list 339
297#define __NR_splice 340
298#define __NR_sync_file_range2 341
299#define __NR_arm_sync_file_range 341
300#define __NR_tee 342
301#define __NR_vmsplice 343
302#define __NR_move_pages 344
303#define __NR_getcpu 345
304#define __NR_epoll_pwait 346
305#define __NR_kexec_load 347
306#define __NR_utimensat 348
307#define __NR_signalfd 349
308#define __NR_timerfd_create 350
309#define __NR_eventfd 351
310#define __NR_fallocate 352
311#define __NR_timerfd_settime 353
312#define __NR_timerfd_gettime 354
313#define __NR_signalfd4 355
314#define __NR_eventfd2 356
315#define __NR_epoll_create1 357
316#define __NR_dup3 358
317#define __NR_pipe2 359
318#define __NR_inotify_init1 360
319#define __NR_preadv 361
320#define __NR_pwritev 362
321#define __NR_rt_tgsigqueueinfo 363
322#define __NR_perf_event_open 364
323#define __NR_recvmmsg 365
324#define __NR_accept4 366
325#define __NR_fanotify_init 367
326#define __NR_fanotify_mark 368
327#define __NR_prlimit64 369
328#define __NR_name_to_handle_at 370
329#define __NR_open_by_handle_at 371
330#define __NR_clock_adjtime 372
331#define __NR_syncfs 373
332#define __NR_sendmmsg 374
333#define __NR_setns 375
334#define __NR_process_vm_readv 376
335#define __NR_process_vm_writev 377
336#define __NR_kcmp 378
337#define __NR_finit_module 379
338#define __NR_sched_setattr 380
339#define __NR_sched_getattr 381
340#define __NR_renameat2 382
341#define __NR_seccomp 383
342#define __NR_getrandom 384
343#define __NR_memfd_create 385
344#define __NR_bpf 386
345#define __NR_execveat 387
346#define __NR_userfaultfd 388
347#define __NR_membarrier 389
348#define __NR_mlock2 390
349#define __NR_copy_file_range 391
350#define __NR_preadv2 392
351#define __NR_pwritev2 393
352#define __NR_pkey_mprotect 394
353#define __NR_pkey_alloc 395
354#define __NR_pkey_free 396
355#define __NR_statx 397
356#define __NR_rseq 398
357#define __NR_io_pgetevents 399
358#define __NR_migrate_pages 400
359#define __NR_kexec_file_load 401
360#define __NR_clock_gettime64 403
361#define __NR_clock_settime64 404
362#define __NR_clock_adjtime64 405
363#define __NR_clock_getres_time64 406
364#define __NR_clock_nanosleep_time64 407
365#define __NR_timer_gettime64 408
366#define __NR_timer_settime64 409
367#define __NR_timerfd_gettime64 410
368#define __NR_timerfd_settime64 411
369#define __NR_utimensat_time64 412
370#define __NR_pselect6_time64 413
371#define __NR_ppoll_time64 414
372#define __NR_io_pgetevents_time64 416
373#define __NR_recvmmsg_time64 417
374#define __NR_mq_timedsend_time64 418
375#define __NR_mq_timedreceive_time64 419
376#define __NR_semtimedop_time64 420
377#define __NR_rt_sigtimedwait_time64 421
378#define __NR_futex_time64 422
379#define __NR_sched_rr_get_interval_time64 423
380#define __NR_pidfd_send_signal 424
381#define __NR_io_uring_setup 425
382#define __NR_io_uring_enter 426
383#define __NR_io_uring_register 427
384
385#define __ARM_NR_breakpoint 0x0f0001
386#define __ARM_NR_cacheflush 0x0f0002
387#define __ARM_NR_usr26 0x0f0003
388#define __ARM_NR_usr32 0x0f0004
389#define __ARM_NR_set_tls 0x0f0005
390#define __ARM_NR_get_tls 0x0f0006
391
392#define SYS_restart_syscall 0
393#define SYS_exit 1
394#define SYS_fork 2
395#define SYS_read 3
396#define SYS_write 4
397#define SYS_open 5
398#define SYS_close 6
399#define SYS_creat 8
400#define SYS_link 9
401#define SYS_unlink 10
402#define SYS_execve 11
403#define SYS_chdir 12
404#define SYS_mknod 14
405#define SYS_chmod 15
406#define SYS_lchown 16
407#define SYS_lseek 19
408#define SYS_getpid 20
409#define SYS_mount 21
410#define SYS_setuid 23
411#define SYS_getuid 24
412#define SYS_ptrace 26
413#define SYS_pause 29
414#define SYS_access 33
415#define SYS_nice 34
416#define SYS_sync 36
417#define SYS_kill 37
418#define SYS_rename 38
419#define SYS_mkdir 39
420#define SYS_rmdir 40
421#define SYS_dup 41
422#define SYS_pipe 42
423#define SYS_times 43
424#define SYS_brk 45
425#define SYS_setgid 46
426#define SYS_getgid 47
427#define SYS_geteuid 49
428#define SYS_getegid 50
429#define SYS_acct 51
430#define SYS_umount2 52
431#define SYS_ioctl 54
432#define SYS_fcntl 55
433#define SYS_setpgid 57
434#define SYS_umask 60
435#define SYS_chroot 61
436#define SYS_ustat 62
437#define SYS_dup2 63
438#define SYS_getppid 64
439#define SYS_getpgrp 65
440#define SYS_setsid 66
441#define SYS_sigaction 67
442#define SYS_setreuid 70
443#define SYS_setregid 71
444#define SYS_sigsuspend 72
445#define SYS_sigpending 73
446#define SYS_sethostname 74
447#define SYS_setrlimit 75
448#define SYS_getrusage 77
449#define SYS_gettimeofday 78
450#define SYS_settimeofday 79
451#define SYS_getgroups 80
452#define SYS_setgroups 81
453#define SYS_symlink 83
454#define SYS_readlink 85
455#define SYS_uselib 86
456#define SYS_swapon 87
457#define SYS_reboot 88
458#define SYS_munmap 91
459#define SYS_truncate 92
460#define SYS_ftruncate 93
461#define SYS_fchmod 94
462#define SYS_fchown 95
463#define SYS_getpriority 96
464#define SYS_setpriority 97
465#define SYS_statfs 99
466#define SYS_fstatfs 100
467#define SYS_syslog 103
468#define SYS_setitimer 104
469#define SYS_getitimer 105
470#define SYS_stat 106
471#define SYS_lstat 107
472#define SYS_fstat 108
473#define SYS_vhangup 111
474#define SYS_wait4 114
475#define SYS_swapoff 115
476#define SYS_sysinfo 116
477#define SYS_fsync 118
478#define SYS_sigreturn 119
479#define SYS_clone 120
480#define SYS_setdomainname 121
481#define SYS_uname 122
482#define SYS_adjtimex 124
483#define SYS_mprotect 125
484#define SYS_sigprocmask 126
485#define SYS_init_module 128
486#define SYS_delete_module 129
487#define SYS_quotactl 131
488#define SYS_getpgid 132
489#define SYS_fchdir 133
490#define SYS_bdflush 134
491#define SYS_sysfs 135
492#define SYS_personality 136
493#define SYS_setfsuid 138
494#define SYS_setfsgid 139
495#define SYS__llseek 140
496#define SYS_getdents 141
497#define SYS__newselect 142
498#define SYS_flock 143
499#define SYS_msync 144
500#define SYS_readv 145
501#define SYS_writev 146
502#define SYS_getsid 147
503#define SYS_fdatasync 148
504#define SYS__sysctl 149
505#define SYS_mlock 150
506#define SYS_munlock 151
507#define SYS_mlockall 152
508#define SYS_munlockall 153
509#define SYS_sched_setparam 154
510#define SYS_sched_getparam 155
511#define SYS_sched_setscheduler 156
512#define SYS_sched_getscheduler 157
513#define SYS_sched_yield 158
514#define SYS_sched_get_priority_max 159
515#define SYS_sched_get_priority_min 160
516#define SYS_sched_rr_get_interval 161
517#define SYS_nanosleep 162
518#define SYS_mremap 163
519#define SYS_setresuid 164
520#define SYS_getresuid 165
521#define SYS_poll 168
522#define SYS_nfsservctl 169
523#define SYS_setresgid 170
524#define SYS_getresgid 171
525#define SYS_prctl 172
526#define SYS_rt_sigreturn 173
527#define SYS_rt_sigaction 174
528#define SYS_rt_sigprocmask 175
529#define SYS_rt_sigpending 176
530#define SYS_rt_sigtimedwait 177
531#define SYS_rt_sigqueueinfo 178
532#define SYS_rt_sigsuspend 179
533#define SYS_pread64 180
534#define SYS_pwrite64 181
535#define SYS_chown 182
536#define SYS_getcwd 183
537#define SYS_capget 184
538#define SYS_capset 185
539#define SYS_sigaltstack 186
540#define SYS_sendfile 187
541#define SYS_vfork 190
542#define SYS_ugetrlimit 191
543#define SYS_mmap2 192
544#define SYS_truncate64 193
545#define SYS_ftruncate64 194
546#define SYS_stat64 195
547#define SYS_lstat64 196
548#define SYS_fstat64 197
549#define SYS_lchown32 198
550#define SYS_getuid32 199
551#define SYS_getgid32 200
552#define SYS_geteuid32 201
553#define SYS_getegid32 202
554#define SYS_setreuid32 203
555#define SYS_setregid32 204
556#define SYS_getgroups32 205
557#define SYS_setgroups32 206
558#define SYS_fchown32 207
559#define SYS_setresuid32 208
560#define SYS_getresuid32 209
561#define SYS_setresgid32 210
562#define SYS_getresgid32 211
563#define SYS_chown32 212
564#define SYS_setuid32 213
565#define SYS_setgid32 214
566#define SYS_setfsuid32 215
567#define SYS_setfsgid32 216
568#define SYS_getdents64 217
569#define SYS_pivot_root 218
570#define SYS_mincore 219
571#define SYS_madvise 220
572#define SYS_fcntl64 221
573#define SYS_gettid 224
574#define SYS_readahead 225
575#define SYS_setxattr 226
576#define SYS_lsetxattr 227
577#define SYS_fsetxattr 228
578#define SYS_getxattr 229
579#define SYS_lgetxattr 230
580#define SYS_fgetxattr 231
581#define SYS_listxattr 232
582#define SYS_llistxattr 233
583#define SYS_flistxattr 234
584#define SYS_removexattr 235
585#define SYS_lremovexattr 236
586#define SYS_fremovexattr 237
587#define SYS_tkill 238
588#define SYS_sendfile64 239
589#define SYS_futex 240
590#define SYS_sched_setaffinity 241
591#define SYS_sched_getaffinity 242
592#define SYS_io_setup 243
593#define SYS_io_destroy 244
594#define SYS_io_getevents 245
595#define SYS_io_submit 246
596#define SYS_io_cancel 247
597#define SYS_exit_group 248
598#define SYS_lookup_dcookie 249
599#define SYS_epoll_create 250
600#define SYS_epoll_ctl 251
601#define SYS_epoll_wait 252
602#define SYS_remap_file_pages 253
603#define SYS_set_tid_address 256
604#define SYS_timer_create 257
605#define SYS_timer_settime 258
606#define SYS_timer_gettime 259
607#define SYS_timer_getoverrun 260
608#define SYS_timer_delete 261
609#define SYS_clock_settime 262
610#define SYS_clock_gettime 263
611#define SYS_clock_getres 264
612#define SYS_clock_nanosleep 265
613#define SYS_statfs64 266
614#define SYS_fstatfs64 267
615#define SYS_tgkill 268
616#define SYS_utimes 269
617#define SYS_fadvise64_64 270
618#define SYS_arm_fadvise64_64 270
619#define SYS_pciconfig_iobase 271
620#define SYS_pciconfig_read 272
621#define SYS_pciconfig_write 273
622#define SYS_mq_open 274
623#define SYS_mq_unlink 275
624#define SYS_mq_timedsend 276
625#define SYS_mq_timedreceive 277
626#define SYS_mq_notify 278
627#define SYS_mq_getsetattr 279
628#define SYS_waitid 280
629#define SYS_socket 281
630#define SYS_bind 282
631#define SYS_connect 283
632#define SYS_listen 284
633#define SYS_accept 285
634#define SYS_getsockname 286
635#define SYS_getpeername 287
636#define SYS_socketpair 288
637#define SYS_send 289
638#define SYS_sendto 290
639#define SYS_recv 291
640#define SYS_recvfrom 292
641#define SYS_shutdown 293
642#define SYS_setsockopt 294
643#define SYS_getsockopt 295
644#define SYS_sendmsg 296
645#define SYS_recvmsg 297
646#define SYS_semop 298
647#define SYS_semget 299
648#define SYS_semctl 300
649#define SYS_msgsnd 301
650#define SYS_msgrcv 302
651#define SYS_msgget 303
652#define SYS_msgctl 304
653#define SYS_shmat 305
654#define SYS_shmdt 306
655#define SYS_shmget 307
656#define SYS_shmctl 308
657#define SYS_add_key 309
658#define SYS_request_key 310
659#define SYS_keyctl 311
660#define SYS_semtimedop 312
661#define SYS_vserver 313
662#define SYS_ioprio_set 314
663#define SYS_ioprio_get 315
664#define SYS_inotify_init 316
665#define SYS_inotify_add_watch 317
666#define SYS_inotify_rm_watch 318
667#define SYS_mbind 319
668#define SYS_get_mempolicy 320
669#define SYS_set_mempolicy 321
670#define SYS_openat 322
671#define SYS_mkdirat 323
672#define SYS_mknodat 324
673#define SYS_fchownat 325
674#define SYS_futimesat 326
675#define SYS_fstatat64 327
676#define SYS_unlinkat 328
677#define SYS_renameat 329
678#define SYS_linkat 330
679#define SYS_symlinkat 331
680#define SYS_readlinkat 332
681#define SYS_fchmodat 333
682#define SYS_faccessat 334
683#define SYS_pselect6 335
684#define SYS_ppoll 336
685#define SYS_unshare 337
686#define SYS_set_robust_list 338
687#define SYS_get_robust_list 339
688#define SYS_splice 340
689#define SYS_sync_file_range2 341
690#define SYS_arm_sync_file_range 341
691#define SYS_tee 342
692#define SYS_vmsplice 343
693#define SYS_move_pages 344
694#define SYS_getcpu 345
695#define SYS_epoll_pwait 346
696#define SYS_kexec_load 347
697#define SYS_utimensat 348
698#define SYS_signalfd 349
699#define SYS_timerfd_create 350
700#define SYS_eventfd 351
701#define SYS_fallocate 352
702#define SYS_timerfd_settime 353
703#define SYS_timerfd_gettime 354
704#define SYS_signalfd4 355
705#define SYS_eventfd2 356
706#define SYS_epoll_create1 357
707#define SYS_dup3 358
708#define SYS_pipe2 359
709#define SYS_inotify_init1 360
710#define SYS_preadv 361
711#define SYS_pwritev 362
712#define SYS_rt_tgsigqueueinfo 363
713#define SYS_perf_event_open 364
714#define SYS_recvmmsg 365
715#define SYS_accept4 366
716#define SYS_fanotify_init 367
717#define SYS_fanotify_mark 368
718#define SYS_prlimit64 369
719#define SYS_name_to_handle_at 370
720#define SYS_open_by_handle_at 371
721#define SYS_clock_adjtime 372
722#define SYS_syncfs 373
723#define SYS_sendmmsg 374
724#define SYS_setns 375
725#define SYS_process_vm_readv 376
726#define SYS_process_vm_writev 377
727#define SYS_kcmp 378
728#define SYS_finit_module 379
729#define SYS_sched_setattr 380
730#define SYS_sched_getattr 381
731#define SYS_renameat2 382
732#define SYS_seccomp 383
733#define SYS_getrandom 384
734#define SYS_memfd_create 385
735#define SYS_bpf 386
736#define SYS_execveat 387
737#define SYS_userfaultfd 388
738#define SYS_membarrier 389
739#define SYS_mlock2 390
740#define SYS_copy_file_range 391
741#define SYS_preadv2 392
742#define SYS_pwritev2 393
743#define SYS_pkey_mprotect 394
744#define SYS_pkey_alloc 395
745#define SYS_pkey_free 396
746#define SYS_statx 397
747#define SYS_rseq 398
748#define SYS_io_pgetevents 399
749#define SYS_migrate_pages 400
750#define SYS_kexec_file_load 401
751#define SYS_clock_gettime64 403
752#define SYS_clock_settime64 404
753#define SYS_clock_adjtime64 405
754#define SYS_clock_getres_time64 406
755#define SYS_clock_nanosleep_time64 407
756#define SYS_timer_gettime64 408
757#define SYS_timer_settime64 409
758#define SYS_timerfd_gettime64 410
759#define SYS_timerfd_settime64 411
760#define SYS_utimensat_time64 412
761#define SYS_pselect6_time64 413
762#define SYS_ppoll_time64 414
763#define SYS_io_pgetevents_time64 416
764#define SYS_recvmmsg_time64 417
765#define SYS_mq_timedsend_time64 418
766#define SYS_mq_timedreceive_time64 419
767#define SYS_semtimedop_time64 420
768#define SYS_rt_sigtimedwait_time64 421
769#define SYS_futex_time64 422
770#define SYS_sched_rr_get_interval_time64 423
771#define SYS_pidfd_send_signal 424
772#define SYS_io_uring_setup 425
773#define SYS_io_uring_enter 426
774#define SYS_io_uring_register 427
\ No newline at end of file
lib/libc/include/generic-musl/bits/alltypes.h deleted-406
......@@ -1,406 +0,0 @@
1#define _Addr long
2#define _Int64 long
3#define _Reg long
4
5#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
6typedef __builtin_va_list va_list;
7#define __DEFINED_va_list
8#endif
9
10#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
11typedef __builtin_va_list __isoc_va_list;
12#define __DEFINED___isoc_va_list
13#endif
14
15
16#ifndef __cplusplus
17#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
18typedef unsigned wchar_t;
19#define __DEFINED_wchar_t
20#endif
21
22#endif
23#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
24typedef unsigned wint_t;
25#define __DEFINED_wint_t
26#endif
27
28
29#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
30typedef int blksize_t;
31#define __DEFINED_blksize_t
32#endif
33
34#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
35typedef unsigned int nlink_t;
36#define __DEFINED_nlink_t
37#endif
38
39
40#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
41typedef float float_t;
42#define __DEFINED_float_t
43#endif
44
45#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
46typedef double double_t;
47#define __DEFINED_double_t
48#endif
49
50
51#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
52typedef struct { long long __ll; long double __ld; } max_align_t;
53#define __DEFINED_max_align_t
54#endif
55
56
57#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
58typedef long time_t;
59#define __DEFINED_time_t
60#endif
61
62#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
63typedef long suseconds_t;
64#define __DEFINED_suseconds_t
65#endif
66
67
68#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
69typedef struct { union { int __i[14]; volatile int __vi[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
70#define __DEFINED_pthread_attr_t
71#endif
72
73#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
74typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } pthread_mutex_t;
75#define __DEFINED_pthread_mutex_t
76#endif
77
78#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
79typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } mtx_t;
80#define __DEFINED_mtx_t
81#endif
82
83#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
84typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } pthread_cond_t;
85#define __DEFINED_pthread_cond_t
86#endif
87
88#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
89typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } cnd_t;
90#define __DEFINED_cnd_t
91#endif
92
93#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
94typedef struct { union { int __i[14]; volatile int __vi[14]; void *__p[7]; } __u; } pthread_rwlock_t;
95#define __DEFINED_pthread_rwlock_t
96#endif
97
98#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
99typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[4]; } __u; } pthread_barrier_t;
100#define __DEFINED_pthread_barrier_t
101#endif
102
103#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
104typedef unsigned _Addr size_t;
105#define __DEFINED_size_t
106#endif
107
108#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
109typedef unsigned _Addr uintptr_t;
110#define __DEFINED_uintptr_t
111#endif
112
113#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
114typedef _Addr ptrdiff_t;
115#define __DEFINED_ptrdiff_t
116#endif
117
118#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
119typedef _Addr ssize_t;
120#define __DEFINED_ssize_t
121#endif
122
123#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
124typedef _Addr intptr_t;
125#define __DEFINED_intptr_t
126#endif
127
128#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
129typedef _Addr regoff_t;
130#define __DEFINED_regoff_t
131#endif
132
133#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
134typedef _Reg register_t;
135#define __DEFINED_register_t
136#endif
137
138
139#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
140typedef signed char int8_t;
141#define __DEFINED_int8_t
142#endif
143
144#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
145typedef signed short int16_t;
146#define __DEFINED_int16_t
147#endif
148
149#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
150typedef signed int int32_t;
151#define __DEFINED_int32_t
152#endif
153
154#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
155typedef signed _Int64 int64_t;
156#define __DEFINED_int64_t
157#endif
158
159#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
160typedef signed _Int64 intmax_t;
161#define __DEFINED_intmax_t
162#endif
163
164#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
165typedef unsigned char uint8_t;
166#define __DEFINED_uint8_t
167#endif
168
169#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
170typedef unsigned short uint16_t;
171#define __DEFINED_uint16_t
172#endif
173
174#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
175typedef unsigned int uint32_t;
176#define __DEFINED_uint32_t
177#endif
178
179#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
180typedef unsigned _Int64 uint64_t;
181#define __DEFINED_uint64_t
182#endif
183
184#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
185typedef unsigned _Int64 u_int64_t;
186#define __DEFINED_u_int64_t
187#endif
188
189#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
190typedef unsigned _Int64 uintmax_t;
191#define __DEFINED_uintmax_t
192#endif
193
194
195#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
196typedef unsigned mode_t;
197#define __DEFINED_mode_t
198#endif
199
200#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
201typedef unsigned _Reg nlink_t;
202#define __DEFINED_nlink_t
203#endif
204
205#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
206typedef _Int64 off_t;
207#define __DEFINED_off_t
208#endif
209
210#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
211typedef unsigned _Int64 ino_t;
212#define __DEFINED_ino_t
213#endif
214
215#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
216typedef unsigned _Int64 dev_t;
217#define __DEFINED_dev_t
218#endif
219
220#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
221typedef long blksize_t;
222#define __DEFINED_blksize_t
223#endif
224
225#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
226typedef _Int64 blkcnt_t;
227#define __DEFINED_blkcnt_t
228#endif
229
230#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
231typedef unsigned _Int64 fsblkcnt_t;
232#define __DEFINED_fsblkcnt_t
233#endif
234
235#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
236typedef unsigned _Int64 fsfilcnt_t;
237#define __DEFINED_fsfilcnt_t
238#endif
239
240
241#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
242typedef unsigned wint_t;
243#define __DEFINED_wint_t
244#endif
245
246#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
247typedef unsigned long wctype_t;
248#define __DEFINED_wctype_t
249#endif
250
251
252#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
253typedef void * timer_t;
254#define __DEFINED_timer_t
255#endif
256
257#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
258typedef int clockid_t;
259#define __DEFINED_clockid_t
260#endif
261
262#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
263typedef long clock_t;
264#define __DEFINED_clock_t
265#endif
266
267#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
268struct timeval { time_t tv_sec; suseconds_t tv_usec; };
269#define __DEFINED_struct_timeval
270#endif
271
272#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
273struct timespec { time_t tv_sec; long tv_nsec; };
274#define __DEFINED_struct_timespec
275#endif
276
277
278#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
279typedef int pid_t;
280#define __DEFINED_pid_t
281#endif
282
283#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
284typedef unsigned id_t;
285#define __DEFINED_id_t
286#endif
287
288#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
289typedef unsigned uid_t;
290#define __DEFINED_uid_t
291#endif
292
293#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
294typedef unsigned gid_t;
295#define __DEFINED_gid_t
296#endif
297
298#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
299typedef int key_t;
300#define __DEFINED_key_t
301#endif
302
303#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
304typedef unsigned useconds_t;
305#define __DEFINED_useconds_t
306#endif
307
308
309#ifdef __cplusplus
310#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
311typedef unsigned long pthread_t;
312#define __DEFINED_pthread_t
313#endif
314
315#else
316#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
317typedef struct __pthread * pthread_t;
318#define __DEFINED_pthread_t
319#endif
320
321#endif
322#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
323typedef int pthread_once_t;
324#define __DEFINED_pthread_once_t
325#endif
326
327#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
328typedef unsigned pthread_key_t;
329#define __DEFINED_pthread_key_t
330#endif
331
332#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
333typedef int pthread_spinlock_t;
334#define __DEFINED_pthread_spinlock_t
335#endif
336
337#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
338typedef struct { unsigned __attr; } pthread_mutexattr_t;
339#define __DEFINED_pthread_mutexattr_t
340#endif
341
342#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
343typedef struct { unsigned __attr; } pthread_condattr_t;
344#define __DEFINED_pthread_condattr_t
345#endif
346
347#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
348typedef struct { unsigned __attr; } pthread_barrierattr_t;
349#define __DEFINED_pthread_barrierattr_t
350#endif
351
352#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
353typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
354#define __DEFINED_pthread_rwlockattr_t
355#endif
356
357
358#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
359struct _IO_FILE { char __x; };
360#define __DEFINED_struct__IO_FILE
361#endif
362
363#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
364typedef struct _IO_FILE FILE;
365#define __DEFINED_FILE
366#endif
367
368
369#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
370typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
371#define __DEFINED_mbstate_t
372#endif
373
374
375#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
376typedef struct __locale_struct * locale_t;
377#define __DEFINED_locale_t
378#endif
379
380
381#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
382typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
383#define __DEFINED_sigset_t
384#endif
385
386
387#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
388struct iovec { void *iov_base; size_t iov_len; };
389#define __DEFINED_struct_iovec
390#endif
391
392
393#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
394typedef unsigned socklen_t;
395#define __DEFINED_socklen_t
396#endif
397
398#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
399typedef unsigned short sa_family_t;
400#define __DEFINED_sa_family_t
401#endif
402
403
404#undef _Addr
405#undef _Int64
406#undef _Reg
\ No newline at end of file
lib/libc/include/generic-musl/bits/syscall.h deleted-567
......@@ -1,567 +0,0 @@
1#define __NR_io_setup 0
2#define __NR_io_destroy 1
3#define __NR_io_submit 2
4#define __NR_io_cancel 3
5#define __NR_io_getevents 4
6#define __NR_setxattr 5
7#define __NR_lsetxattr 6
8#define __NR_fsetxattr 7
9#define __NR_getxattr 8
10#define __NR_lgetxattr 9
11#define __NR_fgetxattr 10
12#define __NR_listxattr 11
13#define __NR_llistxattr 12
14#define __NR_flistxattr 13
15#define __NR_removexattr 14
16#define __NR_lremovexattr 15
17#define __NR_fremovexattr 16
18#define __NR_getcwd 17
19#define __NR_lookup_dcookie 18
20#define __NR_eventfd2 19
21#define __NR_epoll_create1 20
22#define __NR_epoll_ctl 21
23#define __NR_epoll_pwait 22
24#define __NR_dup 23
25#define __NR_dup3 24
26#define __NR_fcntl 25
27#define __NR_inotify_init1 26
28#define __NR_inotify_add_watch 27
29#define __NR_inotify_rm_watch 28
30#define __NR_ioctl 29
31#define __NR_ioprio_set 30
32#define __NR_ioprio_get 31
33#define __NR_flock 32
34#define __NR_mknodat 33
35#define __NR_mkdirat 34
36#define __NR_unlinkat 35
37#define __NR_symlinkat 36
38#define __NR_linkat 37
39#define __NR_renameat 38
40#define __NR_umount2 39
41#define __NR_mount 40
42#define __NR_pivot_root 41
43#define __NR_nfsservctl 42
44#define __NR_statfs 43
45#define __NR_fstatfs 44
46#define __NR_truncate 45
47#define __NR_ftruncate 46
48#define __NR_fallocate 47
49#define __NR_faccessat 48
50#define __NR_chdir 49
51#define __NR_fchdir 50
52#define __NR_chroot 51
53#define __NR_fchmod 52
54#define __NR_fchmodat 53
55#define __NR_fchownat 54
56#define __NR_fchown 55
57#define __NR_openat 56
58#define __NR_close 57
59#define __NR_vhangup 58
60#define __NR_pipe2 59
61#define __NR_quotactl 60
62#define __NR_getdents64 61
63#define __NR_lseek 62
64#define __NR_read 63
65#define __NR_write 64
66#define __NR_readv 65
67#define __NR_writev 66
68#define __NR_pread64 67
69#define __NR_pwrite64 68
70#define __NR_preadv 69
71#define __NR_pwritev 70
72#define __NR_sendfile 71
73#define __NR_pselect6 72
74#define __NR_ppoll 73
75#define __NR_signalfd4 74
76#define __NR_vmsplice 75
77#define __NR_splice 76
78#define __NR_tee 77
79#define __NR_readlinkat 78
80#define __NR_newfstatat 79
81#define __NR_fstat 80
82#define __NR_sync 81
83#define __NR_fsync 82
84#define __NR_fdatasync 83
85#define __NR_sync_file_range 84
86#define __NR_timerfd_create 85
87#define __NR_timerfd_settime 86
88#define __NR_timerfd_gettime 87
89#define __NR_utimensat 88
90#define __NR_acct 89
91#define __NR_capget 90
92#define __NR_capset 91
93#define __NR_personality 92
94#define __NR_exit 93
95#define __NR_exit_group 94
96#define __NR_waitid 95
97#define __NR_set_tid_address 96
98#define __NR_unshare 97
99#define __NR_futex 98
100#define __NR_set_robust_list 99
101#define __NR_get_robust_list 100
102#define __NR_nanosleep 101
103#define __NR_getitimer 102
104#define __NR_setitimer 103
105#define __NR_kexec_load 104
106#define __NR_init_module 105
107#define __NR_delete_module 106
108#define __NR_timer_create 107
109#define __NR_timer_gettime 108
110#define __NR_timer_getoverrun 109
111#define __NR_timer_settime 110
112#define __NR_timer_delete 111
113#define __NR_clock_settime 112
114#define __NR_clock_gettime 113
115#define __NR_clock_getres 114
116#define __NR_clock_nanosleep 115
117#define __NR_syslog 116
118#define __NR_ptrace 117
119#define __NR_sched_setparam 118
120#define __NR_sched_setscheduler 119
121#define __NR_sched_getscheduler 120
122#define __NR_sched_getparam 121
123#define __NR_sched_setaffinity 122
124#define __NR_sched_getaffinity 123
125#define __NR_sched_yield 124
126#define __NR_sched_get_priority_max 125
127#define __NR_sched_get_priority_min 126
128#define __NR_sched_rr_get_interval 127
129#define __NR_restart_syscall 128
130#define __NR_kill 129
131#define __NR_tkill 130
132#define __NR_tgkill 131
133#define __NR_sigaltstack 132
134#define __NR_rt_sigsuspend 133
135#define __NR_rt_sigaction 134
136#define __NR_rt_sigprocmask 135
137#define __NR_rt_sigpending 136
138#define __NR_rt_sigtimedwait 137
139#define __NR_rt_sigqueueinfo 138
140#define __NR_rt_sigreturn 139
141#define __NR_setpriority 140
142#define __NR_getpriority 141
143#define __NR_reboot 142
144#define __NR_setregid 143
145#define __NR_setgid 144
146#define __NR_setreuid 145
147#define __NR_setuid 146
148#define __NR_setresuid 147
149#define __NR_getresuid 148
150#define __NR_setresgid 149
151#define __NR_getresgid 150
152#define __NR_setfsuid 151
153#define __NR_setfsgid 152
154#define __NR_times 153
155#define __NR_setpgid 154
156#define __NR_getpgid 155
157#define __NR_getsid 156
158#define __NR_setsid 157
159#define __NR_getgroups 158
160#define __NR_setgroups 159
161#define __NR_uname 160
162#define __NR_sethostname 161
163#define __NR_setdomainname 162
164#define __NR_getrlimit 163
165#define __NR_setrlimit 164
166#define __NR_getrusage 165
167#define __NR_umask 166
168#define __NR_prctl 167
169#define __NR_getcpu 168
170#define __NR_gettimeofday 169
171#define __NR_settimeofday 170
172#define __NR_adjtimex 171
173#define __NR_getpid 172
174#define __NR_getppid 173
175#define __NR_getuid 174
176#define __NR_geteuid 175
177#define __NR_getgid 176
178#define __NR_getegid 177
179#define __NR_gettid 178
180#define __NR_sysinfo 179
181#define __NR_mq_open 180
182#define __NR_mq_unlink 181
183#define __NR_mq_timedsend 182
184#define __NR_mq_timedreceive 183
185#define __NR_mq_notify 184
186#define __NR_mq_getsetattr 185
187#define __NR_msgget 186
188#define __NR_msgctl 187
189#define __NR_msgrcv 188
190#define __NR_msgsnd 189
191#define __NR_semget 190
192#define __NR_semctl 191
193#define __NR_semtimedop 192
194#define __NR_semop 193
195#define __NR_shmget 194
196#define __NR_shmctl 195
197#define __NR_shmat 196
198#define __NR_shmdt 197
199#define __NR_socket 198
200#define __NR_socketpair 199
201#define __NR_bind 200
202#define __NR_listen 201
203#define __NR_accept 202
204#define __NR_connect 203
205#define __NR_getsockname 204
206#define __NR_getpeername 205
207#define __NR_sendto 206
208#define __NR_recvfrom 207
209#define __NR_setsockopt 208
210#define __NR_getsockopt 209
211#define __NR_shutdown 210
212#define __NR_sendmsg 211
213#define __NR_recvmsg 212
214#define __NR_readahead 213
215#define __NR_brk 214
216#define __NR_munmap 215
217#define __NR_mremap 216
218#define __NR_add_key 217
219#define __NR_request_key 218
220#define __NR_keyctl 219
221#define __NR_clone 220
222#define __NR_execve 221
223#define __NR_mmap 222
224#define __NR_fadvise64 223
225#define __NR_swapon 224
226#define __NR_swapoff 225
227#define __NR_mprotect 226
228#define __NR_msync 227
229#define __NR_mlock 228
230#define __NR_munlock 229
231#define __NR_mlockall 230
232#define __NR_munlockall 231
233#define __NR_mincore 232
234#define __NR_madvise 233
235#define __NR_remap_file_pages 234
236#define __NR_mbind 235
237#define __NR_get_mempolicy 236
238#define __NR_set_mempolicy 237
239#define __NR_migrate_pages 238
240#define __NR_move_pages 239
241#define __NR_rt_tgsigqueueinfo 240
242#define __NR_perf_event_open 241
243#define __NR_accept4 242
244#define __NR_recvmmsg 243
245#define __NR_wait4 260
246#define __NR_prlimit64 261
247#define __NR_fanotify_init 262
248#define __NR_fanotify_mark 263
249#define __NR_name_to_handle_at 264
250#define __NR_open_by_handle_at 265
251#define __NR_clock_adjtime 266
252#define __NR_syncfs 267
253#define __NR_setns 268
254#define __NR_sendmmsg 269
255#define __NR_process_vm_readv 270
256#define __NR_process_vm_writev 271
257#define __NR_kcmp 272
258#define __NR_finit_module 273
259#define __NR_sched_setattr 274
260#define __NR_sched_getattr 275
261#define __NR_renameat2 276
262#define __NR_seccomp 277
263#define __NR_getrandom 278
264#define __NR_memfd_create 279
265#define __NR_bpf 280
266#define __NR_execveat 281
267#define __NR_userfaultfd 282
268#define __NR_membarrier 283
269#define __NR_mlock2 284
270#define __NR_copy_file_range 285
271#define __NR_preadv2 286
272#define __NR_pwritev2 287
273#define __NR_pkey_mprotect 288
274#define __NR_pkey_alloc 289
275#define __NR_pkey_free 290
276#define __NR_statx 291
277#define __NR_io_pgetevents 292
278#define __NR_rseq 293
279#define __NR_kexec_file_load 294
280#define __NR_pidfd_send_signal 424
281#define __NR_io_uring_setup 425
282#define __NR_io_uring_enter 426
283#define __NR_io_uring_register 427
284
285#define SYS_io_setup 0
286#define SYS_io_destroy 1
287#define SYS_io_submit 2
288#define SYS_io_cancel 3
289#define SYS_io_getevents 4
290#define SYS_setxattr 5
291#define SYS_lsetxattr 6
292#define SYS_fsetxattr 7
293#define SYS_getxattr 8
294#define SYS_lgetxattr 9
295#define SYS_fgetxattr 10
296#define SYS_listxattr 11
297#define SYS_llistxattr 12
298#define SYS_flistxattr 13
299#define SYS_removexattr 14
300#define SYS_lremovexattr 15
301#define SYS_fremovexattr 16
302#define SYS_getcwd 17
303#define SYS_lookup_dcookie 18
304#define SYS_eventfd2 19
305#define SYS_epoll_create1 20
306#define SYS_epoll_ctl 21
307#define SYS_epoll_pwait 22
308#define SYS_dup 23
309#define SYS_dup3 24
310#define SYS_fcntl 25
311#define SYS_inotify_init1 26
312#define SYS_inotify_add_watch 27
313#define SYS_inotify_rm_watch 28
314#define SYS_ioctl 29
315#define SYS_ioprio_set 30
316#define SYS_ioprio_get 31
317#define SYS_flock 32
318#define SYS_mknodat 33
319#define SYS_mkdirat 34
320#define SYS_unlinkat 35
321#define SYS_symlinkat 36
322#define SYS_linkat 37
323#define SYS_renameat 38
324#define SYS_umount2 39
325#define SYS_mount 40
326#define SYS_pivot_root 41
327#define SYS_nfsservctl 42
328#define SYS_statfs 43
329#define SYS_fstatfs 44
330#define SYS_truncate 45
331#define SYS_ftruncate 46
332#define SYS_fallocate 47
333#define SYS_faccessat 48
334#define SYS_chdir 49
335#define SYS_fchdir 50
336#define SYS_chroot 51
337#define SYS_fchmod 52
338#define SYS_fchmodat 53
339#define SYS_fchownat 54
340#define SYS_fchown 55
341#define SYS_openat 56
342#define SYS_close 57
343#define SYS_vhangup 58
344#define SYS_pipe2 59
345#define SYS_quotactl 60
346#define SYS_getdents64 61
347#define SYS_lseek 62
348#define SYS_read 63
349#define SYS_write 64
350#define SYS_readv 65
351#define SYS_writev 66
352#define SYS_pread64 67
353#define SYS_pwrite64 68
354#define SYS_preadv 69
355#define SYS_pwritev 70
356#define SYS_sendfile 71
357#define SYS_pselect6 72
358#define SYS_ppoll 73
359#define SYS_signalfd4 74
360#define SYS_vmsplice 75
361#define SYS_splice 76
362#define SYS_tee 77
363#define SYS_readlinkat 78
364#define SYS_newfstatat 79
365#define SYS_fstat 80
366#define SYS_sync 81
367#define SYS_fsync 82
368#define SYS_fdatasync 83
369#define SYS_sync_file_range 84
370#define SYS_timerfd_create 85
371#define SYS_timerfd_settime 86
372#define SYS_timerfd_gettime 87
373#define SYS_utimensat 88
374#define SYS_acct 89
375#define SYS_capget 90
376#define SYS_capset 91
377#define SYS_personality 92
378#define SYS_exit 93
379#define SYS_exit_group 94
380#define SYS_waitid 95
381#define SYS_set_tid_address 96
382#define SYS_unshare 97
383#define SYS_futex 98
384#define SYS_set_robust_list 99
385#define SYS_get_robust_list 100
386#define SYS_nanosleep 101
387#define SYS_getitimer 102
388#define SYS_setitimer 103
389#define SYS_kexec_load 104
390#define SYS_init_module 105
391#define SYS_delete_module 106
392#define SYS_timer_create 107
393#define SYS_timer_gettime 108
394#define SYS_timer_getoverrun 109
395#define SYS_timer_settime 110
396#define SYS_timer_delete 111
397#define SYS_clock_settime 112
398#define SYS_clock_gettime 113
399#define SYS_clock_getres 114
400#define SYS_clock_nanosleep 115
401#define SYS_syslog 116
402#define SYS_ptrace 117
403#define SYS_sched_setparam 118
404#define SYS_sched_setscheduler 119
405#define SYS_sched_getscheduler 120
406#define SYS_sched_getparam 121
407#define SYS_sched_setaffinity 122
408#define SYS_sched_getaffinity 123
409#define SYS_sched_yield 124
410#define SYS_sched_get_priority_max 125
411#define SYS_sched_get_priority_min 126
412#define SYS_sched_rr_get_interval 127
413#define SYS_restart_syscall 128
414#define SYS_kill 129
415#define SYS_tkill 130
416#define SYS_tgkill 131
417#define SYS_sigaltstack 132
418#define SYS_rt_sigsuspend 133
419#define SYS_rt_sigaction 134
420#define SYS_rt_sigprocmask 135
421#define SYS_rt_sigpending 136
422#define SYS_rt_sigtimedwait 137
423#define SYS_rt_sigqueueinfo 138
424#define SYS_rt_sigreturn 139
425#define SYS_setpriority 140
426#define SYS_getpriority 141
427#define SYS_reboot 142
428#define SYS_setregid 143
429#define SYS_setgid 144
430#define SYS_setreuid 145
431#define SYS_setuid 146
432#define SYS_setresuid 147
433#define SYS_getresuid 148
434#define SYS_setresgid 149
435#define SYS_getresgid 150
436#define SYS_setfsuid 151
437#define SYS_setfsgid 152
438#define SYS_times 153
439#define SYS_setpgid 154
440#define SYS_getpgid 155
441#define SYS_getsid 156
442#define SYS_setsid 157
443#define SYS_getgroups 158
444#define SYS_setgroups 159
445#define SYS_uname 160
446#define SYS_sethostname 161
447#define SYS_setdomainname 162
448#define SYS_getrlimit 163
449#define SYS_setrlimit 164
450#define SYS_getrusage 165
451#define SYS_umask 166
452#define SYS_prctl 167
453#define SYS_getcpu 168
454#define SYS_gettimeofday 169
455#define SYS_settimeofday 170
456#define SYS_adjtimex 171
457#define SYS_getpid 172
458#define SYS_getppid 173
459#define SYS_getuid 174
460#define SYS_geteuid 175
461#define SYS_getgid 176
462#define SYS_getegid 177
463#define SYS_gettid 178
464#define SYS_sysinfo 179
465#define SYS_mq_open 180
466#define SYS_mq_unlink 181
467#define SYS_mq_timedsend 182
468#define SYS_mq_timedreceive 183
469#define SYS_mq_notify 184
470#define SYS_mq_getsetattr 185
471#define SYS_msgget 186
472#define SYS_msgctl 187
473#define SYS_msgrcv 188
474#define SYS_msgsnd 189
475#define SYS_semget 190
476#define SYS_semctl 191
477#define SYS_semtimedop 192
478#define SYS_semop 193
479#define SYS_shmget 194
480#define SYS_shmctl 195
481#define SYS_shmat 196
482#define SYS_shmdt 197
483#define SYS_socket 198
484#define SYS_socketpair 199
485#define SYS_bind 200
486#define SYS_listen 201
487#define SYS_accept 202
488#define SYS_connect 203
489#define SYS_getsockname 204
490#define SYS_getpeername 205
491#define SYS_sendto 206
492#define SYS_recvfrom 207
493#define SYS_setsockopt 208
494#define SYS_getsockopt 209
495#define SYS_shutdown 210
496#define SYS_sendmsg 211
497#define SYS_recvmsg 212
498#define SYS_readahead 213
499#define SYS_brk 214
500#define SYS_munmap 215
501#define SYS_mremap 216
502#define SYS_add_key 217
503#define SYS_request_key 218
504#define SYS_keyctl 219
505#define SYS_clone 220
506#define SYS_execve 221
507#define SYS_mmap 222
508#define SYS_fadvise64 223
509#define SYS_swapon 224
510#define SYS_swapoff 225
511#define SYS_mprotect 226
512#define SYS_msync 227
513#define SYS_mlock 228
514#define SYS_munlock 229
515#define SYS_mlockall 230
516#define SYS_munlockall 231
517#define SYS_mincore 232
518#define SYS_madvise 233
519#define SYS_remap_file_pages 234
520#define SYS_mbind 235
521#define SYS_get_mempolicy 236
522#define SYS_set_mempolicy 237
523#define SYS_migrate_pages 238
524#define SYS_move_pages 239
525#define SYS_rt_tgsigqueueinfo 240
526#define SYS_perf_event_open 241
527#define SYS_accept4 242
528#define SYS_recvmmsg 243
529#define SYS_wait4 260
530#define SYS_prlimit64 261
531#define SYS_fanotify_init 262
532#define SYS_fanotify_mark 263
533#define SYS_name_to_handle_at 264
534#define SYS_open_by_handle_at 265
535#define SYS_clock_adjtime 266
536#define SYS_syncfs 267
537#define SYS_setns 268
538#define SYS_sendmmsg 269
539#define SYS_process_vm_readv 270
540#define SYS_process_vm_writev 271
541#define SYS_kcmp 272
542#define SYS_finit_module 273
543#define SYS_sched_setattr 274
544#define SYS_sched_getattr 275
545#define SYS_renameat2 276
546#define SYS_seccomp 277
547#define SYS_getrandom 278
548#define SYS_memfd_create 279
549#define SYS_bpf 280
550#define SYS_execveat 281
551#define SYS_userfaultfd 282
552#define SYS_membarrier 283
553#define SYS_mlock2 284
554#define SYS_copy_file_range 285
555#define SYS_preadv2 286
556#define SYS_pwritev2 287
557#define SYS_pkey_mprotect 288
558#define SYS_pkey_alloc 289
559#define SYS_pkey_free 290
560#define SYS_statx 291
561#define SYS_io_pgetevents 292
562#define SYS_rseq 293
563#define SYS_kexec_file_load 294
564#define SYS_pidfd_send_signal 424
565#define SYS_io_uring_setup 425
566#define SYS_io_uring_enter 426
567#define SYS_io_uring_register 427
\ No newline at end of file
lib/libc/include/i386-linux-musl/bits/alltypes.h created+438
......@@ -0,0 +1,438 @@
1#define _Addr int
2#define _Int64 long long
3#define _Reg int
4
5#if __GNUC__ >= 3
6#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
7typedef __builtin_va_list va_list;
8#define __DEFINED_va_list
9#endif
10
11#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
12typedef __builtin_va_list __isoc_va_list;
13#define __DEFINED___isoc_va_list
14#endif
15
16#else
17#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
18typedef struct __va_list * va_list;
19#define __DEFINED_va_list
20#endif
21
22#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
23typedef struct __va_list * __isoc_va_list;
24#define __DEFINED___isoc_va_list
25#endif
26
27#endif
28
29#ifndef __cplusplus
30#ifdef __WCHAR_TYPE__
31#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
32typedef __WCHAR_TYPE__ wchar_t;
33#define __DEFINED_wchar_t
34#endif
35
36#else
37#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
38typedef long wchar_t;
39#define __DEFINED_wchar_t
40#endif
41
42#endif
43#endif
44
45#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0
46#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
47typedef float float_t;
48#define __DEFINED_float_t
49#endif
50
51#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
52typedef double double_t;
53#define __DEFINED_double_t
54#endif
55
56#else
57#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
58typedef long double float_t;
59#define __DEFINED_float_t
60#endif
61
62#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
63typedef long double double_t;
64#define __DEFINED_double_t
65#endif
66
67#endif
68
69#if !defined(__cplusplus)
70#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
71typedef struct { _Alignas(8) long long __ll; long double __ld; } max_align_t;
72#define __DEFINED_max_align_t
73#endif
74
75#elif defined(__GNUC__)
76#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
77typedef struct { __attribute__((__aligned__(8))) long long __ll; long double __ld; } max_align_t;
78#define __DEFINED_max_align_t
79#endif
80
81#else
82#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
83typedef struct { alignas(8) long long __ll; long double __ld; } max_align_t;
84#define __DEFINED_max_align_t
85#endif
86
87#endif
88
89#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
90typedef long time_t;
91#define __DEFINED_time_t
92#endif
93
94#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
95typedef long suseconds_t;
96#define __DEFINED_suseconds_t
97#endif
98
99
100#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
101typedef struct { union { int __i[9]; volatile int __vi[9]; unsigned __s[9]; } __u; } pthread_attr_t;
102#define __DEFINED_pthread_attr_t
103#endif
104
105#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
106typedef struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } pthread_mutex_t;
107#define __DEFINED_pthread_mutex_t
108#endif
109
110#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
111typedef struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } mtx_t;
112#define __DEFINED_mtx_t
113#endif
114
115#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
116typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } pthread_cond_t;
117#define __DEFINED_pthread_cond_t
118#endif
119
120#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
121typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } cnd_t;
122#define __DEFINED_cnd_t
123#endif
124
125#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
126typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[8]; } __u; } pthread_rwlock_t;
127#define __DEFINED_pthread_rwlock_t
128#endif
129
130#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
131typedef struct { union { int __i[5]; volatile int __vi[5]; void *__p[5]; } __u; } pthread_barrier_t;
132#define __DEFINED_pthread_barrier_t
133#endif
134
135#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
136typedef unsigned _Addr size_t;
137#define __DEFINED_size_t
138#endif
139
140#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
141typedef unsigned _Addr uintptr_t;
142#define __DEFINED_uintptr_t
143#endif
144
145#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
146typedef _Addr ptrdiff_t;
147#define __DEFINED_ptrdiff_t
148#endif
149
150#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
151typedef _Addr ssize_t;
152#define __DEFINED_ssize_t
153#endif
154
155#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
156typedef _Addr intptr_t;
157#define __DEFINED_intptr_t
158#endif
159
160#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
161typedef _Addr regoff_t;
162#define __DEFINED_regoff_t
163#endif
164
165#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
166typedef _Reg register_t;
167#define __DEFINED_register_t
168#endif
169
170
171#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
172typedef signed char int8_t;
173#define __DEFINED_int8_t
174#endif
175
176#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
177typedef signed short int16_t;
178#define __DEFINED_int16_t
179#endif
180
181#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
182typedef signed int int32_t;
183#define __DEFINED_int32_t
184#endif
185
186#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
187typedef signed _Int64 int64_t;
188#define __DEFINED_int64_t
189#endif
190
191#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
192typedef signed _Int64 intmax_t;
193#define __DEFINED_intmax_t
194#endif
195
196#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
197typedef unsigned char uint8_t;
198#define __DEFINED_uint8_t
199#endif
200
201#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
202typedef unsigned short uint16_t;
203#define __DEFINED_uint16_t
204#endif
205
206#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
207typedef unsigned int uint32_t;
208#define __DEFINED_uint32_t
209#endif
210
211#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
212typedef unsigned _Int64 uint64_t;
213#define __DEFINED_uint64_t
214#endif
215
216#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
217typedef unsigned _Int64 u_int64_t;
218#define __DEFINED_u_int64_t
219#endif
220
221#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
222typedef unsigned _Int64 uintmax_t;
223#define __DEFINED_uintmax_t
224#endif
225
226
227#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
228typedef unsigned mode_t;
229#define __DEFINED_mode_t
230#endif
231
232#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
233typedef unsigned _Reg nlink_t;
234#define __DEFINED_nlink_t
235#endif
236
237#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
238typedef _Int64 off_t;
239#define __DEFINED_off_t
240#endif
241
242#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
243typedef unsigned _Int64 ino_t;
244#define __DEFINED_ino_t
245#endif
246
247#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
248typedef unsigned _Int64 dev_t;
249#define __DEFINED_dev_t
250#endif
251
252#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
253typedef long blksize_t;
254#define __DEFINED_blksize_t
255#endif
256
257#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
258typedef _Int64 blkcnt_t;
259#define __DEFINED_blkcnt_t
260#endif
261
262#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
263typedef unsigned _Int64 fsblkcnt_t;
264#define __DEFINED_fsblkcnt_t
265#endif
266
267#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
268typedef unsigned _Int64 fsfilcnt_t;
269#define __DEFINED_fsfilcnt_t
270#endif
271
272
273#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
274typedef unsigned wint_t;
275#define __DEFINED_wint_t
276#endif
277
278#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
279typedef unsigned long wctype_t;
280#define __DEFINED_wctype_t
281#endif
282
283
284#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
285typedef void * timer_t;
286#define __DEFINED_timer_t
287#endif
288
289#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
290typedef int clockid_t;
291#define __DEFINED_clockid_t
292#endif
293
294#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
295typedef long clock_t;
296#define __DEFINED_clock_t
297#endif
298
299#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
300struct timeval { time_t tv_sec; suseconds_t tv_usec; };
301#define __DEFINED_struct_timeval
302#endif
303
304#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
305struct timespec { time_t tv_sec; long tv_nsec; };
306#define __DEFINED_struct_timespec
307#endif
308
309
310#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
311typedef int pid_t;
312#define __DEFINED_pid_t
313#endif
314
315#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
316typedef unsigned id_t;
317#define __DEFINED_id_t
318#endif
319
320#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
321typedef unsigned uid_t;
322#define __DEFINED_uid_t
323#endif
324
325#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
326typedef unsigned gid_t;
327#define __DEFINED_gid_t
328#endif
329
330#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
331typedef int key_t;
332#define __DEFINED_key_t
333#endif
334
335#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
336typedef unsigned useconds_t;
337#define __DEFINED_useconds_t
338#endif
339
340
341#ifdef __cplusplus
342#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
343typedef unsigned long pthread_t;
344#define __DEFINED_pthread_t
345#endif
346
347#else
348#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
349typedef struct __pthread * pthread_t;
350#define __DEFINED_pthread_t
351#endif
352
353#endif
354#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
355typedef int pthread_once_t;
356#define __DEFINED_pthread_once_t
357#endif
358
359#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
360typedef unsigned pthread_key_t;
361#define __DEFINED_pthread_key_t
362#endif
363
364#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
365typedef int pthread_spinlock_t;
366#define __DEFINED_pthread_spinlock_t
367#endif
368
369#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
370typedef struct { unsigned __attr; } pthread_mutexattr_t;
371#define __DEFINED_pthread_mutexattr_t
372#endif
373
374#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
375typedef struct { unsigned __attr; } pthread_condattr_t;
376#define __DEFINED_pthread_condattr_t
377#endif
378
379#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
380typedef struct { unsigned __attr; } pthread_barrierattr_t;
381#define __DEFINED_pthread_barrierattr_t
382#endif
383
384#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
385typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
386#define __DEFINED_pthread_rwlockattr_t
387#endif
388
389
390#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
391struct _IO_FILE { char __x; };
392#define __DEFINED_struct__IO_FILE
393#endif
394
395#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
396typedef struct _IO_FILE FILE;
397#define __DEFINED_FILE
398#endif
399
400
401#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
402typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
403#define __DEFINED_mbstate_t
404#endif
405
406
407#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
408typedef struct __locale_struct * locale_t;
409#define __DEFINED_locale_t
410#endif
411
412
413#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
414typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
415#define __DEFINED_sigset_t
416#endif
417
418
419#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
420struct iovec { void *iov_base; size_t iov_len; };
421#define __DEFINED_struct_iovec
422#endif
423
424
425#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
426typedef unsigned socklen_t;
427#define __DEFINED_socklen_t
428#endif
429
430#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
431typedef unsigned short sa_family_t;
432#define __DEFINED_sa_family_t
433#endif
434
435
436#undef _Addr
437#undef _Int64
438#undef _Reg
\ No newline at end of file
lib/libc/include/i386-linux-musl/bits/syscall.h created+839
......@@ -0,0 +1,839 @@
1#define __NR_restart_syscall 0
2#define __NR_exit 1
3#define __NR_fork 2
4#define __NR_read 3
5#define __NR_write 4
6#define __NR_open 5
7#define __NR_close 6
8#define __NR_waitpid 7
9#define __NR_creat 8
10#define __NR_link 9
11#define __NR_unlink 10
12#define __NR_execve 11
13#define __NR_chdir 12
14#define __NR_time 13
15#define __NR_mknod 14
16#define __NR_chmod 15
17#define __NR_lchown 16
18#define __NR_break 17
19#define __NR_oldstat 18
20#define __NR_lseek 19
21#define __NR_getpid 20
22#define __NR_mount 21
23#define __NR_umount 22
24#define __NR_setuid 23
25#define __NR_getuid 24
26#define __NR_stime 25
27#define __NR_ptrace 26
28#define __NR_alarm 27
29#define __NR_oldfstat 28
30#define __NR_pause 29
31#define __NR_utime 30
32#define __NR_stty 31
33#define __NR_gtty 32
34#define __NR_access 33
35#define __NR_nice 34
36#define __NR_ftime 35
37#define __NR_sync 36
38#define __NR_kill 37
39#define __NR_rename 38
40#define __NR_mkdir 39
41#define __NR_rmdir 40
42#define __NR_dup 41
43#define __NR_pipe 42
44#define __NR_times 43
45#define __NR_prof 44
46#define __NR_brk 45
47#define __NR_setgid 46
48#define __NR_getgid 47
49#define __NR_signal 48
50#define __NR_geteuid 49
51#define __NR_getegid 50
52#define __NR_acct 51
53#define __NR_umount2 52
54#define __NR_lock 53
55#define __NR_ioctl 54
56#define __NR_fcntl 55
57#define __NR_mpx 56
58#define __NR_setpgid 57
59#define __NR_ulimit 58
60#define __NR_oldolduname 59
61#define __NR_umask 60
62#define __NR_chroot 61
63#define __NR_ustat 62
64#define __NR_dup2 63
65#define __NR_getppid 64
66#define __NR_getpgrp 65
67#define __NR_setsid 66
68#define __NR_sigaction 67
69#define __NR_sgetmask 68
70#define __NR_ssetmask 69
71#define __NR_setreuid 70
72#define __NR_setregid 71
73#define __NR_sigsuspend 72
74#define __NR_sigpending 73
75#define __NR_sethostname 74
76#define __NR_setrlimit 75
77#define __NR_getrlimit 76 /* Back compatible 2Gig limited rlimit */
78#define __NR_getrusage 77
79#define __NR_gettimeofday 78
80#define __NR_settimeofday 79
81#define __NR_getgroups 80
82#define __NR_setgroups 81
83#define __NR_select 82
84#define __NR_symlink 83
85#define __NR_oldlstat 84
86#define __NR_readlink 85
87#define __NR_uselib 86
88#define __NR_swapon 87
89#define __NR_reboot 88
90#define __NR_readdir 89
91#define __NR_mmap 90
92#define __NR_munmap 91
93#define __NR_truncate 92
94#define __NR_ftruncate 93
95#define __NR_fchmod 94
96#define __NR_fchown 95
97#define __NR_getpriority 96
98#define __NR_setpriority 97
99#define __NR_profil 98
100#define __NR_statfs 99
101#define __NR_fstatfs 100
102#define __NR_ioperm 101
103#define __NR_socketcall 102
104#define __NR_syslog 103
105#define __NR_setitimer 104
106#define __NR_getitimer 105
107#define __NR_stat 106
108#define __NR_lstat 107
109#define __NR_fstat 108
110#define __NR_olduname 109
111#define __NR_iopl 110
112#define __NR_vhangup 111
113#define __NR_idle 112
114#define __NR_vm86old 113
115#define __NR_wait4 114
116#define __NR_swapoff 115
117#define __NR_sysinfo 116
118#define __NR_ipc 117
119#define __NR_fsync 118
120#define __NR_sigreturn 119
121#define __NR_clone 120
122#define __NR_setdomainname 121
123#define __NR_uname 122
124#define __NR_modify_ldt 123
125#define __NR_adjtimex 124
126#define __NR_mprotect 125
127#define __NR_sigprocmask 126
128#define __NR_create_module 127
129#define __NR_init_module 128
130#define __NR_delete_module 129
131#define __NR_get_kernel_syms 130
132#define __NR_quotactl 131
133#define __NR_getpgid 132
134#define __NR_fchdir 133
135#define __NR_bdflush 134
136#define __NR_sysfs 135
137#define __NR_personality 136
138#define __NR_afs_syscall 137
139#define __NR_setfsuid 138
140#define __NR_setfsgid 139
141#define __NR__llseek 140
142#define __NR_getdents 141
143#define __NR__newselect 142
144#define __NR_flock 143
145#define __NR_msync 144
146#define __NR_readv 145
147#define __NR_writev 146
148#define __NR_getsid 147
149#define __NR_fdatasync 148
150#define __NR__sysctl 149
151#define __NR_mlock 150
152#define __NR_munlock 151
153#define __NR_mlockall 152
154#define __NR_munlockall 153
155#define __NR_sched_setparam 154
156#define __NR_sched_getparam 155
157#define __NR_sched_setscheduler 156
158#define __NR_sched_getscheduler 157
159#define __NR_sched_yield 158
160#define __NR_sched_get_priority_max 159
161#define __NR_sched_get_priority_min 160
162#define __NR_sched_rr_get_interval 161
163#define __NR_nanosleep 162
164#define __NR_mremap 163
165#define __NR_setresuid 164
166#define __NR_getresuid 165
167#define __NR_vm86 166
168#define __NR_query_module 167
169#define __NR_poll 168
170#define __NR_nfsservctl 169
171#define __NR_setresgid 170
172#define __NR_getresgid 171
173#define __NR_prctl 172
174#define __NR_rt_sigreturn 173
175#define __NR_rt_sigaction 174
176#define __NR_rt_sigprocmask 175
177#define __NR_rt_sigpending 176
178#define __NR_rt_sigtimedwait 177
179#define __NR_rt_sigqueueinfo 178
180#define __NR_rt_sigsuspend 179
181#define __NR_pread64 180
182#define __NR_pwrite64 181
183#define __NR_chown 182
184#define __NR_getcwd 183
185#define __NR_capget 184
186#define __NR_capset 185
187#define __NR_sigaltstack 186
188#define __NR_sendfile 187
189#define __NR_getpmsg 188
190#define __NR_putpmsg 189
191#define __NR_vfork 190
192#define __NR_ugetrlimit 191
193#define __NR_mmap2 192
194#define __NR_truncate64 193
195#define __NR_ftruncate64 194
196#define __NR_stat64 195
197#define __NR_lstat64 196
198#define __NR_fstat64 197
199#define __NR_lchown32 198
200#define __NR_getuid32 199
201#define __NR_getgid32 200
202#define __NR_geteuid32 201
203#define __NR_getegid32 202
204#define __NR_setreuid32 203
205#define __NR_setregid32 204
206#define __NR_getgroups32 205
207#define __NR_setgroups32 206
208#define __NR_fchown32 207
209#define __NR_setresuid32 208
210#define __NR_getresuid32 209
211#define __NR_setresgid32 210
212#define __NR_getresgid32 211
213#define __NR_chown32 212
214#define __NR_setuid32 213
215#define __NR_setgid32 214
216#define __NR_setfsuid32 215
217#define __NR_setfsgid32 216
218#define __NR_pivot_root 217
219#define __NR_mincore 218
220#define __NR_madvise 219
221#define __NR_getdents64 220
222#define __NR_fcntl64 221
223/* 223 is unused */
224#define __NR_gettid 224
225#define __NR_readahead 225
226#define __NR_setxattr 226
227#define __NR_lsetxattr 227
228#define __NR_fsetxattr 228
229#define __NR_getxattr 229
230#define __NR_lgetxattr 230
231#define __NR_fgetxattr 231
232#define __NR_listxattr 232
233#define __NR_llistxattr 233
234#define __NR_flistxattr 234
235#define __NR_removexattr 235
236#define __NR_lremovexattr 236
237#define __NR_fremovexattr 237
238#define __NR_tkill 238
239#define __NR_sendfile64 239
240#define __NR_futex 240
241#define __NR_sched_setaffinity 241
242#define __NR_sched_getaffinity 242
243#define __NR_set_thread_area 243
244#define __NR_get_thread_area 244
245#define __NR_io_setup 245
246#define __NR_io_destroy 246
247#define __NR_io_getevents 247
248#define __NR_io_submit 248
249#define __NR_io_cancel 249
250#define __NR_fadvise64 250
251/* 251 is available for reuse (was briefly sys_set_zone_reclaim) */
252#define __NR_exit_group 252
253#define __NR_lookup_dcookie 253
254#define __NR_epoll_create 254
255#define __NR_epoll_ctl 255
256#define __NR_epoll_wait 256
257#define __NR_remap_file_pages 257
258#define __NR_set_tid_address 258
259#define __NR_timer_create 259
260#define __NR_timer_settime (__NR_timer_create+1)
261#define __NR_timer_gettime (__NR_timer_create+2)
262#define __NR_timer_getoverrun (__NR_timer_create+3)
263#define __NR_timer_delete (__NR_timer_create+4)
264#define __NR_clock_settime (__NR_timer_create+5)
265#define __NR_clock_gettime (__NR_timer_create+6)
266#define __NR_clock_getres (__NR_timer_create+7)
267#define __NR_clock_nanosleep (__NR_timer_create+8)
268#define __NR_statfs64 268
269#define __NR_fstatfs64 269
270#define __NR_tgkill 270
271#define __NR_utimes 271
272#define __NR_fadvise64_64 272
273#define __NR_vserver 273
274#define __NR_mbind 274
275#define __NR_get_mempolicy 275
276#define __NR_set_mempolicy 276
277#define __NR_mq_open 277
278#define __NR_mq_unlink (__NR_mq_open+1)
279#define __NR_mq_timedsend (__NR_mq_open+2)
280#define __NR_mq_timedreceive (__NR_mq_open+3)
281#define __NR_mq_notify (__NR_mq_open+4)
282#define __NR_mq_getsetattr (__NR_mq_open+5)
283#define __NR_kexec_load 283
284#define __NR_waitid 284
285/* #define __NR_sys_setaltroot 285 */
286#define __NR_add_key 286
287#define __NR_request_key 287
288#define __NR_keyctl 288
289#define __NR_ioprio_set 289
290#define __NR_ioprio_get 290
291#define __NR_inotify_init 291
292#define __NR_inotify_add_watch 292
293#define __NR_inotify_rm_watch 293
294#define __NR_migrate_pages 294
295#define __NR_openat 295
296#define __NR_mkdirat 296
297#define __NR_mknodat 297
298#define __NR_fchownat 298
299#define __NR_futimesat 299
300#define __NR_fstatat64 300
301#define __NR_unlinkat 301
302#define __NR_renameat 302
303#define __NR_linkat 303
304#define __NR_symlinkat 304
305#define __NR_readlinkat 305
306#define __NR_fchmodat 306
307#define __NR_faccessat 307
308#define __NR_pselect6 308
309#define __NR_ppoll 309
310#define __NR_unshare 310
311#define __NR_set_robust_list 311
312#define __NR_get_robust_list 312
313#define __NR_splice 313
314#define __NR_sync_file_range 314
315#define __NR_tee 315
316#define __NR_vmsplice 316
317#define __NR_move_pages 317
318#define __NR_getcpu 318
319#define __NR_epoll_pwait 319
320#define __NR_utimensat 320
321#define __NR_signalfd 321
322#define __NR_timerfd_create 322
323#define __NR_eventfd 323
324#define __NR_fallocate 324
325#define __NR_timerfd_settime 325
326#define __NR_timerfd_gettime 326
327#define __NR_signalfd4 327
328#define __NR_eventfd2 328
329#define __NR_epoll_create1 329
330#define __NR_dup3 330
331#define __NR_pipe2 331
332#define __NR_inotify_init1 332
333#define __NR_preadv 333
334#define __NR_pwritev 334
335#define __NR_rt_tgsigqueueinfo 335
336#define __NR_perf_event_open 336
337#define __NR_recvmmsg 337
338#define __NR_fanotify_init 338
339#define __NR_fanotify_mark 339
340#define __NR_prlimit64 340
341#define __NR_name_to_handle_at 341
342#define __NR_open_by_handle_at 342
343#define __NR_clock_adjtime 343
344#define __NR_syncfs 344
345#define __NR_sendmmsg 345
346#define __NR_setns 346
347#define __NR_process_vm_readv 347
348#define __NR_process_vm_writev 348
349#define __NR_kcmp 349
350#define __NR_finit_module 350
351#define __NR_sched_setattr 351
352#define __NR_sched_getattr 352
353#define __NR_renameat2 353
354#define __NR_seccomp 354
355#define __NR_getrandom 355
356#define __NR_memfd_create 356
357#define __NR_bpf 357
358#define __NR_execveat 358
359#define __NR_socket 359
360#define __NR_socketpair 360
361#define __NR_bind 361
362#define __NR_connect 362
363#define __NR_listen 363
364#define __NR_accept4 364
365#define __NR_getsockopt 365
366#define __NR_setsockopt 366
367#define __NR_getsockname 367
368#define __NR_getpeername 368
369#define __NR_sendto 369
370#define __NR_sendmsg 370
371#define __NR_recvfrom 371
372#define __NR_recvmsg 372
373#define __NR_shutdown 373
374#define __NR_userfaultfd 374
375#define __NR_membarrier 375
376#define __NR_mlock2 376
377#define __NR_copy_file_range 377
378#define __NR_preadv2 378
379#define __NR_pwritev2 379
380#define __NR_pkey_mprotect 380
381#define __NR_pkey_alloc 381
382#define __NR_pkey_free 382
383#define __NR_statx 383
384#define __NR_arch_prctl 384
385#define __NR_io_pgetevents 385
386#define __NR_rseq 386
387#define __NR_semget 393
388#define __NR_semctl 394
389#define __NR_shmget 395
390#define __NR_shmctl 396
391#define __NR_shmat 397
392#define __NR_shmdt 398
393#define __NR_msgget 399
394#define __NR_msgsnd 400
395#define __NR_msgrcv 401
396#define __NR_msgctl 402
397#define __NR_clock_gettime64 403
398#define __NR_clock_settime64 404
399#define __NR_clock_adjtime64 405
400#define __NR_clock_getres_time64 406
401#define __NR_clock_nanosleep_time64 407
402#define __NR_timer_gettime64 408
403#define __NR_timer_settime64 409
404#define __NR_timerfd_gettime64 410
405#define __NR_timerfd_settime64 411
406#define __NR_utimensat_time64 412
407#define __NR_pselect6_time64 413
408#define __NR_ppoll_time64 414
409#define __NR_io_pgetevents_time64 416
410#define __NR_recvmmsg_time64 417
411#define __NR_mq_timedsend_time64 418
412#define __NR_mq_timedreceive_time64 419
413#define __NR_semtimedop_time64 420
414#define __NR_rt_sigtimedwait_time64 421
415#define __NR_futex_time64 422
416#define __NR_sched_rr_get_interval_time64 423
417#define __NR_pidfd_send_signal 424
418#define __NR_io_uring_setup 425
419#define __NR_io_uring_enter 426
420#define __NR_io_uring_register 427
421
422#define SYS_restart_syscall 0
423#define SYS_exit 1
424#define SYS_fork 2
425#define SYS_read 3
426#define SYS_write 4
427#define SYS_open 5
428#define SYS_close 6
429#define SYS_waitpid 7
430#define SYS_creat 8
431#define SYS_link 9
432#define SYS_unlink 10
433#define SYS_execve 11
434#define SYS_chdir 12
435#define SYS_time 13
436#define SYS_mknod 14
437#define SYS_chmod 15
438#define SYS_lchown 16
439#define SYS_break 17
440#define SYS_oldstat 18
441#define SYS_lseek 19
442#define SYS_getpid 20
443#define SYS_mount 21
444#define SYS_umount 22
445#define SYS_setuid 23
446#define SYS_getuid 24
447#define SYS_stime 25
448#define SYS_ptrace 26
449#define SYS_alarm 27
450#define SYS_oldfstat 28
451#define SYS_pause 29
452#define SYS_utime 30
453#define SYS_stty 31
454#define SYS_gtty 32
455#define SYS_access 33
456#define SYS_nice 34
457#define SYS_ftime 35
458#define SYS_sync 36
459#define SYS_kill 37
460#define SYS_rename 38
461#define SYS_mkdir 39
462#define SYS_rmdir 40
463#define SYS_dup 41
464#define SYS_pipe 42
465#define SYS_times 43
466#define SYS_prof 44
467#define SYS_brk 45
468#define SYS_setgid 46
469#define SYS_getgid 47
470#define SYS_signal 48
471#define SYS_geteuid 49
472#define SYS_getegid 50
473#define SYS_acct 51
474#define SYS_umount2 52
475#define SYS_lock 53
476#define SYS_ioctl 54
477#define SYS_fcntl 55
478#define SYS_mpx 56
479#define SYS_setpgid 57
480#define SYS_ulimit 58
481#define SYS_oldolduname 59
482#define SYS_umask 60
483#define SYS_chroot 61
484#define SYS_ustat 62
485#define SYS_dup2 63
486#define SYS_getppid 64
487#define SYS_getpgrp 65
488#define SYS_setsid 66
489#define SYS_sigaction 67
490#define SYS_sgetmask 68
491#define SYS_ssetmask 69
492#define SYS_setreuid 70
493#define SYS_setregid 71
494#define SYS_sigsuspend 72
495#define SYS_sigpending 73
496#define SYS_sethostname 74
497#define SYS_setrlimit 75
498#define SYS_getrlimit 76 /* Back compatible 2Gig limited rlimit */
499#define SYS_getrusage 77
500#define SYS_gettimeofday 78
501#define SYS_settimeofday 79
502#define SYS_getgroups 80
503#define SYS_setgroups 81
504#define SYS_select 82
505#define SYS_symlink 83
506#define SYS_oldlstat 84
507#define SYS_readlink 85
508#define SYS_uselib 86
509#define SYS_swapon 87
510#define SYS_reboot 88
511#define SYS_readdir 89
512#define SYS_mmap 90
513#define SYS_munmap 91
514#define SYS_truncate 92
515#define SYS_ftruncate 93
516#define SYS_fchmod 94
517#define SYS_fchown 95
518#define SYS_getpriority 96
519#define SYS_setpriority 97
520#define SYS_profil 98
521#define SYS_statfs 99
522#define SYS_fstatfs 100
523#define SYS_ioperm 101
524#define SYS_socketcall 102
525#define SYS_syslog 103
526#define SYS_setitimer 104
527#define SYS_getitimer 105
528#define SYS_stat 106
529#define SYS_lstat 107
530#define SYS_fstat 108
531#define SYS_olduname 109
532#define SYS_iopl 110
533#define SYS_vhangup 111
534#define SYS_idle 112
535#define SYS_vm86old 113
536#define SYS_wait4 114
537#define SYS_swapoff 115
538#define SYS_sysinfo 116
539#define SYS_ipc 117
540#define SYS_fsync 118
541#define SYS_sigreturn 119
542#define SYS_clone 120
543#define SYS_setdomainname 121
544#define SYS_uname 122
545#define SYS_modify_ldt 123
546#define SYS_adjtimex 124
547#define SYS_mprotect 125
548#define SYS_sigprocmask 126
549#define SYS_create_module 127
550#define SYS_init_module 128
551#define SYS_delete_module 129
552#define SYS_get_kernel_syms 130
553#define SYS_quotactl 131
554#define SYS_getpgid 132
555#define SYS_fchdir 133
556#define SYS_bdflush 134
557#define SYS_sysfs 135
558#define SYS_personality 136
559#define SYS_afs_syscall 137
560#define SYS_setfsuid 138
561#define SYS_setfsgid 139
562#define SYS__llseek 140
563#define SYS_getdents 141
564#define SYS__newselect 142
565#define SYS_flock 143
566#define SYS_msync 144
567#define SYS_readv 145
568#define SYS_writev 146
569#define SYS_getsid 147
570#define SYS_fdatasync 148
571#define SYS__sysctl 149
572#define SYS_mlock 150
573#define SYS_munlock 151
574#define SYS_mlockall 152
575#define SYS_munlockall 153
576#define SYS_sched_setparam 154
577#define SYS_sched_getparam 155
578#define SYS_sched_setscheduler 156
579#define SYS_sched_getscheduler 157
580#define SYS_sched_yield 158
581#define SYS_sched_get_priority_max 159
582#define SYS_sched_get_priority_min 160
583#define SYS_sched_rr_get_interval 161
584#define SYS_nanosleep 162
585#define SYS_mremap 163
586#define SYS_setresuid 164
587#define SYS_getresuid 165
588#define SYS_vm86 166
589#define SYS_query_module 167
590#define SYS_poll 168
591#define SYS_nfsservctl 169
592#define SYS_setresgid 170
593#define SYS_getresgid 171
594#define SYS_prctl 172
595#define SYS_rt_sigreturn 173
596#define SYS_rt_sigaction 174
597#define SYS_rt_sigprocmask 175
598#define SYS_rt_sigpending 176
599#define SYS_rt_sigtimedwait 177
600#define SYS_rt_sigqueueinfo 178
601#define SYS_rt_sigsuspend 179
602#define SYS_pread64 180
603#define SYS_pwrite64 181
604#define SYS_chown 182
605#define SYS_getcwd 183
606#define SYS_capget 184
607#define SYS_capset 185
608#define SYS_sigaltstack 186
609#define SYS_sendfile 187
610#define SYS_getpmsg 188
611#define SYS_putpmsg 189
612#define SYS_vfork 190
613#define SYS_ugetrlimit 191
614#define SYS_mmap2 192
615#define SYS_truncate64 193
616#define SYS_ftruncate64 194
617#define SYS_stat64 195
618#define SYS_lstat64 196
619#define SYS_fstat64 197
620#define SYS_lchown32 198
621#define SYS_getuid32 199
622#define SYS_getgid32 200
623#define SYS_geteuid32 201
624#define SYS_getegid32 202
625#define SYS_setreuid32 203
626#define SYS_setregid32 204
627#define SYS_getgroups32 205
628#define SYS_setgroups32 206
629#define SYS_fchown32 207
630#define SYS_setresuid32 208
631#define SYS_getresuid32 209
632#define SYS_setresgid32 210
633#define SYS_getresgid32 211
634#define SYS_chown32 212
635#define SYS_setuid32 213
636#define SYS_setgid32 214
637#define SYS_setfsuid32 215
638#define SYS_setfsgid32 216
639#define SYS_pivot_root 217
640#define SYS_mincore 218
641#define SYS_madvise 219
642#define SYS_getdents64 220
643#define SYS_fcntl64 221
644#define SYS_gettid 224
645#define SYS_readahead 225
646#define SYS_setxattr 226
647#define SYS_lsetxattr 227
648#define SYS_fsetxattr 228
649#define SYS_getxattr 229
650#define SYS_lgetxattr 230
651#define SYS_fgetxattr 231
652#define SYS_listxattr 232
653#define SYS_llistxattr 233
654#define SYS_flistxattr 234
655#define SYS_removexattr 235
656#define SYS_lremovexattr 236
657#define SYS_fremovexattr 237
658#define SYS_tkill 238
659#define SYS_sendfile64 239
660#define SYS_futex 240
661#define SYS_sched_setaffinity 241
662#define SYS_sched_getaffinity 242
663#define SYS_set_thread_area 243
664#define SYS_get_thread_area 244
665#define SYS_io_setup 245
666#define SYS_io_destroy 246
667#define SYS_io_getevents 247
668#define SYS_io_submit 248
669#define SYS_io_cancel 249
670#define SYS_fadvise64 250
671#define SYS_exit_group 252
672#define SYS_lookup_dcookie 253
673#define SYS_epoll_create 254
674#define SYS_epoll_ctl 255
675#define SYS_epoll_wait 256
676#define SYS_remap_file_pages 257
677#define SYS_set_tid_address 258
678#define SYS_timer_create 259
679#define SYS_timer_settime (__NR_timer_create+1)
680#define SYS_timer_gettime (__NR_timer_create+2)
681#define SYS_timer_getoverrun (__NR_timer_create+3)
682#define SYS_timer_delete (__NR_timer_create+4)
683#define SYS_clock_settime (__NR_timer_create+5)
684#define SYS_clock_gettime (__NR_timer_create+6)
685#define SYS_clock_getres (__NR_timer_create+7)
686#define SYS_clock_nanosleep (__NR_timer_create+8)
687#define SYS_statfs64 268
688#define SYS_fstatfs64 269
689#define SYS_tgkill 270
690#define SYS_utimes 271
691#define SYS_fadvise64_64 272
692#define SYS_vserver 273
693#define SYS_mbind 274
694#define SYS_get_mempolicy 275
695#define SYS_set_mempolicy 276
696#define SYS_mq_open 277
697#define SYS_mq_unlink (__NR_mq_open+1)
698#define SYS_mq_timedsend (__NR_mq_open+2)
699#define SYS_mq_timedreceive (__NR_mq_open+3)
700#define SYS_mq_notify (__NR_mq_open+4)
701#define SYS_mq_getsetattr (__NR_mq_open+5)
702#define SYS_kexec_load 283
703#define SYS_waitid 284
704/* #define SYS_sys_setaltroot 285 */
705#define SYS_add_key 286
706#define SYS_request_key 287
707#define SYS_keyctl 288
708#define SYS_ioprio_set 289
709#define SYS_ioprio_get 290
710#define SYS_inotify_init 291
711#define SYS_inotify_add_watch 292
712#define SYS_inotify_rm_watch 293
713#define SYS_migrate_pages 294
714#define SYS_openat 295
715#define SYS_mkdirat 296
716#define SYS_mknodat 297
717#define SYS_fchownat 298
718#define SYS_futimesat 299
719#define SYS_fstatat64 300
720#define SYS_unlinkat 301
721#define SYS_renameat 302
722#define SYS_linkat 303
723#define SYS_symlinkat 304
724#define SYS_readlinkat 305
725#define SYS_fchmodat 306
726#define SYS_faccessat 307
727#define SYS_pselect6 308
728#define SYS_ppoll 309
729#define SYS_unshare 310
730#define SYS_set_robust_list 311
731#define SYS_get_robust_list 312
732#define SYS_splice 313
733#define SYS_sync_file_range 314
734#define SYS_tee 315
735#define SYS_vmsplice 316
736#define SYS_move_pages 317
737#define SYS_getcpu 318
738#define SYS_epoll_pwait 319
739#define SYS_utimensat 320
740#define SYS_signalfd 321
741#define SYS_timerfd_create 322
742#define SYS_eventfd 323
743#define SYS_fallocate 324
744#define SYS_timerfd_settime 325
745#define SYS_timerfd_gettime 326
746#define SYS_signalfd4 327
747#define SYS_eventfd2 328
748#define SYS_epoll_create1 329
749#define SYS_dup3 330
750#define SYS_pipe2 331
751#define SYS_inotify_init1 332
752#define SYS_preadv 333
753#define SYS_pwritev 334
754#define SYS_rt_tgsigqueueinfo 335
755#define SYS_perf_event_open 336
756#define SYS_recvmmsg 337
757#define SYS_fanotify_init 338
758#define SYS_fanotify_mark 339
759#define SYS_prlimit64 340
760#define SYS_name_to_handle_at 341
761#define SYS_open_by_handle_at 342
762#define SYS_clock_adjtime 343
763#define SYS_syncfs 344
764#define SYS_sendmmsg 345
765#define SYS_setns 346
766#define SYS_process_vm_readv 347
767#define SYS_process_vm_writev 348
768#define SYS_kcmp 349
769#define SYS_finit_module 350
770#define SYS_sched_setattr 351
771#define SYS_sched_getattr 352
772#define SYS_renameat2 353
773#define SYS_seccomp 354
774#define SYS_getrandom 355
775#define SYS_memfd_create 356
776#define SYS_bpf 357
777#define SYS_execveat 358
778#define SYS_socket 359
779#define SYS_socketpair 360
780#define SYS_bind 361
781#define SYS_connect 362
782#define SYS_listen 363
783#define SYS_accept4 364
784#define SYS_getsockopt 365
785#define SYS_setsockopt 366
786#define SYS_getsockname 367
787#define SYS_getpeername 368
788#define SYS_sendto 369
789#define SYS_sendmsg 370
790#define SYS_recvfrom 371
791#define SYS_recvmsg 372
792#define SYS_shutdown 373
793#define SYS_userfaultfd 374
794#define SYS_membarrier 375
795#define SYS_mlock2 376
796#define SYS_copy_file_range 377
797#define SYS_preadv2 378
798#define SYS_pwritev2 379
799#define SYS_pkey_mprotect 380
800#define SYS_pkey_alloc 381
801#define SYS_pkey_free 382
802#define SYS_statx 383
803#define SYS_arch_prctl 384
804#define SYS_io_pgetevents 385
805#define SYS_rseq 386
806#define SYS_semget 393
807#define SYS_semctl 394
808#define SYS_shmget 395
809#define SYS_shmctl 396
810#define SYS_shmat 397
811#define SYS_shmdt 398
812#define SYS_msgget 399
813#define SYS_msgsnd 400
814#define SYS_msgrcv 401
815#define SYS_msgctl 402
816#define SYS_clock_gettime64 403
817#define SYS_clock_settime64 404
818#define SYS_clock_adjtime64 405
819#define SYS_clock_getres_time64 406
820#define SYS_clock_nanosleep_time64 407
821#define SYS_timer_gettime64 408
822#define SYS_timer_settime64 409
823#define SYS_timerfd_gettime64 410
824#define SYS_timerfd_settime64 411
825#define SYS_utimensat_time64 412
826#define SYS_pselect6_time64 413
827#define SYS_ppoll_time64 414
828#define SYS_io_pgetevents_time64 416
829#define SYS_recvmmsg_time64 417
830#define SYS_mq_timedsend_time64 418
831#define SYS_mq_timedreceive_time64 419
832#define SYS_semtimedop_time64 420
833#define SYS_rt_sigtimedwait_time64 421
834#define SYS_futex_time64 422
835#define SYS_sched_rr_get_interval_time64 423
836#define SYS_pidfd_send_signal 424
837#define SYS_io_uring_setup 425
838#define SYS_io_uring_enter 426
839#define SYS_io_uring_register 427
\ No newline at end of file
lib/libc/include/mips-linux-musl/bits/alltypes.h created+390
......@@ -0,0 +1,390 @@
1#define _Addr int
2#define _Int64 long long
3#define _Reg int
4
5#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
6typedef __builtin_va_list va_list;
7#define __DEFINED_va_list
8#endif
9
10#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
11typedef __builtin_va_list __isoc_va_list;
12#define __DEFINED___isoc_va_list
13#endif
14
15
16#ifndef __cplusplus
17#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
18typedef int wchar_t;
19#define __DEFINED_wchar_t
20#endif
21
22#endif
23
24#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
25typedef float float_t;
26#define __DEFINED_float_t
27#endif
28
29#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
30typedef double double_t;
31#define __DEFINED_double_t
32#endif
33
34
35#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
36typedef struct { long long __ll; long double __ld; } max_align_t;
37#define __DEFINED_max_align_t
38#endif
39
40
41#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
42typedef long time_t;
43#define __DEFINED_time_t
44#endif
45
46#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
47typedef long suseconds_t;
48#define __DEFINED_suseconds_t
49#endif
50
51
52#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
53typedef struct { union { int __i[9]; volatile int __vi[9]; unsigned __s[9]; } __u; } pthread_attr_t;
54#define __DEFINED_pthread_attr_t
55#endif
56
57#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
58typedef struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } pthread_mutex_t;
59#define __DEFINED_pthread_mutex_t
60#endif
61
62#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
63typedef struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } mtx_t;
64#define __DEFINED_mtx_t
65#endif
66
67#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
68typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } pthread_cond_t;
69#define __DEFINED_pthread_cond_t
70#endif
71
72#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
73typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } cnd_t;
74#define __DEFINED_cnd_t
75#endif
76
77#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
78typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[8]; } __u; } pthread_rwlock_t;
79#define __DEFINED_pthread_rwlock_t
80#endif
81
82#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
83typedef struct { union { int __i[5]; volatile int __vi[5]; void *__p[5]; } __u; } pthread_barrier_t;
84#define __DEFINED_pthread_barrier_t
85#endif
86
87#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
88typedef unsigned _Addr size_t;
89#define __DEFINED_size_t
90#endif
91
92#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
93typedef unsigned _Addr uintptr_t;
94#define __DEFINED_uintptr_t
95#endif
96
97#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
98typedef _Addr ptrdiff_t;
99#define __DEFINED_ptrdiff_t
100#endif
101
102#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
103typedef _Addr ssize_t;
104#define __DEFINED_ssize_t
105#endif
106
107#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
108typedef _Addr intptr_t;
109#define __DEFINED_intptr_t
110#endif
111
112#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
113typedef _Addr regoff_t;
114#define __DEFINED_regoff_t
115#endif
116
117#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
118typedef _Reg register_t;
119#define __DEFINED_register_t
120#endif
121
122
123#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
124typedef signed char int8_t;
125#define __DEFINED_int8_t
126#endif
127
128#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
129typedef signed short int16_t;
130#define __DEFINED_int16_t
131#endif
132
133#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
134typedef signed int int32_t;
135#define __DEFINED_int32_t
136#endif
137
138#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
139typedef signed _Int64 int64_t;
140#define __DEFINED_int64_t
141#endif
142
143#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
144typedef signed _Int64 intmax_t;
145#define __DEFINED_intmax_t
146#endif
147
148#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
149typedef unsigned char uint8_t;
150#define __DEFINED_uint8_t
151#endif
152
153#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
154typedef unsigned short uint16_t;
155#define __DEFINED_uint16_t
156#endif
157
158#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
159typedef unsigned int uint32_t;
160#define __DEFINED_uint32_t
161#endif
162
163#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
164typedef unsigned _Int64 uint64_t;
165#define __DEFINED_uint64_t
166#endif
167
168#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
169typedef unsigned _Int64 u_int64_t;
170#define __DEFINED_u_int64_t
171#endif
172
173#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
174typedef unsigned _Int64 uintmax_t;
175#define __DEFINED_uintmax_t
176#endif
177
178
179#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
180typedef unsigned mode_t;
181#define __DEFINED_mode_t
182#endif
183
184#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
185typedef unsigned _Reg nlink_t;
186#define __DEFINED_nlink_t
187#endif
188
189#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
190typedef _Int64 off_t;
191#define __DEFINED_off_t
192#endif
193
194#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
195typedef unsigned _Int64 ino_t;
196#define __DEFINED_ino_t
197#endif
198
199#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
200typedef unsigned _Int64 dev_t;
201#define __DEFINED_dev_t
202#endif
203
204#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
205typedef long blksize_t;
206#define __DEFINED_blksize_t
207#endif
208
209#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
210typedef _Int64 blkcnt_t;
211#define __DEFINED_blkcnt_t
212#endif
213
214#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
215typedef unsigned _Int64 fsblkcnt_t;
216#define __DEFINED_fsblkcnt_t
217#endif
218
219#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
220typedef unsigned _Int64 fsfilcnt_t;
221#define __DEFINED_fsfilcnt_t
222#endif
223
224
225#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
226typedef unsigned wint_t;
227#define __DEFINED_wint_t
228#endif
229
230#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
231typedef unsigned long wctype_t;
232#define __DEFINED_wctype_t
233#endif
234
235
236#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
237typedef void * timer_t;
238#define __DEFINED_timer_t
239#endif
240
241#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
242typedef int clockid_t;
243#define __DEFINED_clockid_t
244#endif
245
246#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
247typedef long clock_t;
248#define __DEFINED_clock_t
249#endif
250
251#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
252struct timeval { time_t tv_sec; suseconds_t tv_usec; };
253#define __DEFINED_struct_timeval
254#endif
255
256#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
257struct timespec { time_t tv_sec; long tv_nsec; };
258#define __DEFINED_struct_timespec
259#endif
260
261
262#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
263typedef int pid_t;
264#define __DEFINED_pid_t
265#endif
266
267#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
268typedef unsigned id_t;
269#define __DEFINED_id_t
270#endif
271
272#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
273typedef unsigned uid_t;
274#define __DEFINED_uid_t
275#endif
276
277#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
278typedef unsigned gid_t;
279#define __DEFINED_gid_t
280#endif
281
282#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
283typedef int key_t;
284#define __DEFINED_key_t
285#endif
286
287#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
288typedef unsigned useconds_t;
289#define __DEFINED_useconds_t
290#endif
291
292
293#ifdef __cplusplus
294#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
295typedef unsigned long pthread_t;
296#define __DEFINED_pthread_t
297#endif
298
299#else
300#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
301typedef struct __pthread * pthread_t;
302#define __DEFINED_pthread_t
303#endif
304
305#endif
306#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
307typedef int pthread_once_t;
308#define __DEFINED_pthread_once_t
309#endif
310
311#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
312typedef unsigned pthread_key_t;
313#define __DEFINED_pthread_key_t
314#endif
315
316#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
317typedef int pthread_spinlock_t;
318#define __DEFINED_pthread_spinlock_t
319#endif
320
321#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
322typedef struct { unsigned __attr; } pthread_mutexattr_t;
323#define __DEFINED_pthread_mutexattr_t
324#endif
325
326#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
327typedef struct { unsigned __attr; } pthread_condattr_t;
328#define __DEFINED_pthread_condattr_t
329#endif
330
331#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
332typedef struct { unsigned __attr; } pthread_barrierattr_t;
333#define __DEFINED_pthread_barrierattr_t
334#endif
335
336#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
337typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
338#define __DEFINED_pthread_rwlockattr_t
339#endif
340
341
342#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
343struct _IO_FILE { char __x; };
344#define __DEFINED_struct__IO_FILE
345#endif
346
347#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
348typedef struct _IO_FILE FILE;
349#define __DEFINED_FILE
350#endif
351
352
353#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
354typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
355#define __DEFINED_mbstate_t
356#endif
357
358
359#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
360typedef struct __locale_struct * locale_t;
361#define __DEFINED_locale_t
362#endif
363
364
365#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
366typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
367#define __DEFINED_sigset_t
368#endif
369
370
371#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
372struct iovec { void *iov_base; size_t iov_len; };
373#define __DEFINED_struct_iovec
374#endif
375
376
377#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
378typedef unsigned socklen_t;
379#define __DEFINED_socklen_t
380#endif
381
382#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
383typedef unsigned short sa_family_t;
384#define __DEFINED_sa_family_t
385#endif
386
387
388#undef _Addr
389#undef _Int64
390#undef _Reg
\ No newline at end of file
lib/libc/include/mips-linux-musl/bits/syscall.h created+805
......@@ -0,0 +1,805 @@
1#define __NR_syscall 4000
2#define __NR_exit 4001
3#define __NR_fork 4002
4#define __NR_read 4003
5#define __NR_write 4004
6#define __NR_open 4005
7#define __NR_close 4006
8#define __NR_waitpid 4007
9#define __NR_creat 4008
10#define __NR_link 4009
11#define __NR_unlink 4010
12#define __NR_execve 4011
13#define __NR_chdir 4012
14#define __NR_time 4013
15#define __NR_mknod 4014
16#define __NR_chmod 4015
17#define __NR_lchown 4016
18#define __NR_break 4017
19#define __NR_unused18 4018
20#define __NR_lseek 4019
21#define __NR_getpid 4020
22#define __NR_mount 4021
23#define __NR_umount 4022
24#define __NR_setuid 4023
25#define __NR_getuid 4024
26#define __NR_stime 4025
27#define __NR_ptrace 4026
28#define __NR_alarm 4027
29#define __NR_unused28 4028
30#define __NR_pause 4029
31#define __NR_utime 4030
32#define __NR_stty 4031
33#define __NR_gtty 4032
34#define __NR_access 4033
35#define __NR_nice 4034
36#define __NR_ftime 4035
37#define __NR_sync 4036
38#define __NR_kill 4037
39#define __NR_rename 4038
40#define __NR_mkdir 4039
41#define __NR_rmdir 4040
42#define __NR_dup 4041
43#define __NR_pipe 4042
44#define __NR_times 4043
45#define __NR_prof 4044
46#define __NR_brk 4045
47#define __NR_setgid 4046
48#define __NR_getgid 4047
49#define __NR_signal 4048
50#define __NR_geteuid 4049
51#define __NR_getegid 4050
52#define __NR_acct 4051
53#define __NR_umount2 4052
54#define __NR_lock 4053
55#define __NR_ioctl 4054
56#define __NR_fcntl 4055
57#define __NR_mpx 4056
58#define __NR_setpgid 4057
59#define __NR_ulimit 4058
60#define __NR_unused59 4059
61#define __NR_umask 4060
62#define __NR_chroot 4061
63#define __NR_ustat 4062
64#define __NR_dup2 4063
65#define __NR_getppid 4064
66#define __NR_getpgrp 4065
67#define __NR_setsid 4066
68#define __NR_sigaction 4067
69#define __NR_sgetmask 4068
70#define __NR_ssetmask 4069
71#define __NR_setreuid 4070
72#define __NR_setregid 4071
73#define __NR_sigsuspend 4072
74#define __NR_sigpending 4073
75#define __NR_sethostname 4074
76#define __NR_setrlimit 4075
77#define __NR_getrlimit 4076
78#define __NR_getrusage 4077
79#define __NR_gettimeofday 4078
80#define __NR_settimeofday 4079
81#define __NR_getgroups 4080
82#define __NR_setgroups 4081
83#define __NR_reserved82 4082
84#define __NR_symlink 4083
85#define __NR_unused84 4084
86#define __NR_readlink 4085
87#define __NR_uselib 4086
88#define __NR_swapon 4087
89#define __NR_reboot 4088
90#define __NR_readdir 4089
91#define __NR_mmap 4090
92#define __NR_munmap 4091
93#define __NR_truncate 4092
94#define __NR_ftruncate 4093
95#define __NR_fchmod 4094
96#define __NR_fchown 4095
97#define __NR_getpriority 4096
98#define __NR_setpriority 4097
99#define __NR_profil 4098
100#define __NR_statfs 4099
101#define __NR_fstatfs 4100
102#define __NR_ioperm 4101
103#define __NR_socketcall 4102
104#define __NR_syslog 4103
105#define __NR_setitimer 4104
106#define __NR_getitimer 4105
107#define __NR_stat 4106
108#define __NR_lstat 4107
109#define __NR_fstat 4108
110#define __NR_unused109 4109
111#define __NR_iopl 4110
112#define __NR_vhangup 4111
113#define __NR_idle 4112
114#define __NR_vm86 4113
115#define __NR_wait4 4114
116#define __NR_swapoff 4115
117#define __NR_sysinfo 4116
118#define __NR_ipc 4117
119#define __NR_fsync 4118
120#define __NR_sigreturn 4119
121#define __NR_clone 4120
122#define __NR_setdomainname 4121
123#define __NR_uname 4122
124#define __NR_modify_ldt 4123
125#define __NR_adjtimex 4124
126#define __NR_mprotect 4125
127#define __NR_sigprocmask 4126
128#define __NR_create_module 4127
129#define __NR_init_module 4128
130#define __NR_delete_module 4129
131#define __NR_get_kernel_syms 4130
132#define __NR_quotactl 4131
133#define __NR_getpgid 4132
134#define __NR_fchdir 4133
135#define __NR_bdflush 4134
136#define __NR_sysfs 4135
137#define __NR_personality 4136
138#define __NR_afs_syscall 4137
139#define __NR_setfsuid 4138
140#define __NR_setfsgid 4139
141#define __NR__llseek 4140
142#define __NR_getdents 4141
143#define __NR__newselect 4142
144#define __NR_flock 4143
145#define __NR_msync 4144
146#define __NR_readv 4145
147#define __NR_writev 4146
148#define __NR_cacheflush 4147
149#define __NR_cachectl 4148
150#define __NR_sysmips 4149
151#define __NR_unused150 4150
152#define __NR_getsid 4151
153#define __NR_fdatasync 4152
154#define __NR__sysctl 4153
155#define __NR_mlock 4154
156#define __NR_munlock 4155
157#define __NR_mlockall 4156
158#define __NR_munlockall 4157
159#define __NR_sched_setparam 4158
160#define __NR_sched_getparam 4159
161#define __NR_sched_setscheduler 4160
162#define __NR_sched_getscheduler 4161
163#define __NR_sched_yield 4162
164#define __NR_sched_get_priority_max 4163
165#define __NR_sched_get_priority_min 4164
166#define __NR_sched_rr_get_interval 4165
167#define __NR_nanosleep 4166
168#define __NR_mremap 4167
169#define __NR_accept 4168
170#define __NR_bind 4169
171#define __NR_connect 4170
172#define __NR_getpeername 4171
173#define __NR_getsockname 4172
174#define __NR_getsockopt 4173
175#define __NR_listen 4174
176#define __NR_recv 4175
177#define __NR_recvfrom 4176
178#define __NR_recvmsg 4177
179#define __NR_send 4178
180#define __NR_sendmsg 4179
181#define __NR_sendto 4180
182#define __NR_setsockopt 4181
183#define __NR_shutdown 4182
184#define __NR_socket 4183
185#define __NR_socketpair 4184
186#define __NR_setresuid 4185
187#define __NR_getresuid 4186
188#define __NR_query_module 4187
189#define __NR_poll 4188
190#define __NR_nfsservctl 4189
191#define __NR_setresgid 4190
192#define __NR_getresgid 4191
193#define __NR_prctl 4192
194#define __NR_rt_sigreturn 4193
195#define __NR_rt_sigaction 4194
196#define __NR_rt_sigprocmask 4195
197#define __NR_rt_sigpending 4196
198#define __NR_rt_sigtimedwait 4197
199#define __NR_rt_sigqueueinfo 4198
200#define __NR_rt_sigsuspend 4199
201#define __NR_pread64 4200
202#define __NR_pwrite64 4201
203#define __NR_chown 4202
204#define __NR_getcwd 4203
205#define __NR_capget 4204
206#define __NR_capset 4205
207#define __NR_sigaltstack 4206
208#define __NR_sendfile 4207
209#define __NR_getpmsg 4208
210#define __NR_putpmsg 4209
211#define __NR_mmap2 4210
212#define __NR_truncate64 4211
213#define __NR_ftruncate64 4212
214#define __NR_stat64 4213
215#define __NR_lstat64 4214
216#define __NR_fstat64 4215
217#define __NR_pivot_root 4216
218#define __NR_mincore 4217
219#define __NR_madvise 4218
220#define __NR_getdents64 4219
221#define __NR_fcntl64 4220
222#define __NR_reserved221 4221
223#define __NR_gettid 4222
224#define __NR_readahead 4223
225#define __NR_setxattr 4224
226#define __NR_lsetxattr 4225
227#define __NR_fsetxattr 4226
228#define __NR_getxattr 4227
229#define __NR_lgetxattr 4228
230#define __NR_fgetxattr 4229
231#define __NR_listxattr 4230
232#define __NR_llistxattr 4231
233#define __NR_flistxattr 4232
234#define __NR_removexattr 4233
235#define __NR_lremovexattr 4234
236#define __NR_fremovexattr 4235
237#define __NR_tkill 4236
238#define __NR_sendfile64 4237
239#define __NR_futex 4238
240#define __NR_sched_setaffinity 4239
241#define __NR_sched_getaffinity 4240
242#define __NR_io_setup 4241
243#define __NR_io_destroy 4242
244#define __NR_io_getevents 4243
245#define __NR_io_submit 4244
246#define __NR_io_cancel 4245
247#define __NR_exit_group 4246
248#define __NR_lookup_dcookie 4247
249#define __NR_epoll_create 4248
250#define __NR_epoll_ctl 4249
251#define __NR_epoll_wait 4250
252#define __NR_remap_file_pages 4251
253#define __NR_set_tid_address 4252
254#define __NR_restart_syscall 4253
255#define __NR_fadvise64 4254
256#define __NR_statfs64 4255
257#define __NR_fstatfs64 4256
258#define __NR_timer_create 4257
259#define __NR_timer_settime 4258
260#define __NR_timer_gettime 4259
261#define __NR_timer_getoverrun 4260
262#define __NR_timer_delete 4261
263#define __NR_clock_settime 4262
264#define __NR_clock_gettime 4263
265#define __NR_clock_getres 4264
266#define __NR_clock_nanosleep 4265
267#define __NR_tgkill 4266
268#define __NR_utimes 4267
269#define __NR_mbind 4268
270#define __NR_get_mempolicy 4269
271#define __NR_set_mempolicy 4270
272#define __NR_mq_open 4271
273#define __NR_mq_unlink 4272
274#define __NR_mq_timedsend 4273
275#define __NR_mq_timedreceive 4274
276#define __NR_mq_notify 4275
277#define __NR_mq_getsetattr 4276
278#define __NR_vserver 4277
279#define __NR_waitid 4278
280#define __NR_add_key 4280
281#define __NR_request_key 4281
282#define __NR_keyctl 4282
283#define __NR_set_thread_area 4283
284#define __NR_inotify_init 4284
285#define __NR_inotify_add_watch 4285
286#define __NR_inotify_rm_watch 4286
287#define __NR_migrate_pages 4287
288#define __NR_openat 4288
289#define __NR_mkdirat 4289
290#define __NR_mknodat 4290
291#define __NR_fchownat 4291
292#define __NR_futimesat 4292
293#define __NR_fstatat64 4293
294#define __NR_unlinkat 4294
295#define __NR_renameat 4295
296#define __NR_linkat 4296
297#define __NR_symlinkat 4297
298#define __NR_readlinkat 4298
299#define __NR_fchmodat 4299
300#define __NR_faccessat 4300
301#define __NR_pselect6 4301
302#define __NR_ppoll 4302
303#define __NR_unshare 4303
304#define __NR_splice 4304
305#define __NR_sync_file_range 4305
306#define __NR_tee 4306
307#define __NR_vmsplice 4307
308#define __NR_move_pages 4308
309#define __NR_set_robust_list 4309
310#define __NR_get_robust_list 4310
311#define __NR_kexec_load 4311
312#define __NR_getcpu 4312
313#define __NR_epoll_pwait 4313
314#define __NR_ioprio_set 4314
315#define __NR_ioprio_get 4315
316#define __NR_utimensat 4316
317#define __NR_signalfd 4317
318#define __NR_timerfd 4318
319#define __NR_eventfd 4319
320#define __NR_fallocate 4320
321#define __NR_timerfd_create 4321
322#define __NR_timerfd_gettime 4322
323#define __NR_timerfd_settime 4323
324#define __NR_signalfd4 4324
325#define __NR_eventfd2 4325
326#define __NR_epoll_create1 4326
327#define __NR_dup3 4327
328#define __NR_pipe2 4328
329#define __NR_inotify_init1 4329
330#define __NR_preadv 4330
331#define __NR_pwritev 4331
332#define __NR_rt_tgsigqueueinfo 4332
333#define __NR_perf_event_open 4333
334#define __NR_accept4 4334
335#define __NR_recvmmsg 4335
336#define __NR_fanotify_init 4336
337#define __NR_fanotify_mark 4337
338#define __NR_prlimit64 4338
339#define __NR_name_to_handle_at 4339
340#define __NR_open_by_handle_at 4340
341#define __NR_clock_adjtime 4341
342#define __NR_syncfs 4342
343#define __NR_sendmmsg 4343
344#define __NR_setns 4344
345#define __NR_process_vm_readv 4345
346#define __NR_process_vm_writev 4346
347#define __NR_kcmp 4347
348#define __NR_finit_module 4348
349#define __NR_sched_setattr 4349
350#define __NR_sched_getattr 4350
351#define __NR_renameat2 4351
352#define __NR_seccomp 4352
353#define __NR_getrandom 4353
354#define __NR_memfd_create 4354
355#define __NR_bpf 4355
356#define __NR_execveat 4356
357#define __NR_userfaultfd 4357
358#define __NR_membarrier 4358
359#define __NR_mlock2 4359
360#define __NR_copy_file_range 4360
361#define __NR_preadv2 4361
362#define __NR_pwritev2 4362
363#define __NR_pkey_mprotect 4363
364#define __NR_pkey_alloc 4364
365#define __NR_pkey_free 4365
366#define __NR_statx 4366
367#define __NR_rseq 4367
368#define __NR_io_pgetevents 4368
369#define __NR_semget 4393
370#define __NR_semctl 4394
371#define __NR_shmget 4395
372#define __NR_shmctl 4396
373#define __NR_shmat 4397
374#define __NR_shmdt 4398
375#define __NR_msgget 4399
376#define __NR_msgsnd 4400
377#define __NR_msgrcv 4401
378#define __NR_msgctl 4402
379#define __NR_clock_gettime64 4403
380#define __NR_clock_settime64 4404
381#define __NR_clock_adjtime64 4405
382#define __NR_clock_getres_time64 4406
383#define __NR_clock_nanosleep_time64 4407
384#define __NR_timer_gettime64 4408
385#define __NR_timer_settime64 4409
386#define __NR_timerfd_gettime64 4410
387#define __NR_timerfd_settime64 4411
388#define __NR_utimensat_time64 4412
389#define __NR_pselect6_time64 4413
390#define __NR_ppoll_time64 4414
391#define __NR_io_pgetevents_time64 4416
392#define __NR_recvmmsg_time64 4417
393#define __NR_mq_timedsend_time64 4418
394#define __NR_mq_timedreceive_time64 4419
395#define __NR_semtimedop_time64 4420
396#define __NR_rt_sigtimedwait_time64 4421
397#define __NR_futex_time64 4422
398#define __NR_sched_rr_get_interval_time64 4423
399#define __NR_pidfd_send_signal 4424
400#define __NR_io_uring_setup 4425
401#define __NR_io_uring_enter 4426
402#define __NR_io_uring_register 4427
403
404#define SYS_syscall 4000
405#define SYS_exit 4001
406#define SYS_fork 4002
407#define SYS_read 4003
408#define SYS_write 4004
409#define SYS_open 4005
410#define SYS_close 4006
411#define SYS_waitpid 4007
412#define SYS_creat 4008
413#define SYS_link 4009
414#define SYS_unlink 4010
415#define SYS_execve 4011
416#define SYS_chdir 4012
417#define SYS_time 4013
418#define SYS_mknod 4014
419#define SYS_chmod 4015
420#define SYS_lchown 4016
421#define SYS_break 4017
422#define SYS_unused18 4018
423#define SYS_lseek 4019
424#define SYS_getpid 4020
425#define SYS_mount 4021
426#define SYS_umount 4022
427#define SYS_setuid 4023
428#define SYS_getuid 4024
429#define SYS_stime 4025
430#define SYS_ptrace 4026
431#define SYS_alarm 4027
432#define SYS_unused28 4028
433#define SYS_pause 4029
434#define SYS_utime 4030
435#define SYS_stty 4031
436#define SYS_gtty 4032
437#define SYS_access 4033
438#define SYS_nice 4034
439#define SYS_ftime 4035
440#define SYS_sync 4036
441#define SYS_kill 4037
442#define SYS_rename 4038
443#define SYS_mkdir 4039
444#define SYS_rmdir 4040
445#define SYS_dup 4041
446#define SYS_pipe 4042
447#define SYS_times 4043
448#define SYS_prof 4044
449#define SYS_brk 4045
450#define SYS_setgid 4046
451#define SYS_getgid 4047
452#define SYS_signal 4048
453#define SYS_geteuid 4049
454#define SYS_getegid 4050
455#define SYS_acct 4051
456#define SYS_umount2 4052
457#define SYS_lock 4053
458#define SYS_ioctl 4054
459#define SYS_fcntl 4055
460#define SYS_mpx 4056
461#define SYS_setpgid 4057
462#define SYS_ulimit 4058
463#define SYS_unused59 4059
464#define SYS_umask 4060
465#define SYS_chroot 4061
466#define SYS_ustat 4062
467#define SYS_dup2 4063
468#define SYS_getppid 4064
469#define SYS_getpgrp 4065
470#define SYS_setsid 4066
471#define SYS_sigaction 4067
472#define SYS_sgetmask 4068
473#define SYS_ssetmask 4069
474#define SYS_setreuid 4070
475#define SYS_setregid 4071
476#define SYS_sigsuspend 4072
477#define SYS_sigpending 4073
478#define SYS_sethostname 4074
479#define SYS_setrlimit 4075
480#define SYS_getrlimit 4076
481#define SYS_getrusage 4077
482#define SYS_gettimeofday 4078
483#define SYS_settimeofday 4079
484#define SYS_getgroups 4080
485#define SYS_setgroups 4081
486#define SYS_reserved82 4082
487#define SYS_symlink 4083
488#define SYS_unused84 4084
489#define SYS_readlink 4085
490#define SYS_uselib 4086
491#define SYS_swapon 4087
492#define SYS_reboot 4088
493#define SYS_readdir 4089
494#define SYS_mmap 4090
495#define SYS_munmap 4091
496#define SYS_truncate 4092
497#define SYS_ftruncate 4093
498#define SYS_fchmod 4094
499#define SYS_fchown 4095
500#define SYS_getpriority 4096
501#define SYS_setpriority 4097
502#define SYS_profil 4098
503#define SYS_statfs 4099
504#define SYS_fstatfs 4100
505#define SYS_ioperm 4101
506#define SYS_socketcall 4102
507#define SYS_syslog 4103
508#define SYS_setitimer 4104
509#define SYS_getitimer 4105
510#define SYS_stat 4106
511#define SYS_lstat 4107
512#define SYS_fstat 4108
513#define SYS_unused109 4109
514#define SYS_iopl 4110
515#define SYS_vhangup 4111
516#define SYS_idle 4112
517#define SYS_vm86 4113
518#define SYS_wait4 4114
519#define SYS_swapoff 4115
520#define SYS_sysinfo 4116
521#define SYS_ipc 4117
522#define SYS_fsync 4118
523#define SYS_sigreturn 4119
524#define SYS_clone 4120
525#define SYS_setdomainname 4121
526#define SYS_uname 4122
527#define SYS_modify_ldt 4123
528#define SYS_adjtimex 4124
529#define SYS_mprotect 4125
530#define SYS_sigprocmask 4126
531#define SYS_create_module 4127
532#define SYS_init_module 4128
533#define SYS_delete_module 4129
534#define SYS_get_kernel_syms 4130
535#define SYS_quotactl 4131
536#define SYS_getpgid 4132
537#define SYS_fchdir 4133
538#define SYS_bdflush 4134
539#define SYS_sysfs 4135
540#define SYS_personality 4136
541#define SYS_afs_syscall 4137
542#define SYS_setfsuid 4138
543#define SYS_setfsgid 4139
544#define SYS__llseek 4140
545#define SYS_getdents 4141
546#define SYS__newselect 4142
547#define SYS_flock 4143
548#define SYS_msync 4144
549#define SYS_readv 4145
550#define SYS_writev 4146
551#define SYS_cacheflush 4147
552#define SYS_cachectl 4148
553#define SYS_sysmips 4149
554#define SYS_unused150 4150
555#define SYS_getsid 4151
556#define SYS_fdatasync 4152
557#define SYS__sysctl 4153
558#define SYS_mlock 4154
559#define SYS_munlock 4155
560#define SYS_mlockall 4156
561#define SYS_munlockall 4157
562#define SYS_sched_setparam 4158
563#define SYS_sched_getparam 4159
564#define SYS_sched_setscheduler 4160
565#define SYS_sched_getscheduler 4161
566#define SYS_sched_yield 4162
567#define SYS_sched_get_priority_max 4163
568#define SYS_sched_get_priority_min 4164
569#define SYS_sched_rr_get_interval 4165
570#define SYS_nanosleep 4166
571#define SYS_mremap 4167
572#define SYS_accept 4168
573#define SYS_bind 4169
574#define SYS_connect 4170
575#define SYS_getpeername 4171
576#define SYS_getsockname 4172
577#define SYS_getsockopt 4173
578#define SYS_listen 4174
579#define SYS_recv 4175
580#define SYS_recvfrom 4176
581#define SYS_recvmsg 4177
582#define SYS_send 4178
583#define SYS_sendmsg 4179
584#define SYS_sendto 4180
585#define SYS_setsockopt 4181
586#define SYS_shutdown 4182
587#define SYS_socket 4183
588#define SYS_socketpair 4184
589#define SYS_setresuid 4185
590#define SYS_getresuid 4186
591#define SYS_query_module 4187
592#define SYS_poll 4188
593#define SYS_nfsservctl 4189
594#define SYS_setresgid 4190
595#define SYS_getresgid 4191
596#define SYS_prctl 4192
597#define SYS_rt_sigreturn 4193
598#define SYS_rt_sigaction 4194
599#define SYS_rt_sigprocmask 4195
600#define SYS_rt_sigpending 4196
601#define SYS_rt_sigtimedwait 4197
602#define SYS_rt_sigqueueinfo 4198
603#define SYS_rt_sigsuspend 4199
604#define SYS_pread64 4200
605#define SYS_pwrite64 4201
606#define SYS_chown 4202
607#define SYS_getcwd 4203
608#define SYS_capget 4204
609#define SYS_capset 4205
610#define SYS_sigaltstack 4206
611#define SYS_sendfile 4207
612#define SYS_getpmsg 4208
613#define SYS_putpmsg 4209
614#define SYS_mmap2 4210
615#define SYS_truncate64 4211
616#define SYS_ftruncate64 4212
617#define SYS_stat64 4213
618#define SYS_lstat64 4214
619#define SYS_fstat64 4215
620#define SYS_pivot_root 4216
621#define SYS_mincore 4217
622#define SYS_madvise 4218
623#define SYS_getdents64 4219
624#define SYS_fcntl64 4220
625#define SYS_reserved221 4221
626#define SYS_gettid 4222
627#define SYS_readahead 4223
628#define SYS_setxattr 4224
629#define SYS_lsetxattr 4225
630#define SYS_fsetxattr 4226
631#define SYS_getxattr 4227
632#define SYS_lgetxattr 4228
633#define SYS_fgetxattr 4229
634#define SYS_listxattr 4230
635#define SYS_llistxattr 4231
636#define SYS_flistxattr 4232
637#define SYS_removexattr 4233
638#define SYS_lremovexattr 4234
639#define SYS_fremovexattr 4235
640#define SYS_tkill 4236
641#define SYS_sendfile64 4237
642#define SYS_futex 4238
643#define SYS_sched_setaffinity 4239
644#define SYS_sched_getaffinity 4240
645#define SYS_io_setup 4241
646#define SYS_io_destroy 4242
647#define SYS_io_getevents 4243
648#define SYS_io_submit 4244
649#define SYS_io_cancel 4245
650#define SYS_exit_group 4246
651#define SYS_lookup_dcookie 4247
652#define SYS_epoll_create 4248
653#define SYS_epoll_ctl 4249
654#define SYS_epoll_wait 4250
655#define SYS_remap_file_pages 4251
656#define SYS_set_tid_address 4252
657#define SYS_restart_syscall 4253
658#define SYS_fadvise64 4254
659#define SYS_statfs64 4255
660#define SYS_fstatfs64 4256
661#define SYS_timer_create 4257
662#define SYS_timer_settime 4258
663#define SYS_timer_gettime 4259
664#define SYS_timer_getoverrun 4260
665#define SYS_timer_delete 4261
666#define SYS_clock_settime 4262
667#define SYS_clock_gettime 4263
668#define SYS_clock_getres 4264
669#define SYS_clock_nanosleep 4265
670#define SYS_tgkill 4266
671#define SYS_utimes 4267
672#define SYS_mbind 4268
673#define SYS_get_mempolicy 4269
674#define SYS_set_mempolicy 4270
675#define SYS_mq_open 4271
676#define SYS_mq_unlink 4272
677#define SYS_mq_timedsend 4273
678#define SYS_mq_timedreceive 4274
679#define SYS_mq_notify 4275
680#define SYS_mq_getsetattr 4276
681#define SYS_vserver 4277
682#define SYS_waitid 4278
683#define SYS_add_key 4280
684#define SYS_request_key 4281
685#define SYS_keyctl 4282
686#define SYS_set_thread_area 4283
687#define SYS_inotify_init 4284
688#define SYS_inotify_add_watch 4285
689#define SYS_inotify_rm_watch 4286
690#define SYS_migrate_pages 4287
691#define SYS_openat 4288
692#define SYS_mkdirat 4289
693#define SYS_mknodat 4290
694#define SYS_fchownat 4291
695#define SYS_futimesat 4292
696#define SYS_fstatat64 4293
697#define SYS_unlinkat 4294
698#define SYS_renameat 4295
699#define SYS_linkat 4296
700#define SYS_symlinkat 4297
701#define SYS_readlinkat 4298
702#define SYS_fchmodat 4299
703#define SYS_faccessat 4300
704#define SYS_pselect6 4301
705#define SYS_ppoll 4302
706#define SYS_unshare 4303
707#define SYS_splice 4304
708#define SYS_sync_file_range 4305
709#define SYS_tee 4306
710#define SYS_vmsplice 4307
711#define SYS_move_pages 4308
712#define SYS_set_robust_list 4309
713#define SYS_get_robust_list 4310
714#define SYS_kexec_load 4311
715#define SYS_getcpu 4312
716#define SYS_epoll_pwait 4313
717#define SYS_ioprio_set 4314
718#define SYS_ioprio_get 4315
719#define SYS_utimensat 4316
720#define SYS_signalfd 4317
721#define SYS_timerfd 4318
722#define SYS_eventfd 4319
723#define SYS_fallocate 4320
724#define SYS_timerfd_create 4321
725#define SYS_timerfd_gettime 4322
726#define SYS_timerfd_settime 4323
727#define SYS_signalfd4 4324
728#define SYS_eventfd2 4325
729#define SYS_epoll_create1 4326
730#define SYS_dup3 4327
731#define SYS_pipe2 4328
732#define SYS_inotify_init1 4329
733#define SYS_preadv 4330
734#define SYS_pwritev 4331
735#define SYS_rt_tgsigqueueinfo 4332
736#define SYS_perf_event_open 4333
737#define SYS_accept4 4334
738#define SYS_recvmmsg 4335
739#define SYS_fanotify_init 4336
740#define SYS_fanotify_mark 4337
741#define SYS_prlimit64 4338
742#define SYS_name_to_handle_at 4339
743#define SYS_open_by_handle_at 4340
744#define SYS_clock_adjtime 4341
745#define SYS_syncfs 4342
746#define SYS_sendmmsg 4343
747#define SYS_setns 4344
748#define SYS_process_vm_readv 4345
749#define SYS_process_vm_writev 4346
750#define SYS_kcmp 4347
751#define SYS_finit_module 4348
752#define SYS_sched_setattr 4349
753#define SYS_sched_getattr 4350
754#define SYS_renameat2 4351
755#define SYS_seccomp 4352
756#define SYS_getrandom 4353
757#define SYS_memfd_create 4354
758#define SYS_bpf 4355
759#define SYS_execveat 4356
760#define SYS_userfaultfd 4357
761#define SYS_membarrier 4358
762#define SYS_mlock2 4359
763#define SYS_copy_file_range 4360
764#define SYS_preadv2 4361
765#define SYS_pwritev2 4362
766#define SYS_pkey_mprotect 4363
767#define SYS_pkey_alloc 4364
768#define SYS_pkey_free 4365
769#define SYS_statx 4366
770#define SYS_rseq 4367
771#define SYS_io_pgetevents 4368
772#define SYS_semget 4393
773#define SYS_semctl 4394
774#define SYS_shmget 4395
775#define SYS_shmctl 4396
776#define SYS_shmat 4397
777#define SYS_shmdt 4398
778#define SYS_msgget 4399
779#define SYS_msgsnd 4400
780#define SYS_msgrcv 4401
781#define SYS_msgctl 4402
782#define SYS_clock_gettime64 4403
783#define SYS_clock_settime64 4404
784#define SYS_clock_adjtime64 4405
785#define SYS_clock_getres_time64 4406
786#define SYS_clock_nanosleep_time64 4407
787#define SYS_timer_gettime64 4408
788#define SYS_timer_settime64 4409
789#define SYS_timerfd_gettime64 4410
790#define SYS_timerfd_settime64 4411
791#define SYS_utimensat_time64 4412
792#define SYS_pselect6_time64 4413
793#define SYS_ppoll_time64 4414
794#define SYS_io_pgetevents_time64 4416
795#define SYS_recvmmsg_time64 4417
796#define SYS_mq_timedsend_time64 4418
797#define SYS_mq_timedreceive_time64 4419
798#define SYS_semtimedop_time64 4420
799#define SYS_rt_sigtimedwait_time64 4421
800#define SYS_futex_time64 4422
801#define SYS_sched_rr_get_interval_time64 4423
802#define SYS_pidfd_send_signal 4424
803#define SYS_io_uring_setup 4425
804#define SYS_io_uring_enter 4426
805#define SYS_io_uring_register 4427
\ No newline at end of file
lib/libc/include/mips64-linux-musl/bits/alltypes.h created+396
......@@ -0,0 +1,396 @@
1#define _Addr long
2#define _Int64 long
3#define _Reg long
4
5#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
6typedef __builtin_va_list va_list;
7#define __DEFINED_va_list
8#endif
9
10#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
11typedef __builtin_va_list __isoc_va_list;
12#define __DEFINED___isoc_va_list
13#endif
14
15
16#ifndef __cplusplus
17#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
18typedef int wchar_t;
19#define __DEFINED_wchar_t
20#endif
21
22#endif
23
24#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
25typedef float float_t;
26#define __DEFINED_float_t
27#endif
28
29#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
30typedef double double_t;
31#define __DEFINED_double_t
32#endif
33
34
35#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
36typedef struct { long long __ll; long double __ld; } max_align_t;
37#define __DEFINED_max_align_t
38#endif
39
40
41#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
42typedef long time_t;
43#define __DEFINED_time_t
44#endif
45
46#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
47typedef long suseconds_t;
48#define __DEFINED_suseconds_t
49#endif
50
51
52#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
53typedef unsigned nlink_t;
54#define __DEFINED_nlink_t
55#endif
56
57
58#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
59typedef struct { union { int __i[14]; volatile int __vi[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
60#define __DEFINED_pthread_attr_t
61#endif
62
63#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
64typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } pthread_mutex_t;
65#define __DEFINED_pthread_mutex_t
66#endif
67
68#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
69typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } mtx_t;
70#define __DEFINED_mtx_t
71#endif
72
73#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
74typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } pthread_cond_t;
75#define __DEFINED_pthread_cond_t
76#endif
77
78#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
79typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } cnd_t;
80#define __DEFINED_cnd_t
81#endif
82
83#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
84typedef struct { union { int __i[14]; volatile int __vi[14]; void *__p[7]; } __u; } pthread_rwlock_t;
85#define __DEFINED_pthread_rwlock_t
86#endif
87
88#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
89typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[4]; } __u; } pthread_barrier_t;
90#define __DEFINED_pthread_barrier_t
91#endif
92
93#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
94typedef unsigned _Addr size_t;
95#define __DEFINED_size_t
96#endif
97
98#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
99typedef unsigned _Addr uintptr_t;
100#define __DEFINED_uintptr_t
101#endif
102
103#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
104typedef _Addr ptrdiff_t;
105#define __DEFINED_ptrdiff_t
106#endif
107
108#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
109typedef _Addr ssize_t;
110#define __DEFINED_ssize_t
111#endif
112
113#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
114typedef _Addr intptr_t;
115#define __DEFINED_intptr_t
116#endif
117
118#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
119typedef _Addr regoff_t;
120#define __DEFINED_regoff_t
121#endif
122
123#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
124typedef _Reg register_t;
125#define __DEFINED_register_t
126#endif
127
128
129#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
130typedef signed char int8_t;
131#define __DEFINED_int8_t
132#endif
133
134#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
135typedef signed short int16_t;
136#define __DEFINED_int16_t
137#endif
138
139#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
140typedef signed int int32_t;
141#define __DEFINED_int32_t
142#endif
143
144#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
145typedef signed _Int64 int64_t;
146#define __DEFINED_int64_t
147#endif
148
149#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
150typedef signed _Int64 intmax_t;
151#define __DEFINED_intmax_t
152#endif
153
154#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
155typedef unsigned char uint8_t;
156#define __DEFINED_uint8_t
157#endif
158
159#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
160typedef unsigned short uint16_t;
161#define __DEFINED_uint16_t
162#endif
163
164#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
165typedef unsigned int uint32_t;
166#define __DEFINED_uint32_t
167#endif
168
169#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
170typedef unsigned _Int64 uint64_t;
171#define __DEFINED_uint64_t
172#endif
173
174#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
175typedef unsigned _Int64 u_int64_t;
176#define __DEFINED_u_int64_t
177#endif
178
179#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
180typedef unsigned _Int64 uintmax_t;
181#define __DEFINED_uintmax_t
182#endif
183
184
185#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
186typedef unsigned mode_t;
187#define __DEFINED_mode_t
188#endif
189
190#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
191typedef unsigned _Reg nlink_t;
192#define __DEFINED_nlink_t
193#endif
194
195#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
196typedef _Int64 off_t;
197#define __DEFINED_off_t
198#endif
199
200#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
201typedef unsigned _Int64 ino_t;
202#define __DEFINED_ino_t
203#endif
204
205#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
206typedef unsigned _Int64 dev_t;
207#define __DEFINED_dev_t
208#endif
209
210#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
211typedef long blksize_t;
212#define __DEFINED_blksize_t
213#endif
214
215#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
216typedef _Int64 blkcnt_t;
217#define __DEFINED_blkcnt_t
218#endif
219
220#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
221typedef unsigned _Int64 fsblkcnt_t;
222#define __DEFINED_fsblkcnt_t
223#endif
224
225#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
226typedef unsigned _Int64 fsfilcnt_t;
227#define __DEFINED_fsfilcnt_t
228#endif
229
230
231#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
232typedef unsigned wint_t;
233#define __DEFINED_wint_t
234#endif
235
236#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
237typedef unsigned long wctype_t;
238#define __DEFINED_wctype_t
239#endif
240
241
242#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
243typedef void * timer_t;
244#define __DEFINED_timer_t
245#endif
246
247#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
248typedef int clockid_t;
249#define __DEFINED_clockid_t
250#endif
251
252#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
253typedef long clock_t;
254#define __DEFINED_clock_t
255#endif
256
257#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
258struct timeval { time_t tv_sec; suseconds_t tv_usec; };
259#define __DEFINED_struct_timeval
260#endif
261
262#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
263struct timespec { time_t tv_sec; long tv_nsec; };
264#define __DEFINED_struct_timespec
265#endif
266
267
268#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
269typedef int pid_t;
270#define __DEFINED_pid_t
271#endif
272
273#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
274typedef unsigned id_t;
275#define __DEFINED_id_t
276#endif
277
278#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
279typedef unsigned uid_t;
280#define __DEFINED_uid_t
281#endif
282
283#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
284typedef unsigned gid_t;
285#define __DEFINED_gid_t
286#endif
287
288#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
289typedef int key_t;
290#define __DEFINED_key_t
291#endif
292
293#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
294typedef unsigned useconds_t;
295#define __DEFINED_useconds_t
296#endif
297
298
299#ifdef __cplusplus
300#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
301typedef unsigned long pthread_t;
302#define __DEFINED_pthread_t
303#endif
304
305#else
306#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
307typedef struct __pthread * pthread_t;
308#define __DEFINED_pthread_t
309#endif
310
311#endif
312#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
313typedef int pthread_once_t;
314#define __DEFINED_pthread_once_t
315#endif
316
317#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
318typedef unsigned pthread_key_t;
319#define __DEFINED_pthread_key_t
320#endif
321
322#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
323typedef int pthread_spinlock_t;
324#define __DEFINED_pthread_spinlock_t
325#endif
326
327#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
328typedef struct { unsigned __attr; } pthread_mutexattr_t;
329#define __DEFINED_pthread_mutexattr_t
330#endif
331
332#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
333typedef struct { unsigned __attr; } pthread_condattr_t;
334#define __DEFINED_pthread_condattr_t
335#endif
336
337#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
338typedef struct { unsigned __attr; } pthread_barrierattr_t;
339#define __DEFINED_pthread_barrierattr_t
340#endif
341
342#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
343typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
344#define __DEFINED_pthread_rwlockattr_t
345#endif
346
347
348#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
349struct _IO_FILE { char __x; };
350#define __DEFINED_struct__IO_FILE
351#endif
352
353#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
354typedef struct _IO_FILE FILE;
355#define __DEFINED_FILE
356#endif
357
358
359#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
360typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
361#define __DEFINED_mbstate_t
362#endif
363
364
365#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
366typedef struct __locale_struct * locale_t;
367#define __DEFINED_locale_t
368#endif
369
370
371#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
372typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
373#define __DEFINED_sigset_t
374#endif
375
376
377#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
378struct iovec { void *iov_base; size_t iov_len; };
379#define __DEFINED_struct_iovec
380#endif
381
382
383#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
384typedef unsigned socklen_t;
385#define __DEFINED_socklen_t
386#endif
387
388#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
389typedef unsigned short sa_family_t;
390#define __DEFINED_sa_family_t
391#endif
392
393
394#undef _Addr
395#undef _Int64
396#undef _Reg
\ No newline at end of file
lib/libc/include/mips64-linux-musl/bits/syscall.h created+665
......@@ -0,0 +1,665 @@
1#define __NR_read 5000
2#define __NR_write 5001
3#define __NR_open 5002
4#define __NR_close 5003
5#define __NR_stat 5004
6#define __NR_fstat 5005
7#define __NR_lstat 5006
8#define __NR_poll 5007
9#define __NR_lseek 5008
10#define __NR_mmap 5009
11#define __NR_mprotect 5010
12#define __NR_munmap 5011
13#define __NR_brk 5012
14#define __NR_rt_sigaction 5013
15#define __NR_rt_sigprocmask 5014
16#define __NR_ioctl 5015
17#define __NR_pread64 5016
18#define __NR_pwrite64 5017
19#define __NR_readv 5018
20#define __NR_writev 5019
21#define __NR_access 5020
22#define __NR_pipe 5021
23#define __NR__newselect 5022
24#define __NR_sched_yield 5023
25#define __NR_mremap 5024
26#define __NR_msync 5025
27#define __NR_mincore 5026
28#define __NR_madvise 5027
29#define __NR_shmget 5028
30#define __NR_shmat 5029
31#define __NR_shmctl 5030
32#define __NR_dup 5031
33#define __NR_dup2 5032
34#define __NR_pause 5033
35#define __NR_nanosleep 5034
36#define __NR_getitimer 5035
37#define __NR_setitimer 5036
38#define __NR_alarm 5037
39#define __NR_getpid 5038
40#define __NR_sendfile 5039
41#define __NR_socket 5040
42#define __NR_connect 5041
43#define __NR_accept 5042
44#define __NR_sendto 5043
45#define __NR_recvfrom 5044
46#define __NR_sendmsg 5045
47#define __NR_recvmsg 5046
48#define __NR_shutdown 5047
49#define __NR_bind 5048
50#define __NR_listen 5049
51#define __NR_getsockname 5050
52#define __NR_getpeername 5051
53#define __NR_socketpair 5052
54#define __NR_setsockopt 5053
55#define __NR_getsockopt 5054
56#define __NR_clone 5055
57#define __NR_fork 5056
58#define __NR_execve 5057
59#define __NR_exit 5058
60#define __NR_wait4 5059
61#define __NR_kill 5060
62#define __NR_uname 5061
63#define __NR_semget 5062
64#define __NR_semop 5063
65#define __NR_semctl 5064
66#define __NR_shmdt 5065
67#define __NR_msgget 5066
68#define __NR_msgsnd 5067
69#define __NR_msgrcv 5068
70#define __NR_msgctl 5069
71#define __NR_fcntl 5070
72#define __NR_flock 5071
73#define __NR_fsync 5072
74#define __NR_fdatasync 5073
75#define __NR_truncate 5074
76#define __NR_ftruncate 5075
77#define __NR_getdents 5076
78#define __NR_getcwd 5077
79#define __NR_chdir 5078
80#define __NR_fchdir 5079
81#define __NR_rename 5080
82#define __NR_mkdir 5081
83#define __NR_rmdir 5082
84#define __NR_creat 5083
85#define __NR_link 5084
86#define __NR_unlink 5085
87#define __NR_symlink 5086
88#define __NR_readlink 5087
89#define __NR_chmod 5088
90#define __NR_fchmod 5089
91#define __NR_chown 5090
92#define __NR_fchown 5091
93#define __NR_lchown 5092
94#define __NR_umask 5093
95#define __NR_gettimeofday 5094
96#define __NR_getrlimit 5095
97#define __NR_getrusage 5096
98#define __NR_sysinfo 5097
99#define __NR_times 5098
100#define __NR_ptrace 5099
101#define __NR_getuid 5100
102#define __NR_syslog 5101
103#define __NR_getgid 5102
104#define __NR_setuid 5103
105#define __NR_setgid 5104
106#define __NR_geteuid 5105
107#define __NR_getegid 5106
108#define __NR_setpgid 5107
109#define __NR_getppid 5108
110#define __NR_getpgrp 5109
111#define __NR_setsid 5110
112#define __NR_setreuid 5111
113#define __NR_setregid 5112
114#define __NR_getgroups 5113
115#define __NR_setgroups 5114
116#define __NR_setresuid 5115
117#define __NR_getresuid 5116
118#define __NR_setresgid 5117
119#define __NR_getresgid 5118
120#define __NR_getpgid 5119
121#define __NR_setfsuid 5120
122#define __NR_setfsgid 5121
123#define __NR_getsid 5122
124#define __NR_capget 5123
125#define __NR_capset 5124
126#define __NR_rt_sigpending 5125
127#define __NR_rt_sigtimedwait 5126
128#define __NR_rt_sigqueueinfo 5127
129#define __NR_rt_sigsuspend 5128
130#define __NR_sigaltstack 5129
131#define __NR_utime 5130
132#define __NR_mknod 5131
133#define __NR_personality 5132
134#define __NR_ustat 5133
135#define __NR_statfs 5134
136#define __NR_fstatfs 5135
137#define __NR_sysfs 5136
138#define __NR_getpriority 5137
139#define __NR_setpriority 5138
140#define __NR_sched_setparam 5139
141#define __NR_sched_getparam 5140
142#define __NR_sched_setscheduler 5141
143#define __NR_sched_getscheduler 5142
144#define __NR_sched_get_priority_max 5143
145#define __NR_sched_get_priority_min 5144
146#define __NR_sched_rr_get_interval 5145
147#define __NR_mlock 5146
148#define __NR_munlock 5147
149#define __NR_mlockall 5148
150#define __NR_munlockall 5149
151#define __NR_vhangup 5150
152#define __NR_pivot_root 5151
153#define __NR__sysctl 5152
154#define __NR_prctl 5153
155#define __NR_adjtimex 5154
156#define __NR_setrlimit 5155
157#define __NR_chroot 5156
158#define __NR_sync 5157
159#define __NR_acct 5158
160#define __NR_settimeofday 5159
161#define __NR_mount 5160
162#define __NR_umount2 5161
163#define __NR_swapon 5162
164#define __NR_swapoff 5163
165#define __NR_reboot 5164
166#define __NR_sethostname 5165
167#define __NR_setdomainname 5166
168#define __NR_create_module 5167
169#define __NR_init_module 5168
170#define __NR_delete_module 5169
171#define __NR_get_kernel_syms 5170
172#define __NR_query_module 5171
173#define __NR_quotactl 5172
174#define __NR_nfsservctl 5173
175#define __NR_getpmsg 5174
176#define __NR_putpmsg 5175
177#define __NR_afs_syscall 5176
178#define __NR_reserved177 5177
179#define __NR_gettid 5178
180#define __NR_readahead 5179
181#define __NR_setxattr 5180
182#define __NR_lsetxattr 5181
183#define __NR_fsetxattr 5182
184#define __NR_getxattr 5183
185#define __NR_lgetxattr 5184
186#define __NR_fgetxattr 5185
187#define __NR_listxattr 5186
188#define __NR_llistxattr 5187
189#define __NR_flistxattr 5188
190#define __NR_removexattr 5189
191#define __NR_lremovexattr 5190
192#define __NR_fremovexattr 5191
193#define __NR_tkill 5192
194#define __NR_reserved193 5193
195#define __NR_futex 5194
196#define __NR_sched_setaffinity 5195
197#define __NR_sched_getaffinity 5196
198#define __NR_cacheflush 5197
199#define __NR_cachectl 5198
200#define __NR_sysmips 5199
201#define __NR_io_setup 5200
202#define __NR_io_destroy 5201
203#define __NR_io_getevents 5202
204#define __NR_io_submit 5203
205#define __NR_io_cancel 5204
206#define __NR_exit_group 5205
207#define __NR_lookup_dcookie 5206
208#define __NR_epoll_create 5207
209#define __NR_epoll_ctl 5208
210#define __NR_epoll_wait 5209
211#define __NR_remap_file_pages 5210
212#define __NR_rt_sigreturn 5211
213#define __NR_set_tid_address 5212
214#define __NR_restart_syscall 5213
215#define __NR_semtimedop 5214
216#define __NR_fadvise64 5215
217#define __NR_timer_create 5216
218#define __NR_timer_settime 5217
219#define __NR_timer_gettime 5218
220#define __NR_timer_getoverrun 5219
221#define __NR_timer_delete 5220
222#define __NR_clock_settime 5221
223#define __NR_clock_gettime 5222
224#define __NR_clock_getres 5223
225#define __NR_clock_nanosleep 5224
226#define __NR_tgkill 5225
227#define __NR_utimes 5226
228#define __NR_mbind 5227
229#define __NR_get_mempolicy 5228
230#define __NR_set_mempolicy 5229
231#define __NR_mq_open 5230
232#define __NR_mq_unlink 5231
233#define __NR_mq_timedsend 5232
234#define __NR_mq_timedreceive 5233
235#define __NR_mq_notify 5234
236#define __NR_mq_getsetattr 5235
237#define __NR_vserver 5236
238#define __NR_waitid 5237
239#define __NR_add_key 5239
240#define __NR_request_key 5240
241#define __NR_keyctl 5241
242#define __NR_set_thread_area 5242
243#define __NR_inotify_init 5243
244#define __NR_inotify_add_watch 5244
245#define __NR_inotify_rm_watch 5245
246#define __NR_migrate_pages 5246
247#define __NR_openat 5247
248#define __NR_mkdirat 5248
249#define __NR_mknodat 5249
250#define __NR_fchownat 5250
251#define __NR_futimesat 5251
252#define __NR_newfstatat 5252
253#define __NR_unlinkat 5253
254#define __NR_renameat 5254
255#define __NR_linkat 5255
256#define __NR_symlinkat 5256
257#define __NR_readlinkat 5257
258#define __NR_fchmodat 5258
259#define __NR_faccessat 5259
260#define __NR_pselect6 5260
261#define __NR_ppoll 5261
262#define __NR_unshare 5262
263#define __NR_splice 5263
264#define __NR_sync_file_range 5264
265#define __NR_tee 5265
266#define __NR_vmsplice 5266
267#define __NR_move_pages 5267
268#define __NR_set_robust_list 5268
269#define __NR_get_robust_list 5269
270#define __NR_kexec_load 5270
271#define __NR_getcpu 5271
272#define __NR_epoll_pwait 5272
273#define __NR_ioprio_set 5273
274#define __NR_ioprio_get 5274
275#define __NR_utimensat 5275
276#define __NR_signalfd 5276
277#define __NR_timerfd 5277
278#define __NR_eventfd 5278
279#define __NR_fallocate 5279
280#define __NR_timerfd_create 5280
281#define __NR_timerfd_gettime 5281
282#define __NR_timerfd_settime 5282
283#define __NR_signalfd4 5283
284#define __NR_eventfd2 5284
285#define __NR_epoll_create1 5285
286#define __NR_dup3 5286
287#define __NR_pipe2 5287
288#define __NR_inotify_init1 5288
289#define __NR_preadv 5289
290#define __NR_pwritev 5290
291#define __NR_rt_tgsigqueueinfo 5291
292#define __NR_perf_event_open 5292
293#define __NR_accept4 5293
294#define __NR_recvmmsg 5294
295#define __NR_fanotify_init 5295
296#define __NR_fanotify_mark 5296
297#define __NR_prlimit64 5297
298#define __NR_name_to_handle_at 5298
299#define __NR_open_by_handle_at 5299
300#define __NR_clock_adjtime 5300
301#define __NR_syncfs 5301
302#define __NR_sendmmsg 5302
303#define __NR_setns 5303
304#define __NR_process_vm_readv 5304
305#define __NR_process_vm_writev 5305
306#define __NR_kcmp 5306
307#define __NR_finit_module 5307
308#define __NR_getdents64 5308
309#define __NR_sched_setattr 5309
310#define __NR_sched_getattr 5310
311#define __NR_renameat2 5311
312#define __NR_seccomp 5312
313#define __NR_getrandom 5313
314#define __NR_memfd_create 5314
315#define __NR_bpf 5315
316#define __NR_execveat 5316
317#define __NR_userfaultfd 5317
318#define __NR_membarrier 5318
319#define __NR_mlock2 5319
320#define __NR_copy_file_range 5320
321#define __NR_preadv2 5321
322#define __NR_pwritev2 5322
323#define __NR_pkey_mprotect 5323
324#define __NR_pkey_alloc 5324
325#define __NR_pkey_free 5325
326#define __NR_statx 5326
327#define __NR_rseq 5327
328#define __NR_io_pgetevents 5328
329#define __NR_pidfd_send_signal 5424
330#define __NR_io_uring_setup 5425
331#define __NR_io_uring_enter 5426
332#define __NR_io_uring_register 5427
333
334#define SYS_read 5000
335#define SYS_write 5001
336#define SYS_open 5002
337#define SYS_close 5003
338#define SYS_stat 5004
339#define SYS_fstat 5005
340#define SYS_lstat 5006
341#define SYS_poll 5007
342#define SYS_lseek 5008
343#define SYS_mmap 5009
344#define SYS_mprotect 5010
345#define SYS_munmap 5011
346#define SYS_brk 5012
347#define SYS_rt_sigaction 5013
348#define SYS_rt_sigprocmask 5014
349#define SYS_ioctl 5015
350#define SYS_pread64 5016
351#define SYS_pwrite64 5017
352#define SYS_readv 5018
353#define SYS_writev 5019
354#define SYS_access 5020
355#define SYS_pipe 5021
356#define SYS__newselect 5022
357#define SYS_sched_yield 5023
358#define SYS_mremap 5024
359#define SYS_msync 5025
360#define SYS_mincore 5026
361#define SYS_madvise 5027
362#define SYS_shmget 5028
363#define SYS_shmat 5029
364#define SYS_shmctl 5030
365#define SYS_dup 5031
366#define SYS_dup2 5032
367#define SYS_pause 5033
368#define SYS_nanosleep 5034
369#define SYS_getitimer 5035
370#define SYS_setitimer 5036
371#define SYS_alarm 5037
372#define SYS_getpid 5038
373#define SYS_sendfile 5039
374#define SYS_socket 5040
375#define SYS_connect 5041
376#define SYS_accept 5042
377#define SYS_sendto 5043
378#define SYS_recvfrom 5044
379#define SYS_sendmsg 5045
380#define SYS_recvmsg 5046
381#define SYS_shutdown 5047
382#define SYS_bind 5048
383#define SYS_listen 5049
384#define SYS_getsockname 5050
385#define SYS_getpeername 5051
386#define SYS_socketpair 5052
387#define SYS_setsockopt 5053
388#define SYS_getsockopt 5054
389#define SYS_clone 5055
390#define SYS_fork 5056
391#define SYS_execve 5057
392#define SYS_exit 5058
393#define SYS_wait4 5059
394#define SYS_kill 5060
395#define SYS_uname 5061
396#define SYS_semget 5062
397#define SYS_semop 5063
398#define SYS_semctl 5064
399#define SYS_shmdt 5065
400#define SYS_msgget 5066
401#define SYS_msgsnd 5067
402#define SYS_msgrcv 5068
403#define SYS_msgctl 5069
404#define SYS_fcntl 5070
405#define SYS_flock 5071
406#define SYS_fsync 5072
407#define SYS_fdatasync 5073
408#define SYS_truncate 5074
409#define SYS_ftruncate 5075
410#define SYS_getdents 5076
411#define SYS_getcwd 5077
412#define SYS_chdir 5078
413#define SYS_fchdir 5079
414#define SYS_rename 5080
415#define SYS_mkdir 5081
416#define SYS_rmdir 5082
417#define SYS_creat 5083
418#define SYS_link 5084
419#define SYS_unlink 5085
420#define SYS_symlink 5086
421#define SYS_readlink 5087
422#define SYS_chmod 5088
423#define SYS_fchmod 5089
424#define SYS_chown 5090
425#define SYS_fchown 5091
426#define SYS_lchown 5092
427#define SYS_umask 5093
428#define SYS_gettimeofday 5094
429#define SYS_getrlimit 5095
430#define SYS_getrusage 5096
431#define SYS_sysinfo 5097
432#define SYS_times 5098
433#define SYS_ptrace 5099
434#define SYS_getuid 5100
435#define SYS_syslog 5101
436#define SYS_getgid 5102
437#define SYS_setuid 5103
438#define SYS_setgid 5104
439#define SYS_geteuid 5105
440#define SYS_getegid 5106
441#define SYS_setpgid 5107
442#define SYS_getppid 5108
443#define SYS_getpgrp 5109
444#define SYS_setsid 5110
445#define SYS_setreuid 5111
446#define SYS_setregid 5112
447#define SYS_getgroups 5113
448#define SYS_setgroups 5114
449#define SYS_setresuid 5115
450#define SYS_getresuid 5116
451#define SYS_setresgid 5117
452#define SYS_getresgid 5118
453#define SYS_getpgid 5119
454#define SYS_setfsuid 5120
455#define SYS_setfsgid 5121
456#define SYS_getsid 5122
457#define SYS_capget 5123
458#define SYS_capset 5124
459#define SYS_rt_sigpending 5125
460#define SYS_rt_sigtimedwait 5126
461#define SYS_rt_sigqueueinfo 5127
462#define SYS_rt_sigsuspend 5128
463#define SYS_sigaltstack 5129
464#define SYS_utime 5130
465#define SYS_mknod 5131
466#define SYS_personality 5132
467#define SYS_ustat 5133
468#define SYS_statfs 5134
469#define SYS_fstatfs 5135
470#define SYS_sysfs 5136
471#define SYS_getpriority 5137
472#define SYS_setpriority 5138
473#define SYS_sched_setparam 5139
474#define SYS_sched_getparam 5140
475#define SYS_sched_setscheduler 5141
476#define SYS_sched_getscheduler 5142
477#define SYS_sched_get_priority_max 5143
478#define SYS_sched_get_priority_min 5144
479#define SYS_sched_rr_get_interval 5145
480#define SYS_mlock 5146
481#define SYS_munlock 5147
482#define SYS_mlockall 5148
483#define SYS_munlockall 5149
484#define SYS_vhangup 5150
485#define SYS_pivot_root 5151
486#define SYS__sysctl 5152
487#define SYS_prctl 5153
488#define SYS_adjtimex 5154
489#define SYS_setrlimit 5155
490#define SYS_chroot 5156
491#define SYS_sync 5157
492#define SYS_acct 5158
493#define SYS_settimeofday 5159
494#define SYS_mount 5160
495#define SYS_umount2 5161
496#define SYS_swapon 5162
497#define SYS_swapoff 5163
498#define SYS_reboot 5164
499#define SYS_sethostname 5165
500#define SYS_setdomainname 5166
501#define SYS_create_module 5167
502#define SYS_init_module 5168
503#define SYS_delete_module 5169
504#define SYS_get_kernel_syms 5170
505#define SYS_query_module 5171
506#define SYS_quotactl 5172
507#define SYS_nfsservctl 5173
508#define SYS_getpmsg 5174
509#define SYS_putpmsg 5175
510#define SYS_afs_syscall 5176
511#define SYS_reserved177 5177
512#define SYS_gettid 5178
513#define SYS_readahead 5179
514#define SYS_setxattr 5180
515#define SYS_lsetxattr 5181
516#define SYS_fsetxattr 5182
517#define SYS_getxattr 5183
518#define SYS_lgetxattr 5184
519#define SYS_fgetxattr 5185
520#define SYS_listxattr 5186
521#define SYS_llistxattr 5187
522#define SYS_flistxattr 5188
523#define SYS_removexattr 5189
524#define SYS_lremovexattr 5190
525#define SYS_fremovexattr 5191
526#define SYS_tkill 5192
527#define SYS_reserved193 5193
528#define SYS_futex 5194
529#define SYS_sched_setaffinity 5195
530#define SYS_sched_getaffinity 5196
531#define SYS_cacheflush 5197
532#define SYS_cachectl 5198
533#define SYS_sysmips 5199
534#define SYS_io_setup 5200
535#define SYS_io_destroy 5201
536#define SYS_io_getevents 5202
537#define SYS_io_submit 5203
538#define SYS_io_cancel 5204
539#define SYS_exit_group 5205
540#define SYS_lookup_dcookie 5206
541#define SYS_epoll_create 5207
542#define SYS_epoll_ctl 5208
543#define SYS_epoll_wait 5209
544#define SYS_remap_file_pages 5210
545#define SYS_rt_sigreturn 5211
546#define SYS_set_tid_address 5212
547#define SYS_restart_syscall 5213
548#define SYS_semtimedop 5214
549#define SYS_fadvise64 5215
550#define SYS_timer_create 5216
551#define SYS_timer_settime 5217
552#define SYS_timer_gettime 5218
553#define SYS_timer_getoverrun 5219
554#define SYS_timer_delete 5220
555#define SYS_clock_settime 5221
556#define SYS_clock_gettime 5222
557#define SYS_clock_getres 5223
558#define SYS_clock_nanosleep 5224
559#define SYS_tgkill 5225
560#define SYS_utimes 5226
561#define SYS_mbind 5227
562#define SYS_get_mempolicy 5228
563#define SYS_set_mempolicy 5229
564#define SYS_mq_open 5230
565#define SYS_mq_unlink 5231
566#define SYS_mq_timedsend 5232
567#define SYS_mq_timedreceive 5233
568#define SYS_mq_notify 5234
569#define SYS_mq_getsetattr 5235
570#define SYS_vserver 5236
571#define SYS_waitid 5237
572#define SYS_add_key 5239
573#define SYS_request_key 5240
574#define SYS_keyctl 5241
575#define SYS_set_thread_area 5242
576#define SYS_inotify_init 5243
577#define SYS_inotify_add_watch 5244
578#define SYS_inotify_rm_watch 5245
579#define SYS_migrate_pages 5246
580#define SYS_openat 5247
581#define SYS_mkdirat 5248
582#define SYS_mknodat 5249
583#define SYS_fchownat 5250
584#define SYS_futimesat 5251
585#define SYS_newfstatat 5252
586#define SYS_unlinkat 5253
587#define SYS_renameat 5254
588#define SYS_linkat 5255
589#define SYS_symlinkat 5256
590#define SYS_readlinkat 5257
591#define SYS_fchmodat 5258
592#define SYS_faccessat 5259
593#define SYS_pselect6 5260
594#define SYS_ppoll 5261
595#define SYS_unshare 5262
596#define SYS_splice 5263
597#define SYS_sync_file_range 5264
598#define SYS_tee 5265
599#define SYS_vmsplice 5266
600#define SYS_move_pages 5267
601#define SYS_set_robust_list 5268
602#define SYS_get_robust_list 5269
603#define SYS_kexec_load 5270
604#define SYS_getcpu 5271
605#define SYS_epoll_pwait 5272
606#define SYS_ioprio_set 5273
607#define SYS_ioprio_get 5274
608#define SYS_utimensat 5275
609#define SYS_signalfd 5276
610#define SYS_timerfd 5277
611#define SYS_eventfd 5278
612#define SYS_fallocate 5279
613#define SYS_timerfd_create 5280
614#define SYS_timerfd_gettime 5281
615#define SYS_timerfd_settime 5282
616#define SYS_signalfd4 5283
617#define SYS_eventfd2 5284
618#define SYS_epoll_create1 5285
619#define SYS_dup3 5286
620#define SYS_pipe2 5287
621#define SYS_inotify_init1 5288
622#define SYS_preadv 5289
623#define SYS_pwritev 5290
624#define SYS_rt_tgsigqueueinfo 5291
625#define SYS_perf_event_open 5292
626#define SYS_accept4 5293
627#define SYS_recvmmsg 5294
628#define SYS_fanotify_init 5295
629#define SYS_fanotify_mark 5296
630#define SYS_prlimit64 5297
631#define SYS_name_to_handle_at 5298
632#define SYS_open_by_handle_at 5299
633#define SYS_clock_adjtime 5300
634#define SYS_syncfs 5301
635#define SYS_sendmmsg 5302
636#define SYS_setns 5303
637#define SYS_process_vm_readv 5304
638#define SYS_process_vm_writev 5305
639#define SYS_kcmp 5306
640#define SYS_finit_module 5307
641#define SYS_getdents64 5308
642#define SYS_sched_setattr 5309
643#define SYS_sched_getattr 5310
644#define SYS_renameat2 5311
645#define SYS_seccomp 5312
646#define SYS_getrandom 5313
647#define SYS_memfd_create 5314
648#define SYS_bpf 5315
649#define SYS_execveat 5316
650#define SYS_userfaultfd 5317
651#define SYS_membarrier 5318
652#define SYS_mlock2 5319
653#define SYS_copy_file_range 5320
654#define SYS_preadv2 5321
655#define SYS_pwritev2 5322
656#define SYS_pkey_mprotect 5323
657#define SYS_pkey_alloc 5324
658#define SYS_pkey_free 5325
659#define SYS_statx 5326
660#define SYS_rseq 5327
661#define SYS_io_pgetevents 5328
662#define SYS_pidfd_send_signal 5424
663#define SYS_io_uring_setup 5425
664#define SYS_io_uring_enter 5426
665#define SYS_io_uring_register 5427
\ No newline at end of file
lib/libc/include/powerpc-linux-musl/bits/alltypes.h created+390
......@@ -0,0 +1,390 @@
1#define _Addr int
2#define _Int64 long long
3#define _Reg int
4
5#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
6typedef __builtin_va_list va_list;
7#define __DEFINED_va_list
8#endif
9
10#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
11typedef __builtin_va_list __isoc_va_list;
12#define __DEFINED___isoc_va_list
13#endif
14
15
16#ifndef __cplusplus
17#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
18typedef long wchar_t;
19#define __DEFINED_wchar_t
20#endif
21
22#endif
23
24#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
25typedef float float_t;
26#define __DEFINED_float_t
27#endif
28
29#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
30typedef double double_t;
31#define __DEFINED_double_t
32#endif
33
34
35#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
36typedef struct { long long __ll; long double __ld; } max_align_t;
37#define __DEFINED_max_align_t
38#endif
39
40
41#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
42typedef long time_t;
43#define __DEFINED_time_t
44#endif
45
46#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
47typedef long suseconds_t;
48#define __DEFINED_suseconds_t
49#endif
50
51
52#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
53typedef struct { union { int __i[9]; volatile int __vi[9]; unsigned __s[9]; } __u; } pthread_attr_t;
54#define __DEFINED_pthread_attr_t
55#endif
56
57#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
58typedef struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } pthread_mutex_t;
59#define __DEFINED_pthread_mutex_t
60#endif
61
62#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
63typedef struct { union { int __i[6]; volatile int __vi[6]; volatile void *volatile __p[6]; } __u; } mtx_t;
64#define __DEFINED_mtx_t
65#endif
66
67#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
68typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } pthread_cond_t;
69#define __DEFINED_pthread_cond_t
70#endif
71
72#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
73typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12]; } __u; } cnd_t;
74#define __DEFINED_cnd_t
75#endif
76
77#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
78typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[8]; } __u; } pthread_rwlock_t;
79#define __DEFINED_pthread_rwlock_t
80#endif
81
82#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
83typedef struct { union { int __i[5]; volatile int __vi[5]; void *__p[5]; } __u; } pthread_barrier_t;
84#define __DEFINED_pthread_barrier_t
85#endif
86
87#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
88typedef unsigned _Addr size_t;
89#define __DEFINED_size_t
90#endif
91
92#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
93typedef unsigned _Addr uintptr_t;
94#define __DEFINED_uintptr_t
95#endif
96
97#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
98typedef _Addr ptrdiff_t;
99#define __DEFINED_ptrdiff_t
100#endif
101
102#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
103typedef _Addr ssize_t;
104#define __DEFINED_ssize_t
105#endif
106
107#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
108typedef _Addr intptr_t;
109#define __DEFINED_intptr_t
110#endif
111
112#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
113typedef _Addr regoff_t;
114#define __DEFINED_regoff_t
115#endif
116
117#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
118typedef _Reg register_t;
119#define __DEFINED_register_t
120#endif
121
122
123#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
124typedef signed char int8_t;
125#define __DEFINED_int8_t
126#endif
127
128#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
129typedef signed short int16_t;
130#define __DEFINED_int16_t
131#endif
132
133#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
134typedef signed int int32_t;
135#define __DEFINED_int32_t
136#endif
137
138#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
139typedef signed _Int64 int64_t;
140#define __DEFINED_int64_t
141#endif
142
143#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
144typedef signed _Int64 intmax_t;
145#define __DEFINED_intmax_t
146#endif
147
148#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
149typedef unsigned char uint8_t;
150#define __DEFINED_uint8_t
151#endif
152
153#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
154typedef unsigned short uint16_t;
155#define __DEFINED_uint16_t
156#endif
157
158#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
159typedef unsigned int uint32_t;
160#define __DEFINED_uint32_t
161#endif
162
163#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
164typedef unsigned _Int64 uint64_t;
165#define __DEFINED_uint64_t
166#endif
167
168#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
169typedef unsigned _Int64 u_int64_t;
170#define __DEFINED_u_int64_t
171#endif
172
173#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
174typedef unsigned _Int64 uintmax_t;
175#define __DEFINED_uintmax_t
176#endif
177
178
179#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
180typedef unsigned mode_t;
181#define __DEFINED_mode_t
182#endif
183
184#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
185typedef unsigned _Reg nlink_t;
186#define __DEFINED_nlink_t
187#endif
188
189#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
190typedef _Int64 off_t;
191#define __DEFINED_off_t
192#endif
193
194#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
195typedef unsigned _Int64 ino_t;
196#define __DEFINED_ino_t
197#endif
198
199#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
200typedef unsigned _Int64 dev_t;
201#define __DEFINED_dev_t
202#endif
203
204#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
205typedef long blksize_t;
206#define __DEFINED_blksize_t
207#endif
208
209#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
210typedef _Int64 blkcnt_t;
211#define __DEFINED_blkcnt_t
212#endif
213
214#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
215typedef unsigned _Int64 fsblkcnt_t;
216#define __DEFINED_fsblkcnt_t
217#endif
218
219#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
220typedef unsigned _Int64 fsfilcnt_t;
221#define __DEFINED_fsfilcnt_t
222#endif
223
224
225#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
226typedef unsigned wint_t;
227#define __DEFINED_wint_t
228#endif
229
230#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
231typedef unsigned long wctype_t;
232#define __DEFINED_wctype_t
233#endif
234
235
236#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
237typedef void * timer_t;
238#define __DEFINED_timer_t
239#endif
240
241#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
242typedef int clockid_t;
243#define __DEFINED_clockid_t
244#endif
245
246#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
247typedef long clock_t;
248#define __DEFINED_clock_t
249#endif
250
251#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
252struct timeval { time_t tv_sec; suseconds_t tv_usec; };
253#define __DEFINED_struct_timeval
254#endif
255
256#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
257struct timespec { time_t tv_sec; long tv_nsec; };
258#define __DEFINED_struct_timespec
259#endif
260
261
262#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
263typedef int pid_t;
264#define __DEFINED_pid_t
265#endif
266
267#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
268typedef unsigned id_t;
269#define __DEFINED_id_t
270#endif
271
272#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
273typedef unsigned uid_t;
274#define __DEFINED_uid_t
275#endif
276
277#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
278typedef unsigned gid_t;
279#define __DEFINED_gid_t
280#endif
281
282#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
283typedef int key_t;
284#define __DEFINED_key_t
285#endif
286
287#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
288typedef unsigned useconds_t;
289#define __DEFINED_useconds_t
290#endif
291
292
293#ifdef __cplusplus
294#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
295typedef unsigned long pthread_t;
296#define __DEFINED_pthread_t
297#endif
298
299#else
300#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
301typedef struct __pthread * pthread_t;
302#define __DEFINED_pthread_t
303#endif
304
305#endif
306#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
307typedef int pthread_once_t;
308#define __DEFINED_pthread_once_t
309#endif
310
311#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
312typedef unsigned pthread_key_t;
313#define __DEFINED_pthread_key_t
314#endif
315
316#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
317typedef int pthread_spinlock_t;
318#define __DEFINED_pthread_spinlock_t
319#endif
320
321#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
322typedef struct { unsigned __attr; } pthread_mutexattr_t;
323#define __DEFINED_pthread_mutexattr_t
324#endif
325
326#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
327typedef struct { unsigned __attr; } pthread_condattr_t;
328#define __DEFINED_pthread_condattr_t
329#endif
330
331#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
332typedef struct { unsigned __attr; } pthread_barrierattr_t;
333#define __DEFINED_pthread_barrierattr_t
334#endif
335
336#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
337typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
338#define __DEFINED_pthread_rwlockattr_t
339#endif
340
341
342#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
343struct _IO_FILE { char __x; };
344#define __DEFINED_struct__IO_FILE
345#endif
346
347#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
348typedef struct _IO_FILE FILE;
349#define __DEFINED_FILE
350#endif
351
352
353#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
354typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
355#define __DEFINED_mbstate_t
356#endif
357
358
359#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
360typedef struct __locale_struct * locale_t;
361#define __DEFINED_locale_t
362#endif
363
364
365#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
366typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
367#define __DEFINED_sigset_t
368#endif
369
370
371#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
372struct iovec { void *iov_base; size_t iov_len; };
373#define __DEFINED_struct_iovec
374#endif
375
376
377#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
378typedef unsigned socklen_t;
379#define __DEFINED_socklen_t
380#endif
381
382#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
383typedef unsigned short sa_family_t;
384#define __DEFINED_sa_family_t
385#endif
386
387
388#undef _Addr
389#undef _Int64
390#undef _Reg
\ No newline at end of file
lib/libc/include/powerpc-linux-musl/bits/syscall.h created+819
......@@ -0,0 +1,819 @@
1#define __NR_restart_syscall 0
2#define __NR_exit 1
3#define __NR_fork 2
4#define __NR_read 3
5#define __NR_write 4
6#define __NR_open 5
7#define __NR_close 6
8#define __NR_waitpid 7
9#define __NR_creat 8
10#define __NR_link 9
11#define __NR_unlink 10
12#define __NR_execve 11
13#define __NR_chdir 12
14#define __NR_time 13
15#define __NR_mknod 14
16#define __NR_chmod 15
17#define __NR_lchown 16
18#define __NR_break 17
19#define __NR_oldstat 18
20#define __NR_lseek 19
21#define __NR_getpid 20
22#define __NR_mount 21
23#define __NR_umount 22
24#define __NR_setuid 23
25#define __NR_getuid 24
26#define __NR_stime 25
27#define __NR_ptrace 26
28#define __NR_alarm 27
29#define __NR_oldfstat 28
30#define __NR_pause 29
31#define __NR_utime 30
32#define __NR_stty 31
33#define __NR_gtty 32
34#define __NR_access 33
35#define __NR_nice 34
36#define __NR_ftime 35
37#define __NR_sync 36
38#define __NR_kill 37
39#define __NR_rename 38
40#define __NR_mkdir 39
41#define __NR_rmdir 40
42#define __NR_dup 41
43#define __NR_pipe 42
44#define __NR_times 43
45#define __NR_prof 44
46#define __NR_brk 45
47#define __NR_setgid 46
48#define __NR_getgid 47
49#define __NR_signal 48
50#define __NR_geteuid 49
51#define __NR_getegid 50
52#define __NR_acct 51
53#define __NR_umount2 52
54#define __NR_lock 53
55#define __NR_ioctl 54
56#define __NR_fcntl 55
57#define __NR_mpx 56
58#define __NR_setpgid 57
59#define __NR_ulimit 58
60#define __NR_oldolduname 59
61#define __NR_umask 60
62#define __NR_chroot 61
63#define __NR_ustat 62
64#define __NR_dup2 63
65#define __NR_getppid 64
66#define __NR_getpgrp 65
67#define __NR_setsid 66
68#define __NR_sigaction 67
69#define __NR_sgetmask 68
70#define __NR_ssetmask 69
71#define __NR_setreuid 70
72#define __NR_setregid 71
73#define __NR_sigsuspend 72
74#define __NR_sigpending 73
75#define __NR_sethostname 74
76#define __NR_setrlimit 75
77#define __NR_getrlimit 76
78#define __NR_getrusage 77
79#define __NR_gettimeofday 78
80#define __NR_settimeofday 79
81#define __NR_getgroups 80
82#define __NR_setgroups 81
83#define __NR_select 82
84#define __NR_symlink 83
85#define __NR_oldlstat 84
86#define __NR_readlink 85
87#define __NR_uselib 86
88#define __NR_swapon 87
89#define __NR_reboot 88
90#define __NR_readdir 89
91#define __NR_mmap 90
92#define __NR_munmap 91
93#define __NR_truncate 92
94#define __NR_ftruncate 93
95#define __NR_fchmod 94
96#define __NR_fchown 95
97#define __NR_getpriority 96
98#define __NR_setpriority 97
99#define __NR_profil 98
100#define __NR_statfs 99
101#define __NR_fstatfs 100
102#define __NR_ioperm 101
103#define __NR_socketcall 102
104#define __NR_syslog 103
105#define __NR_setitimer 104
106#define __NR_getitimer 105
107#define __NR_stat 106
108#define __NR_lstat 107
109#define __NR_fstat 108
110#define __NR_olduname 109
111#define __NR_iopl 110
112#define __NR_vhangup 111
113#define __NR_idle 112
114#define __NR_vm86 113
115#define __NR_wait4 114
116#define __NR_swapoff 115
117#define __NR_sysinfo 116
118#define __NR_ipc 117
119#define __NR_fsync 118
120#define __NR_sigreturn 119
121#define __NR_clone 120
122#define __NR_setdomainname 121
123#define __NR_uname 122
124#define __NR_modify_ldt 123
125#define __NR_adjtimex 124
126#define __NR_mprotect 125
127#define __NR_sigprocmask 126
128#define __NR_create_module 127
129#define __NR_init_module 128
130#define __NR_delete_module 129
131#define __NR_get_kernel_syms 130
132#define __NR_quotactl 131
133#define __NR_getpgid 132
134#define __NR_fchdir 133
135#define __NR_bdflush 134
136#define __NR_sysfs 135
137#define __NR_personality 136
138#define __NR_afs_syscall 137
139#define __NR_setfsuid 138
140#define __NR_setfsgid 139
141#define __NR__llseek 140
142#define __NR_getdents 141
143#define __NR__newselect 142
144#define __NR_flock 143
145#define __NR_msync 144
146#define __NR_readv 145
147#define __NR_writev 146
148#define __NR_getsid 147
149#define __NR_fdatasync 148
150#define __NR__sysctl 149
151#define __NR_mlock 150
152#define __NR_munlock 151
153#define __NR_mlockall 152
154#define __NR_munlockall 153
155#define __NR_sched_setparam 154
156#define __NR_sched_getparam 155
157#define __NR_sched_setscheduler 156
158#define __NR_sched_getscheduler 157
159#define __NR_sched_yield 158
160#define __NR_sched_get_priority_max 159
161#define __NR_sched_get_priority_min 160
162#define __NR_sched_rr_get_interval 161
163#define __NR_nanosleep 162
164#define __NR_mremap 163
165#define __NR_setresuid 164
166#define __NR_getresuid 165
167#define __NR_query_module 166
168#define __NR_poll 167
169#define __NR_nfsservctl 168
170#define __NR_setresgid 169
171#define __NR_getresgid 170
172#define __NR_prctl 171
173#define __NR_rt_sigreturn 172
174#define __NR_rt_sigaction 173
175#define __NR_rt_sigprocmask 174
176#define __NR_rt_sigpending 175
177#define __NR_rt_sigtimedwait 176
178#define __NR_rt_sigqueueinfo 177
179#define __NR_rt_sigsuspend 178
180#define __NR_pread64 179
181#define __NR_pwrite64 180
182#define __NR_chown 181
183#define __NR_getcwd 182
184#define __NR_capget 183
185#define __NR_capset 184
186#define __NR_sigaltstack 185
187#define __NR_sendfile 186
188#define __NR_getpmsg 187
189#define __NR_putpmsg 188
190#define __NR_vfork 189
191#define __NR_ugetrlimit 190
192#define __NR_readahead 191
193#define __NR_mmap2 192
194#define __NR_truncate64 193
195#define __NR_ftruncate64 194
196#define __NR_stat64 195
197#define __NR_lstat64 196
198#define __NR_fstat64 197
199#define __NR_pciconfig_read 198
200#define __NR_pciconfig_write 199
201#define __NR_pciconfig_iobase 200
202#define __NR_multiplexer 201
203#define __NR_getdents64 202
204#define __NR_pivot_root 203
205#define __NR_fcntl64 204
206#define __NR_madvise 205
207#define __NR_mincore 206
208#define __NR_gettid 207
209#define __NR_tkill 208
210#define __NR_setxattr 209
211#define __NR_lsetxattr 210
212#define __NR_fsetxattr 211
213#define __NR_getxattr 212
214#define __NR_lgetxattr 213
215#define __NR_fgetxattr 214
216#define __NR_listxattr 215
217#define __NR_llistxattr 216
218#define __NR_flistxattr 217
219#define __NR_removexattr 218
220#define __NR_lremovexattr 219
221#define __NR_fremovexattr 220
222#define __NR_futex 221
223#define __NR_sched_setaffinity 222
224#define __NR_sched_getaffinity 223
225#define __NR_tuxcall 225
226#define __NR_sendfile64 226
227#define __NR_io_setup 227
228#define __NR_io_destroy 228
229#define __NR_io_getevents 229
230#define __NR_io_submit 230
231#define __NR_io_cancel 231
232#define __NR_set_tid_address 232
233#define __NR_fadvise64 233
234#define __NR_exit_group 234
235#define __NR_lookup_dcookie 235
236#define __NR_epoll_create 236
237#define __NR_epoll_ctl 237
238#define __NR_epoll_wait 238
239#define __NR_remap_file_pages 239
240#define __NR_timer_create 240
241#define __NR_timer_settime 241
242#define __NR_timer_gettime 242
243#define __NR_timer_getoverrun 243
244#define __NR_timer_delete 244
245#define __NR_clock_settime 245
246#define __NR_clock_gettime 246
247#define __NR_clock_getres 247
248#define __NR_clock_nanosleep 248
249#define __NR_swapcontext 249
250#define __NR_tgkill 250
251#define __NR_utimes 251
252#define __NR_statfs64 252
253#define __NR_fstatfs64 253
254#define __NR_fadvise64_64 254
255#define __NR_rtas 255
256#define __NR_sys_debug_setcontext 256
257#define __NR_migrate_pages 258
258#define __NR_mbind 259
259#define __NR_get_mempolicy 260
260#define __NR_set_mempolicy 261
261#define __NR_mq_open 262
262#define __NR_mq_unlink 263
263#define __NR_mq_timedsend 264
264#define __NR_mq_timedreceive 265
265#define __NR_mq_notify 266
266#define __NR_mq_getsetattr 267
267#define __NR_kexec_load 268
268#define __NR_add_key 269
269#define __NR_request_key 270
270#define __NR_keyctl 271
271#define __NR_waitid 272
272#define __NR_ioprio_set 273
273#define __NR_ioprio_get 274
274#define __NR_inotify_init 275
275#define __NR_inotify_add_watch 276
276#define __NR_inotify_rm_watch 277
277#define __NR_spu_run 278
278#define __NR_spu_create 279
279#define __NR_pselect6 280
280#define __NR_ppoll 281
281#define __NR_unshare 282
282#define __NR_splice 283
283#define __NR_tee 284
284#define __NR_vmsplice 285
285#define __NR_openat 286
286#define __NR_mkdirat 287
287#define __NR_mknodat 288
288#define __NR_fchownat 289
289#define __NR_futimesat 290
290#define __NR_fstatat64 291
291#define __NR_unlinkat 292
292#define __NR_renameat 293
293#define __NR_linkat 294
294#define __NR_symlinkat 295
295#define __NR_readlinkat 296
296#define __NR_fchmodat 297
297#define __NR_faccessat 298
298#define __NR_get_robust_list 299
299#define __NR_set_robust_list 300
300#define __NR_move_pages 301
301#define __NR_getcpu 302
302#define __NR_epoll_pwait 303
303#define __NR_utimensat 304
304#define __NR_signalfd 305
305#define __NR_timerfd_create 306
306#define __NR_eventfd 307
307#define __NR_sync_file_range2 308
308#define __NR_fallocate 309
309#define __NR_subpage_prot 310
310#define __NR_timerfd_settime 311
311#define __NR_timerfd_gettime 312
312#define __NR_signalfd4 313
313#define __NR_eventfd2 314
314#define __NR_epoll_create1 315
315#define __NR_dup3 316
316#define __NR_pipe2 317
317#define __NR_inotify_init1 318
318#define __NR_perf_event_open 319
319#define __NR_preadv 320
320#define __NR_pwritev 321
321#define __NR_rt_tgsigqueueinfo 322
322#define __NR_fanotify_init 323
323#define __NR_fanotify_mark 324
324#define __NR_prlimit64 325
325#define __NR_socket 326
326#define __NR_bind 327
327#define __NR_connect 328
328#define __NR_listen 329
329#define __NR_accept 330
330#define __NR_getsockname 331
331#define __NR_getpeername 332
332#define __NR_socketpair 333
333#define __NR_send 334
334#define __NR_sendto 335
335#define __NR_recv 336
336#define __NR_recvfrom 337
337#define __NR_shutdown 338
338#define __NR_setsockopt 339
339#define __NR_getsockopt 340
340#define __NR_sendmsg 341
341#define __NR_recvmsg 342
342#define __NR_recvmmsg 343
343#define __NR_accept4 344
344#define __NR_name_to_handle_at 345
345#define __NR_open_by_handle_at 346
346#define __NR_clock_adjtime 347
347#define __NR_syncfs 348
348#define __NR_sendmmsg 349
349#define __NR_setns 350
350#define __NR_process_vm_readv 351
351#define __NR_process_vm_writev 352
352#define __NR_finit_module 353
353#define __NR_kcmp 354
354#define __NR_sched_setattr 355
355#define __NR_sched_getattr 356
356#define __NR_renameat2 357
357#define __NR_seccomp 358
358#define __NR_getrandom 359
359#define __NR_memfd_create 360
360#define __NR_bpf 361
361#define __NR_execveat 362
362#define __NR_switch_endian 363
363#define __NR_userfaultfd 364
364#define __NR_membarrier 365
365#define __NR_mlock2 378
366#define __NR_copy_file_range 379
367#define __NR_preadv2 380
368#define __NR_pwritev2 381
369#define __NR_kexec_file_load 382
370#define __NR_statx 383
371#define __NR_pkey_alloc 384
372#define __NR_pkey_free 385
373#define __NR_pkey_mprotect 386
374#define __NR_rseq 387
375#define __NR_io_pgetevents 388
376#define __NR_semget 393
377#define __NR_semctl 394
378#define __NR_shmget 395
379#define __NR_shmctl 396
380#define __NR_shmat 397
381#define __NR_shmdt 398
382#define __NR_msgget 399
383#define __NR_msgsnd 400
384#define __NR_msgrcv 401
385#define __NR_msgctl 402
386#define __NR_clock_gettime64 403
387#define __NR_clock_settime64 404
388#define __NR_clock_adjtime64 405
389#define __NR_clock_getres_time64 406
390#define __NR_clock_nanosleep_time64 407
391#define __NR_timer_gettime64 408
392#define __NR_timer_settime64 409
393#define __NR_timerfd_gettime64 410
394#define __NR_timerfd_settime64 411
395#define __NR_utimensat_time64 412
396#define __NR_pselect6_time64 413
397#define __NR_ppoll_time64 414
398#define __NR_io_pgetevents_time64 416
399#define __NR_recvmmsg_time64 417
400#define __NR_mq_timedsend_time64 418
401#define __NR_mq_timedreceive_time64 419
402#define __NR_semtimedop_time64 420
403#define __NR_rt_sigtimedwait_time64 421
404#define __NR_futex_time64 422
405#define __NR_sched_rr_get_interval_time64 423
406#define __NR_pidfd_send_signal 424
407#define __NR_io_uring_setup 425
408#define __NR_io_uring_enter 426
409#define __NR_io_uring_register 427
410
411#define SYS_restart_syscall 0
412#define SYS_exit 1
413#define SYS_fork 2
414#define SYS_read 3
415#define SYS_write 4
416#define SYS_open 5
417#define SYS_close 6
418#define SYS_waitpid 7
419#define SYS_creat 8
420#define SYS_link 9
421#define SYS_unlink 10
422#define SYS_execve 11
423#define SYS_chdir 12
424#define SYS_time 13
425#define SYS_mknod 14
426#define SYS_chmod 15
427#define SYS_lchown 16
428#define SYS_break 17
429#define SYS_oldstat 18
430#define SYS_lseek 19
431#define SYS_getpid 20
432#define SYS_mount 21
433#define SYS_umount 22
434#define SYS_setuid 23
435#define SYS_getuid 24
436#define SYS_stime 25
437#define SYS_ptrace 26
438#define SYS_alarm 27
439#define SYS_oldfstat 28
440#define SYS_pause 29
441#define SYS_utime 30
442#define SYS_stty 31
443#define SYS_gtty 32
444#define SYS_access 33
445#define SYS_nice 34
446#define SYS_ftime 35
447#define SYS_sync 36
448#define SYS_kill 37
449#define SYS_rename 38
450#define SYS_mkdir 39
451#define SYS_rmdir 40
452#define SYS_dup 41
453#define SYS_pipe 42
454#define SYS_times 43
455#define SYS_prof 44
456#define SYS_brk 45
457#define SYS_setgid 46
458#define SYS_getgid 47
459#define SYS_signal 48
460#define SYS_geteuid 49
461#define SYS_getegid 50
462#define SYS_acct 51
463#define SYS_umount2 52
464#define SYS_lock 53
465#define SYS_ioctl 54
466#define SYS_fcntl 55
467#define SYS_mpx 56
468#define SYS_setpgid 57
469#define SYS_ulimit 58
470#define SYS_oldolduname 59
471#define SYS_umask 60
472#define SYS_chroot 61
473#define SYS_ustat 62
474#define SYS_dup2 63
475#define SYS_getppid 64
476#define SYS_getpgrp 65
477#define SYS_setsid 66
478#define SYS_sigaction 67
479#define SYS_sgetmask 68
480#define SYS_ssetmask 69
481#define SYS_setreuid 70
482#define SYS_setregid 71
483#define SYS_sigsuspend 72
484#define SYS_sigpending 73
485#define SYS_sethostname 74
486#define SYS_setrlimit 75
487#define SYS_getrlimit 76
488#define SYS_getrusage 77
489#define SYS_gettimeofday 78
490#define SYS_settimeofday 79
491#define SYS_getgroups 80
492#define SYS_setgroups 81
493#define SYS_select 82
494#define SYS_symlink 83
495#define SYS_oldlstat 84
496#define SYS_readlink 85
497#define SYS_uselib 86
498#define SYS_swapon 87
499#define SYS_reboot 88
500#define SYS_readdir 89
501#define SYS_mmap 90
502#define SYS_munmap 91
503#define SYS_truncate 92
504#define SYS_ftruncate 93
505#define SYS_fchmod 94
506#define SYS_fchown 95
507#define SYS_getpriority 96
508#define SYS_setpriority 97
509#define SYS_profil 98
510#define SYS_statfs 99
511#define SYS_fstatfs 100
512#define SYS_ioperm 101
513#define SYS_socketcall 102
514#define SYS_syslog 103
515#define SYS_setitimer 104
516#define SYS_getitimer 105
517#define SYS_stat 106
518#define SYS_lstat 107
519#define SYS_fstat 108
520#define SYS_olduname 109
521#define SYS_iopl 110
522#define SYS_vhangup 111
523#define SYS_idle 112
524#define SYS_vm86 113
525#define SYS_wait4 114
526#define SYS_swapoff 115
527#define SYS_sysinfo 116
528#define SYS_ipc 117
529#define SYS_fsync 118
530#define SYS_sigreturn 119
531#define SYS_clone 120
532#define SYS_setdomainname 121
533#define SYS_uname 122
534#define SYS_modify_ldt 123
535#define SYS_adjtimex 124
536#define SYS_mprotect 125
537#define SYS_sigprocmask 126
538#define SYS_create_module 127
539#define SYS_init_module 128
540#define SYS_delete_module 129
541#define SYS_get_kernel_syms 130
542#define SYS_quotactl 131
543#define SYS_getpgid 132
544#define SYS_fchdir 133
545#define SYS_bdflush 134
546#define SYS_sysfs 135
547#define SYS_personality 136
548#define SYS_afs_syscall 137
549#define SYS_setfsuid 138
550#define SYS_setfsgid 139
551#define SYS__llseek 140
552#define SYS_getdents 141
553#define SYS__newselect 142
554#define SYS_flock 143
555#define SYS_msync 144
556#define SYS_readv 145
557#define SYS_writev 146
558#define SYS_getsid 147
559#define SYS_fdatasync 148
560#define SYS__sysctl 149
561#define SYS_mlock 150
562#define SYS_munlock 151
563#define SYS_mlockall 152
564#define SYS_munlockall 153
565#define SYS_sched_setparam 154
566#define SYS_sched_getparam 155
567#define SYS_sched_setscheduler 156
568#define SYS_sched_getscheduler 157
569#define SYS_sched_yield 158
570#define SYS_sched_get_priority_max 159
571#define SYS_sched_get_priority_min 160
572#define SYS_sched_rr_get_interval 161
573#define SYS_nanosleep 162
574#define SYS_mremap 163
575#define SYS_setresuid 164
576#define SYS_getresuid 165
577#define SYS_query_module 166
578#define SYS_poll 167
579#define SYS_nfsservctl 168
580#define SYS_setresgid 169
581#define SYS_getresgid 170
582#define SYS_prctl 171
583#define SYS_rt_sigreturn 172
584#define SYS_rt_sigaction 173
585#define SYS_rt_sigprocmask 174
586#define SYS_rt_sigpending 175
587#define SYS_rt_sigtimedwait 176
588#define SYS_rt_sigqueueinfo 177
589#define SYS_rt_sigsuspend 178
590#define SYS_pread64 179
591#define SYS_pwrite64 180
592#define SYS_chown 181
593#define SYS_getcwd 182
594#define SYS_capget 183
595#define SYS_capset 184
596#define SYS_sigaltstack 185
597#define SYS_sendfile 186
598#define SYS_getpmsg 187
599#define SYS_putpmsg 188
600#define SYS_vfork 189
601#define SYS_ugetrlimit 190
602#define SYS_readahead 191
603#define SYS_mmap2 192
604#define SYS_truncate64 193
605#define SYS_ftruncate64 194
606#define SYS_stat64 195
607#define SYS_lstat64 196
608#define SYS_fstat64 197
609#define SYS_pciconfig_read 198
610#define SYS_pciconfig_write 199
611#define SYS_pciconfig_iobase 200
612#define SYS_multiplexer 201
613#define SYS_getdents64 202
614#define SYS_pivot_root 203
615#define SYS_fcntl64 204
616#define SYS_madvise 205
617#define SYS_mincore 206
618#define SYS_gettid 207
619#define SYS_tkill 208
620#define SYS_setxattr 209
621#define SYS_lsetxattr 210
622#define SYS_fsetxattr 211
623#define SYS_getxattr 212
624#define SYS_lgetxattr 213
625#define SYS_fgetxattr 214
626#define SYS_listxattr 215
627#define SYS_llistxattr 216
628#define SYS_flistxattr 217
629#define SYS_removexattr 218
630#define SYS_lremovexattr 219
631#define SYS_fremovexattr 220
632#define SYS_futex 221
633#define SYS_sched_setaffinity 222
634#define SYS_sched_getaffinity 223
635#define SYS_tuxcall 225
636#define SYS_sendfile64 226
637#define SYS_io_setup 227
638#define SYS_io_destroy 228
639#define SYS_io_getevents 229
640#define SYS_io_submit 230
641#define SYS_io_cancel 231
642#define SYS_set_tid_address 232
643#define SYS_fadvise64 233
644#define SYS_exit_group 234
645#define SYS_lookup_dcookie 235
646#define SYS_epoll_create 236
647#define SYS_epoll_ctl 237
648#define SYS_epoll_wait 238
649#define SYS_remap_file_pages 239
650#define SYS_timer_create 240
651#define SYS_timer_settime 241
652#define SYS_timer_gettime 242
653#define SYS_timer_getoverrun 243
654#define SYS_timer_delete 244
655#define SYS_clock_settime 245
656#define SYS_clock_gettime 246
657#define SYS_clock_getres 247
658#define SYS_clock_nanosleep 248
659#define SYS_swapcontext 249
660#define SYS_tgkill 250
661#define SYS_utimes 251
662#define SYS_statfs64 252
663#define SYS_fstatfs64 253
664#define SYS_fadvise64_64 254
665#define SYS_rtas 255
666#define SYS_sys_debug_setcontext 256
667#define SYS_migrate_pages 258
668#define SYS_mbind 259
669#define SYS_get_mempolicy 260
670#define SYS_set_mempolicy 261
671#define SYS_mq_open 262
672#define SYS_mq_unlink 263
673#define SYS_mq_timedsend 264
674#define SYS_mq_timedreceive 265
675#define SYS_mq_notify 266
676#define SYS_mq_getsetattr 267
677#define SYS_kexec_load 268
678#define SYS_add_key 269
679#define SYS_request_key 270
680#define SYS_keyctl 271
681#define SYS_waitid 272
682#define SYS_ioprio_set 273
683#define SYS_ioprio_get 274
684#define SYS_inotify_init 275
685#define SYS_inotify_add_watch 276
686#define SYS_inotify_rm_watch 277
687#define SYS_spu_run 278
688#define SYS_spu_create 279
689#define SYS_pselect6 280
690#define SYS_ppoll 281
691#define SYS_unshare 282
692#define SYS_splice 283
693#define SYS_tee 284
694#define SYS_vmsplice 285
695#define SYS_openat 286
696#define SYS_mkdirat 287
697#define SYS_mknodat 288
698#define SYS_fchownat 289
699#define SYS_futimesat 290
700#define SYS_fstatat64 291
701#define SYS_unlinkat 292
702#define SYS_renameat 293
703#define SYS_linkat 294
704#define SYS_symlinkat 295
705#define SYS_readlinkat 296
706#define SYS_fchmodat 297
707#define SYS_faccessat 298
708#define SYS_get_robust_list 299
709#define SYS_set_robust_list 300
710#define SYS_move_pages 301
711#define SYS_getcpu 302
712#define SYS_epoll_pwait 303
713#define SYS_utimensat 304
714#define SYS_signalfd 305
715#define SYS_timerfd_create 306
716#define SYS_eventfd 307
717#define SYS_sync_file_range2 308
718#define SYS_fallocate 309
719#define SYS_subpage_prot 310
720#define SYS_timerfd_settime 311
721#define SYS_timerfd_gettime 312
722#define SYS_signalfd4 313
723#define SYS_eventfd2 314
724#define SYS_epoll_create1 315
725#define SYS_dup3 316
726#define SYS_pipe2 317
727#define SYS_inotify_init1 318
728#define SYS_perf_event_open 319
729#define SYS_preadv 320
730#define SYS_pwritev 321
731#define SYS_rt_tgsigqueueinfo 322
732#define SYS_fanotify_init 323
733#define SYS_fanotify_mark 324
734#define SYS_prlimit64 325
735#define SYS_socket 326
736#define SYS_bind 327
737#define SYS_connect 328
738#define SYS_listen 329
739#define SYS_accept 330
740#define SYS_getsockname 331
741#define SYS_getpeername 332
742#define SYS_socketpair 333
743#define SYS_send 334
744#define SYS_sendto 335
745#define SYS_recv 336
746#define SYS_recvfrom 337
747#define SYS_shutdown 338
748#define SYS_setsockopt 339
749#define SYS_getsockopt 340
750#define SYS_sendmsg 341
751#define SYS_recvmsg 342
752#define SYS_recvmmsg 343
753#define SYS_accept4 344
754#define SYS_name_to_handle_at 345
755#define SYS_open_by_handle_at 346
756#define SYS_clock_adjtime 347
757#define SYS_syncfs 348
758#define SYS_sendmmsg 349
759#define SYS_setns 350
760#define SYS_process_vm_readv 351
761#define SYS_process_vm_writev 352
762#define SYS_finit_module 353
763#define SYS_kcmp 354
764#define SYS_sched_setattr 355
765#define SYS_sched_getattr 356
766#define SYS_renameat2 357
767#define SYS_seccomp 358
768#define SYS_getrandom 359
769#define SYS_memfd_create 360
770#define SYS_bpf 361
771#define SYS_execveat 362
772#define SYS_switch_endian 363
773#define SYS_userfaultfd 364
774#define SYS_membarrier 365
775#define SYS_mlock2 378
776#define SYS_copy_file_range 379
777#define SYS_preadv2 380
778#define SYS_pwritev2 381
779#define SYS_kexec_file_load 382
780#define SYS_statx 383
781#define SYS_pkey_alloc 384
782#define SYS_pkey_free 385
783#define SYS_pkey_mprotect 386
784#define SYS_rseq 387
785#define SYS_io_pgetevents 388
786#define SYS_semget 393
787#define SYS_semctl 394
788#define SYS_shmget 395
789#define SYS_shmctl 396
790#define SYS_shmat 397
791#define SYS_shmdt 398
792#define SYS_msgget 399
793#define SYS_msgsnd 400
794#define SYS_msgrcv 401
795#define SYS_msgctl 402
796#define SYS_clock_gettime64 403
797#define SYS_clock_settime64 404
798#define SYS_clock_adjtime64 405
799#define SYS_clock_getres_time64 406
800#define SYS_clock_nanosleep_time64 407
801#define SYS_timer_gettime64 408
802#define SYS_timer_settime64 409
803#define SYS_timerfd_gettime64 410
804#define SYS_timerfd_settime64 411
805#define SYS_utimensat_time64 412
806#define SYS_pselect6_time64 413
807#define SYS_ppoll_time64 414
808#define SYS_io_pgetevents_time64 416
809#define SYS_recvmmsg_time64 417
810#define SYS_mq_timedsend_time64 418
811#define SYS_mq_timedreceive_time64 419
812#define SYS_semtimedop_time64 420
813#define SYS_rt_sigtimedwait_time64 421
814#define SYS_futex_time64 422
815#define SYS_sched_rr_get_interval_time64 423
816#define SYS_pidfd_send_signal 424
817#define SYS_io_uring_setup 425
818#define SYS_io_uring_enter 426
819#define SYS_io_uring_register 427
\ No newline at end of file
lib/libc/include/powerpc64-linux-musl/bits/alltypes.h created+390
......@@ -0,0 +1,390 @@
1#define _Addr long
2#define _Int64 long
3#define _Reg long
4
5#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
6typedef __builtin_va_list va_list;
7#define __DEFINED_va_list
8#endif
9
10#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
11typedef __builtin_va_list __isoc_va_list;
12#define __DEFINED___isoc_va_list
13#endif
14
15
16#ifndef __cplusplus
17#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
18typedef int wchar_t;
19#define __DEFINED_wchar_t
20#endif
21
22#endif
23
24#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
25typedef float float_t;
26#define __DEFINED_float_t
27#endif
28
29#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
30typedef double double_t;
31#define __DEFINED_double_t
32#endif
33
34
35#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
36typedef struct { long long __ll; long double __ld; } max_align_t;
37#define __DEFINED_max_align_t
38#endif
39
40
41#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
42typedef long time_t;
43#define __DEFINED_time_t
44#endif
45
46#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
47typedef long suseconds_t;
48#define __DEFINED_suseconds_t
49#endif
50
51
52#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
53typedef struct { union { int __i[14]; volatile int __vi[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
54#define __DEFINED_pthread_attr_t
55#endif
56
57#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
58typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } pthread_mutex_t;
59#define __DEFINED_pthread_mutex_t
60#endif
61
62#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
63typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } mtx_t;
64#define __DEFINED_mtx_t
65#endif
66
67#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
68typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } pthread_cond_t;
69#define __DEFINED_pthread_cond_t
70#endif
71
72#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
73typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } cnd_t;
74#define __DEFINED_cnd_t
75#endif
76
77#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
78typedef struct { union { int __i[14]; volatile int __vi[14]; void *__p[7]; } __u; } pthread_rwlock_t;
79#define __DEFINED_pthread_rwlock_t
80#endif
81
82#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
83typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[4]; } __u; } pthread_barrier_t;
84#define __DEFINED_pthread_barrier_t
85#endif
86
87#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
88typedef unsigned _Addr size_t;
89#define __DEFINED_size_t
90#endif
91
92#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
93typedef unsigned _Addr uintptr_t;
94#define __DEFINED_uintptr_t
95#endif
96
97#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
98typedef _Addr ptrdiff_t;
99#define __DEFINED_ptrdiff_t
100#endif
101
102#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
103typedef _Addr ssize_t;
104#define __DEFINED_ssize_t
105#endif
106
107#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
108typedef _Addr intptr_t;
109#define __DEFINED_intptr_t
110#endif
111
112#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
113typedef _Addr regoff_t;
114#define __DEFINED_regoff_t
115#endif
116
117#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
118typedef _Reg register_t;
119#define __DEFINED_register_t
120#endif
121
122
123#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
124typedef signed char int8_t;
125#define __DEFINED_int8_t
126#endif
127
128#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
129typedef signed short int16_t;
130#define __DEFINED_int16_t
131#endif
132
133#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
134typedef signed int int32_t;
135#define __DEFINED_int32_t
136#endif
137
138#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
139typedef signed _Int64 int64_t;
140#define __DEFINED_int64_t
141#endif
142
143#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
144typedef signed _Int64 intmax_t;
145#define __DEFINED_intmax_t
146#endif
147
148#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
149typedef unsigned char uint8_t;
150#define __DEFINED_uint8_t
151#endif
152
153#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
154typedef unsigned short uint16_t;
155#define __DEFINED_uint16_t
156#endif
157
158#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
159typedef unsigned int uint32_t;
160#define __DEFINED_uint32_t
161#endif
162
163#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
164typedef unsigned _Int64 uint64_t;
165#define __DEFINED_uint64_t
166#endif
167
168#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
169typedef unsigned _Int64 u_int64_t;
170#define __DEFINED_u_int64_t
171#endif
172
173#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
174typedef unsigned _Int64 uintmax_t;
175#define __DEFINED_uintmax_t
176#endif
177
178
179#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
180typedef unsigned mode_t;
181#define __DEFINED_mode_t
182#endif
183
184#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
185typedef unsigned _Reg nlink_t;
186#define __DEFINED_nlink_t
187#endif
188
189#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
190typedef _Int64 off_t;
191#define __DEFINED_off_t
192#endif
193
194#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
195typedef unsigned _Int64 ino_t;
196#define __DEFINED_ino_t
197#endif
198
199#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
200typedef unsigned _Int64 dev_t;
201#define __DEFINED_dev_t
202#endif
203
204#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
205typedef long blksize_t;
206#define __DEFINED_blksize_t
207#endif
208
209#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
210typedef _Int64 blkcnt_t;
211#define __DEFINED_blkcnt_t
212#endif
213
214#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
215typedef unsigned _Int64 fsblkcnt_t;
216#define __DEFINED_fsblkcnt_t
217#endif
218
219#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
220typedef unsigned _Int64 fsfilcnt_t;
221#define __DEFINED_fsfilcnt_t
222#endif
223
224
225#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
226typedef unsigned wint_t;
227#define __DEFINED_wint_t
228#endif
229
230#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
231typedef unsigned long wctype_t;
232#define __DEFINED_wctype_t
233#endif
234
235
236#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
237typedef void * timer_t;
238#define __DEFINED_timer_t
239#endif
240
241#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
242typedef int clockid_t;
243#define __DEFINED_clockid_t
244#endif
245
246#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
247typedef long clock_t;
248#define __DEFINED_clock_t
249#endif
250
251#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
252struct timeval { time_t tv_sec; suseconds_t tv_usec; };
253#define __DEFINED_struct_timeval
254#endif
255
256#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
257struct timespec { time_t tv_sec; long tv_nsec; };
258#define __DEFINED_struct_timespec
259#endif
260
261
262#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
263typedef int pid_t;
264#define __DEFINED_pid_t
265#endif
266
267#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
268typedef unsigned id_t;
269#define __DEFINED_id_t
270#endif
271
272#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
273typedef unsigned uid_t;
274#define __DEFINED_uid_t
275#endif
276
277#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
278typedef unsigned gid_t;
279#define __DEFINED_gid_t
280#endif
281
282#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
283typedef int key_t;
284#define __DEFINED_key_t
285#endif
286
287#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
288typedef unsigned useconds_t;
289#define __DEFINED_useconds_t
290#endif
291
292
293#ifdef __cplusplus
294#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
295typedef unsigned long pthread_t;
296#define __DEFINED_pthread_t
297#endif
298
299#else
300#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
301typedef struct __pthread * pthread_t;
302#define __DEFINED_pthread_t
303#endif
304
305#endif
306#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
307typedef int pthread_once_t;
308#define __DEFINED_pthread_once_t
309#endif
310
311#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
312typedef unsigned pthread_key_t;
313#define __DEFINED_pthread_key_t
314#endif
315
316#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
317typedef int pthread_spinlock_t;
318#define __DEFINED_pthread_spinlock_t
319#endif
320
321#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
322typedef struct { unsigned __attr; } pthread_mutexattr_t;
323#define __DEFINED_pthread_mutexattr_t
324#endif
325
326#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
327typedef struct { unsigned __attr; } pthread_condattr_t;
328#define __DEFINED_pthread_condattr_t
329#endif
330
331#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
332typedef struct { unsigned __attr; } pthread_barrierattr_t;
333#define __DEFINED_pthread_barrierattr_t
334#endif
335
336#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
337typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
338#define __DEFINED_pthread_rwlockattr_t
339#endif
340
341
342#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
343struct _IO_FILE { char __x; };
344#define __DEFINED_struct__IO_FILE
345#endif
346
347#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
348typedef struct _IO_FILE FILE;
349#define __DEFINED_FILE
350#endif
351
352
353#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
354typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
355#define __DEFINED_mbstate_t
356#endif
357
358
359#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
360typedef struct __locale_struct * locale_t;
361#define __DEFINED_locale_t
362#endif
363
364
365#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
366typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
367#define __DEFINED_sigset_t
368#endif
369
370
371#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
372struct iovec { void *iov_base; size_t iov_len; };
373#define __DEFINED_struct_iovec
374#endif
375
376
377#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
378typedef unsigned socklen_t;
379#define __DEFINED_socklen_t
380#endif
381
382#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
383typedef unsigned short sa_family_t;
384#define __DEFINED_sa_family_t
385#endif
386
387
388#undef _Addr
389#undef _Int64
390#undef _Reg
\ No newline at end of file
lib/libc/include/powerpc64-linux-musl/bits/syscall.h created+763
......@@ -0,0 +1,763 @@
1#define __NR_restart_syscall 0
2#define __NR_exit 1
3#define __NR_fork 2
4#define __NR_read 3
5#define __NR_write 4
6#define __NR_open 5
7#define __NR_close 6
8#define __NR_waitpid 7
9#define __NR_creat 8
10#define __NR_link 9
11#define __NR_unlink 10
12#define __NR_execve 11
13#define __NR_chdir 12
14#define __NR_time 13
15#define __NR_mknod 14
16#define __NR_chmod 15
17#define __NR_lchown 16
18#define __NR_break 17
19#define __NR_oldstat 18
20#define __NR_lseek 19
21#define __NR_getpid 20
22#define __NR_mount 21
23#define __NR_umount 22
24#define __NR_setuid 23
25#define __NR_getuid 24
26#define __NR_stime 25
27#define __NR_ptrace 26
28#define __NR_alarm 27
29#define __NR_oldfstat 28
30#define __NR_pause 29
31#define __NR_utime 30
32#define __NR_stty 31
33#define __NR_gtty 32
34#define __NR_access 33
35#define __NR_nice 34
36#define __NR_ftime 35
37#define __NR_sync 36
38#define __NR_kill 37
39#define __NR_rename 38
40#define __NR_mkdir 39
41#define __NR_rmdir 40
42#define __NR_dup 41
43#define __NR_pipe 42
44#define __NR_times 43
45#define __NR_prof 44
46#define __NR_brk 45
47#define __NR_setgid 46
48#define __NR_getgid 47
49#define __NR_signal 48
50#define __NR_geteuid 49
51#define __NR_getegid 50
52#define __NR_acct 51
53#define __NR_umount2 52
54#define __NR_lock 53
55#define __NR_ioctl 54
56#define __NR_fcntl 55
57#define __NR_mpx 56
58#define __NR_setpgid 57
59#define __NR_ulimit 58
60#define __NR_oldolduname 59
61#define __NR_umask 60
62#define __NR_chroot 61
63#define __NR_ustat 62
64#define __NR_dup2 63
65#define __NR_getppid 64
66#define __NR_getpgrp 65
67#define __NR_setsid 66
68#define __NR_sigaction 67
69#define __NR_sgetmask 68
70#define __NR_ssetmask 69
71#define __NR_setreuid 70
72#define __NR_setregid 71
73#define __NR_sigsuspend 72
74#define __NR_sigpending 73
75#define __NR_sethostname 74
76#define __NR_setrlimit 75
77#define __NR_getrlimit 76
78#define __NR_getrusage 77
79#define __NR_gettimeofday 78
80#define __NR_settimeofday 79
81#define __NR_getgroups 80
82#define __NR_setgroups 81
83#define __NR_select 82
84#define __NR_symlink 83
85#define __NR_oldlstat 84
86#define __NR_readlink 85
87#define __NR_uselib 86
88#define __NR_swapon 87
89#define __NR_reboot 88
90#define __NR_readdir 89
91#define __NR_mmap 90
92#define __NR_munmap 91
93#define __NR_truncate 92
94#define __NR_ftruncate 93
95#define __NR_fchmod 94
96#define __NR_fchown 95
97#define __NR_getpriority 96
98#define __NR_setpriority 97
99#define __NR_profil 98
100#define __NR_statfs 99
101#define __NR_fstatfs 100
102#define __NR_ioperm 101
103#define __NR_socketcall 102
104#define __NR_syslog 103
105#define __NR_setitimer 104
106#define __NR_getitimer 105
107#define __NR_stat 106
108#define __NR_lstat 107
109#define __NR_fstat 108
110#define __NR_olduname 109
111#define __NR_iopl 110
112#define __NR_vhangup 111
113#define __NR_idle 112
114#define __NR_vm86 113
115#define __NR_wait4 114
116#define __NR_swapoff 115
117#define __NR_sysinfo 116
118#define __NR_ipc 117
119#define __NR_fsync 118
120#define __NR_sigreturn 119
121#define __NR_clone 120
122#define __NR_setdomainname 121
123#define __NR_uname 122
124#define __NR_modify_ldt 123
125#define __NR_adjtimex 124
126#define __NR_mprotect 125
127#define __NR_sigprocmask 126
128#define __NR_create_module 127
129#define __NR_init_module 128
130#define __NR_delete_module 129
131#define __NR_get_kernel_syms 130
132#define __NR_quotactl 131
133#define __NR_getpgid 132
134#define __NR_fchdir 133
135#define __NR_bdflush 134
136#define __NR_sysfs 135
137#define __NR_personality 136
138#define __NR_afs_syscall 137
139#define __NR_setfsuid 138
140#define __NR_setfsgid 139
141#define __NR__llseek 140
142#define __NR_getdents 141
143#define __NR__newselect 142
144#define __NR_flock 143
145#define __NR_msync 144
146#define __NR_readv 145
147#define __NR_writev 146
148#define __NR_getsid 147
149#define __NR_fdatasync 148
150#define __NR__sysctl 149
151#define __NR_mlock 150
152#define __NR_munlock 151
153#define __NR_mlockall 152
154#define __NR_munlockall 153
155#define __NR_sched_setparam 154
156#define __NR_sched_getparam 155
157#define __NR_sched_setscheduler 156
158#define __NR_sched_getscheduler 157
159#define __NR_sched_yield 158
160#define __NR_sched_get_priority_max 159
161#define __NR_sched_get_priority_min 160
162#define __NR_sched_rr_get_interval 161
163#define __NR_nanosleep 162
164#define __NR_mremap 163
165#define __NR_setresuid 164
166#define __NR_getresuid 165
167#define __NR_query_module 166
168#define __NR_poll 167
169#define __NR_nfsservctl 168
170#define __NR_setresgid 169
171#define __NR_getresgid 170
172#define __NR_prctl 171
173#define __NR_rt_sigreturn 172
174#define __NR_rt_sigaction 173
175#define __NR_rt_sigprocmask 174
176#define __NR_rt_sigpending 175
177#define __NR_rt_sigtimedwait 176
178#define __NR_rt_sigqueueinfo 177
179#define __NR_rt_sigsuspend 178
180#define __NR_pread64 179
181#define __NR_pwrite64 180
182#define __NR_chown 181
183#define __NR_getcwd 182
184#define __NR_capget 183
185#define __NR_capset 184
186#define __NR_sigaltstack 185
187#define __NR_sendfile 186
188#define __NR_getpmsg 187
189#define __NR_putpmsg 188
190#define __NR_vfork 189
191#define __NR_ugetrlimit 190
192#define __NR_readahead 191
193#define __NR_pciconfig_read 198
194#define __NR_pciconfig_write 199
195#define __NR_pciconfig_iobase 200
196#define __NR_multiplexer 201
197#define __NR_getdents64 202
198#define __NR_pivot_root 203
199#define __NR_madvise 205
200#define __NR_mincore 206
201#define __NR_gettid 207
202#define __NR_tkill 208
203#define __NR_setxattr 209
204#define __NR_lsetxattr 210
205#define __NR_fsetxattr 211
206#define __NR_getxattr 212
207#define __NR_lgetxattr 213
208#define __NR_fgetxattr 214
209#define __NR_listxattr 215
210#define __NR_llistxattr 216
211#define __NR_flistxattr 217
212#define __NR_removexattr 218
213#define __NR_lremovexattr 219
214#define __NR_fremovexattr 220
215#define __NR_futex 221
216#define __NR_sched_setaffinity 222
217#define __NR_sched_getaffinity 223
218#define __NR_tuxcall 225
219#define __NR_io_setup 227
220#define __NR_io_destroy 228
221#define __NR_io_getevents 229
222#define __NR_io_submit 230
223#define __NR_io_cancel 231
224#define __NR_set_tid_address 232
225#define __NR_fadvise64 233
226#define __NR_exit_group 234
227#define __NR_lookup_dcookie 235
228#define __NR_epoll_create 236
229#define __NR_epoll_ctl 237
230#define __NR_epoll_wait 238
231#define __NR_remap_file_pages 239
232#define __NR_timer_create 240
233#define __NR_timer_settime 241
234#define __NR_timer_gettime 242
235#define __NR_timer_getoverrun 243
236#define __NR_timer_delete 244
237#define __NR_clock_settime 245
238#define __NR_clock_gettime 246
239#define __NR_clock_getres 247
240#define __NR_clock_nanosleep 248
241#define __NR_swapcontext 249
242#define __NR_tgkill 250
243#define __NR_utimes 251
244#define __NR_statfs64 252
245#define __NR_fstatfs64 253
246#define __NR_rtas 255
247#define __NR_sys_debug_setcontext 256
248#define __NR_migrate_pages 258
249#define __NR_mbind 259
250#define __NR_get_mempolicy 260
251#define __NR_set_mempolicy 261
252#define __NR_mq_open 262
253#define __NR_mq_unlink 263
254#define __NR_mq_timedsend 264
255#define __NR_mq_timedreceive 265
256#define __NR_mq_notify 266
257#define __NR_mq_getsetattr 267
258#define __NR_kexec_load 268
259#define __NR_add_key 269
260#define __NR_request_key 270
261#define __NR_keyctl 271
262#define __NR_waitid 272
263#define __NR_ioprio_set 273
264#define __NR_ioprio_get 274
265#define __NR_inotify_init 275
266#define __NR_inotify_add_watch 276
267#define __NR_inotify_rm_watch 277
268#define __NR_spu_run 278
269#define __NR_spu_create 279
270#define __NR_pselect6 280
271#define __NR_ppoll 281
272#define __NR_unshare 282
273#define __NR_splice 283
274#define __NR_tee 284
275#define __NR_vmsplice 285
276#define __NR_openat 286
277#define __NR_mkdirat 287
278#define __NR_mknodat 288
279#define __NR_fchownat 289
280#define __NR_futimesat 290
281#define __NR_newfstatat 291
282#define __NR_unlinkat 292
283#define __NR_renameat 293
284#define __NR_linkat 294
285#define __NR_symlinkat 295
286#define __NR_readlinkat 296
287#define __NR_fchmodat 297
288#define __NR_faccessat 298
289#define __NR_get_robust_list 299
290#define __NR_set_robust_list 300
291#define __NR_move_pages 301
292#define __NR_getcpu 302
293#define __NR_epoll_pwait 303
294#define __NR_utimensat 304
295#define __NR_signalfd 305
296#define __NR_timerfd_create 306
297#define __NR_eventfd 307
298#define __NR_sync_file_range2 308
299#define __NR_fallocate 309
300#define __NR_subpage_prot 310
301#define __NR_timerfd_settime 311
302#define __NR_timerfd_gettime 312
303#define __NR_signalfd4 313
304#define __NR_eventfd2 314
305#define __NR_epoll_create1 315
306#define __NR_dup3 316
307#define __NR_pipe2 317
308#define __NR_inotify_init1 318
309#define __NR_perf_event_open 319
310#define __NR_preadv 320
311#define __NR_pwritev 321
312#define __NR_rt_tgsigqueueinfo 322
313#define __NR_fanotify_init 323
314#define __NR_fanotify_mark 324
315#define __NR_prlimit64 325
316#define __NR_socket 326
317#define __NR_bind 327
318#define __NR_connect 328
319#define __NR_listen 329
320#define __NR_accept 330
321#define __NR_getsockname 331
322#define __NR_getpeername 332
323#define __NR_socketpair 333
324#define __NR_send 334
325#define __NR_sendto 335
326#define __NR_recv 336
327#define __NR_recvfrom 337
328#define __NR_shutdown 338
329#define __NR_setsockopt 339
330#define __NR_getsockopt 340
331#define __NR_sendmsg 341
332#define __NR_recvmsg 342
333#define __NR_recvmmsg 343
334#define __NR_accept4 344
335#define __NR_name_to_handle_at 345
336#define __NR_open_by_handle_at 346
337#define __NR_clock_adjtime 347
338#define __NR_syncfs 348
339#define __NR_sendmmsg 349
340#define __NR_setns 350
341#define __NR_process_vm_readv 351
342#define __NR_process_vm_writev 352
343#define __NR_finit_module 353
344#define __NR_kcmp 354
345#define __NR_sched_setattr 355
346#define __NR_sched_getattr 356
347#define __NR_renameat2 357
348#define __NR_seccomp 358
349#define __NR_getrandom 359
350#define __NR_memfd_create 360
351#define __NR_bpf 361
352#define __NR_execveat 362
353#define __NR_switch_endian 363
354#define __NR_userfaultfd 364
355#define __NR_membarrier 365
356#define __NR_mlock2 378
357#define __NR_copy_file_range 379
358#define __NR_preadv2 380
359#define __NR_pwritev2 381
360#define __NR_kexec_file_load 382
361#define __NR_statx 383
362#define __NR_pkey_alloc 384
363#define __NR_pkey_free 385
364#define __NR_pkey_mprotect 386
365#define __NR_rseq 387
366#define __NR_io_pgetevents 388
367#define __NR_semtimedop 392
368#define __NR_semget 393
369#define __NR_semctl 394
370#define __NR_shmget 395
371#define __NR_shmctl 396
372#define __NR_shmat 397
373#define __NR_shmdt 398
374#define __NR_msgget 399
375#define __NR_msgsnd 400
376#define __NR_msgrcv 401
377#define __NR_msgctl 402
378#define __NR_pidfd_send_signal 424
379#define __NR_io_uring_setup 425
380#define __NR_io_uring_enter 426
381#define __NR_io_uring_register 427
382
383#define SYS_restart_syscall 0
384#define SYS_exit 1
385#define SYS_fork 2
386#define SYS_read 3
387#define SYS_write 4
388#define SYS_open 5
389#define SYS_close 6
390#define SYS_waitpid 7
391#define SYS_creat 8
392#define SYS_link 9
393#define SYS_unlink 10
394#define SYS_execve 11
395#define SYS_chdir 12
396#define SYS_time 13
397#define SYS_mknod 14
398#define SYS_chmod 15
399#define SYS_lchown 16
400#define SYS_break 17
401#define SYS_oldstat 18
402#define SYS_lseek 19
403#define SYS_getpid 20
404#define SYS_mount 21
405#define SYS_umount 22
406#define SYS_setuid 23
407#define SYS_getuid 24
408#define SYS_stime 25
409#define SYS_ptrace 26
410#define SYS_alarm 27
411#define SYS_oldfstat 28
412#define SYS_pause 29
413#define SYS_utime 30
414#define SYS_stty 31
415#define SYS_gtty 32
416#define SYS_access 33
417#define SYS_nice 34
418#define SYS_ftime 35
419#define SYS_sync 36
420#define SYS_kill 37
421#define SYS_rename 38
422#define SYS_mkdir 39
423#define SYS_rmdir 40
424#define SYS_dup 41
425#define SYS_pipe 42
426#define SYS_times 43
427#define SYS_prof 44
428#define SYS_brk 45
429#define SYS_setgid 46
430#define SYS_getgid 47
431#define SYS_signal 48
432#define SYS_geteuid 49
433#define SYS_getegid 50
434#define SYS_acct 51
435#define SYS_umount2 52
436#define SYS_lock 53
437#define SYS_ioctl 54
438#define SYS_fcntl 55
439#define SYS_mpx 56
440#define SYS_setpgid 57
441#define SYS_ulimit 58
442#define SYS_oldolduname 59
443#define SYS_umask 60
444#define SYS_chroot 61
445#define SYS_ustat 62
446#define SYS_dup2 63
447#define SYS_getppid 64
448#define SYS_getpgrp 65
449#define SYS_setsid 66
450#define SYS_sigaction 67
451#define SYS_sgetmask 68
452#define SYS_ssetmask 69
453#define SYS_setreuid 70
454#define SYS_setregid 71
455#define SYS_sigsuspend 72
456#define SYS_sigpending 73
457#define SYS_sethostname 74
458#define SYS_setrlimit 75
459#define SYS_getrlimit 76
460#define SYS_getrusage 77
461#define SYS_gettimeofday 78
462#define SYS_settimeofday 79
463#define SYS_getgroups 80
464#define SYS_setgroups 81
465#define SYS_select 82
466#define SYS_symlink 83
467#define SYS_oldlstat 84
468#define SYS_readlink 85
469#define SYS_uselib 86
470#define SYS_swapon 87
471#define SYS_reboot 88
472#define SYS_readdir 89
473#define SYS_mmap 90
474#define SYS_munmap 91
475#define SYS_truncate 92
476#define SYS_ftruncate 93
477#define SYS_fchmod 94
478#define SYS_fchown 95
479#define SYS_getpriority 96
480#define SYS_setpriority 97
481#define SYS_profil 98
482#define SYS_statfs 99
483#define SYS_fstatfs 100
484#define SYS_ioperm 101
485#define SYS_socketcall 102
486#define SYS_syslog 103
487#define SYS_setitimer 104
488#define SYS_getitimer 105
489#define SYS_stat 106
490#define SYS_lstat 107
491#define SYS_fstat 108
492#define SYS_olduname 109
493#define SYS_iopl 110
494#define SYS_vhangup 111
495#define SYS_idle 112
496#define SYS_vm86 113
497#define SYS_wait4 114
498#define SYS_swapoff 115
499#define SYS_sysinfo 116
500#define SYS_ipc 117
501#define SYS_fsync 118
502#define SYS_sigreturn 119
503#define SYS_clone 120
504#define SYS_setdomainname 121
505#define SYS_uname 122
506#define SYS_modify_ldt 123
507#define SYS_adjtimex 124
508#define SYS_mprotect 125
509#define SYS_sigprocmask 126
510#define SYS_create_module 127
511#define SYS_init_module 128
512#define SYS_delete_module 129
513#define SYS_get_kernel_syms 130
514#define SYS_quotactl 131
515#define SYS_getpgid 132
516#define SYS_fchdir 133
517#define SYS_bdflush 134
518#define SYS_sysfs 135
519#define SYS_personality 136
520#define SYS_afs_syscall 137
521#define SYS_setfsuid 138
522#define SYS_setfsgid 139
523#define SYS__llseek 140
524#define SYS_getdents 141
525#define SYS__newselect 142
526#define SYS_flock 143
527#define SYS_msync 144
528#define SYS_readv 145
529#define SYS_writev 146
530#define SYS_getsid 147
531#define SYS_fdatasync 148
532#define SYS__sysctl 149
533#define SYS_mlock 150
534#define SYS_munlock 151
535#define SYS_mlockall 152
536#define SYS_munlockall 153
537#define SYS_sched_setparam 154
538#define SYS_sched_getparam 155
539#define SYS_sched_setscheduler 156
540#define SYS_sched_getscheduler 157
541#define SYS_sched_yield 158
542#define SYS_sched_get_priority_max 159
543#define SYS_sched_get_priority_min 160
544#define SYS_sched_rr_get_interval 161
545#define SYS_nanosleep 162
546#define SYS_mremap 163
547#define SYS_setresuid 164
548#define SYS_getresuid 165
549#define SYS_query_module 166
550#define SYS_poll 167
551#define SYS_nfsservctl 168
552#define SYS_setresgid 169
553#define SYS_getresgid 170
554#define SYS_prctl 171
555#define SYS_rt_sigreturn 172
556#define SYS_rt_sigaction 173
557#define SYS_rt_sigprocmask 174
558#define SYS_rt_sigpending 175
559#define SYS_rt_sigtimedwait 176
560#define SYS_rt_sigqueueinfo 177
561#define SYS_rt_sigsuspend 178
562#define SYS_pread64 179
563#define SYS_pwrite64 180
564#define SYS_chown 181
565#define SYS_getcwd 182
566#define SYS_capget 183
567#define SYS_capset 184
568#define SYS_sigaltstack 185
569#define SYS_sendfile 186
570#define SYS_getpmsg 187
571#define SYS_putpmsg 188
572#define SYS_vfork 189
573#define SYS_ugetrlimit 190
574#define SYS_readahead 191
575#define SYS_pciconfig_read 198
576#define SYS_pciconfig_write 199
577#define SYS_pciconfig_iobase 200
578#define SYS_multiplexer 201
579#define SYS_getdents64 202
580#define SYS_pivot_root 203
581#define SYS_madvise 205
582#define SYS_mincore 206
583#define SYS_gettid 207
584#define SYS_tkill 208
585#define SYS_setxattr 209
586#define SYS_lsetxattr 210
587#define SYS_fsetxattr 211
588#define SYS_getxattr 212
589#define SYS_lgetxattr 213
590#define SYS_fgetxattr 214
591#define SYS_listxattr 215
592#define SYS_llistxattr 216
593#define SYS_flistxattr 217
594#define SYS_removexattr 218
595#define SYS_lremovexattr 219
596#define SYS_fremovexattr 220
597#define SYS_futex 221
598#define SYS_sched_setaffinity 222
599#define SYS_sched_getaffinity 223
600#define SYS_tuxcall 225
601#define SYS_io_setup 227
602#define SYS_io_destroy 228
603#define SYS_io_getevents 229
604#define SYS_io_submit 230
605#define SYS_io_cancel 231
606#define SYS_set_tid_address 232
607#define SYS_fadvise64 233
608#define SYS_exit_group 234
609#define SYS_lookup_dcookie 235
610#define SYS_epoll_create 236
611#define SYS_epoll_ctl 237
612#define SYS_epoll_wait 238
613#define SYS_remap_file_pages 239
614#define SYS_timer_create 240
615#define SYS_timer_settime 241
616#define SYS_timer_gettime 242
617#define SYS_timer_getoverrun 243
618#define SYS_timer_delete 244
619#define SYS_clock_settime 245
620#define SYS_clock_gettime 246
621#define SYS_clock_getres 247
622#define SYS_clock_nanosleep 248
623#define SYS_swapcontext 249
624#define SYS_tgkill 250
625#define SYS_utimes 251
626#define SYS_statfs64 252
627#define SYS_fstatfs64 253
628#define SYS_rtas 255
629#define SYS_sys_debug_setcontext 256
630#define SYS_migrate_pages 258
631#define SYS_mbind 259
632#define SYS_get_mempolicy 260
633#define SYS_set_mempolicy 261
634#define SYS_mq_open 262
635#define SYS_mq_unlink 263
636#define SYS_mq_timedsend 264
637#define SYS_mq_timedreceive 265
638#define SYS_mq_notify 266
639#define SYS_mq_getsetattr 267
640#define SYS_kexec_load 268
641#define SYS_add_key 269
642#define SYS_request_key 270
643#define SYS_keyctl 271
644#define SYS_waitid 272
645#define SYS_ioprio_set 273
646#define SYS_ioprio_get 274
647#define SYS_inotify_init 275
648#define SYS_inotify_add_watch 276
649#define SYS_inotify_rm_watch 277
650#define SYS_spu_run 278
651#define SYS_spu_create 279
652#define SYS_pselect6 280
653#define SYS_ppoll 281
654#define SYS_unshare 282
655#define SYS_splice 283
656#define SYS_tee 284
657#define SYS_vmsplice 285
658#define SYS_openat 286
659#define SYS_mkdirat 287
660#define SYS_mknodat 288
661#define SYS_fchownat 289
662#define SYS_futimesat 290
663#define SYS_newfstatat 291
664#define SYS_unlinkat 292
665#define SYS_renameat 293
666#define SYS_linkat 294
667#define SYS_symlinkat 295
668#define SYS_readlinkat 296
669#define SYS_fchmodat 297
670#define SYS_faccessat 298
671#define SYS_get_robust_list 299
672#define SYS_set_robust_list 300
673#define SYS_move_pages 301
674#define SYS_getcpu 302
675#define SYS_epoll_pwait 303
676#define SYS_utimensat 304
677#define SYS_signalfd 305
678#define SYS_timerfd_create 306
679#define SYS_eventfd 307
680#define SYS_sync_file_range2 308
681#define SYS_fallocate 309
682#define SYS_subpage_prot 310
683#define SYS_timerfd_settime 311
684#define SYS_timerfd_gettime 312
685#define SYS_signalfd4 313
686#define SYS_eventfd2 314
687#define SYS_epoll_create1 315
688#define SYS_dup3 316
689#define SYS_pipe2 317
690#define SYS_inotify_init1 318
691#define SYS_perf_event_open 319
692#define SYS_preadv 320
693#define SYS_pwritev 321
694#define SYS_rt_tgsigqueueinfo 322
695#define SYS_fanotify_init 323
696#define SYS_fanotify_mark 324
697#define SYS_prlimit64 325
698#define SYS_socket 326
699#define SYS_bind 327
700#define SYS_connect 328
701#define SYS_listen 329
702#define SYS_accept 330
703#define SYS_getsockname 331
704#define SYS_getpeername 332
705#define SYS_socketpair 333
706#define SYS_send 334
707#define SYS_sendto 335
708#define SYS_recv 336
709#define SYS_recvfrom 337
710#define SYS_shutdown 338
711#define SYS_setsockopt 339
712#define SYS_getsockopt 340
713#define SYS_sendmsg 341
714#define SYS_recvmsg 342
715#define SYS_recvmmsg 343
716#define SYS_accept4 344
717#define SYS_name_to_handle_at 345
718#define SYS_open_by_handle_at 346
719#define SYS_clock_adjtime 347
720#define SYS_syncfs 348
721#define SYS_sendmmsg 349
722#define SYS_setns 350
723#define SYS_process_vm_readv 351
724#define SYS_process_vm_writev 352
725#define SYS_finit_module 353
726#define SYS_kcmp 354
727#define SYS_sched_setattr 355
728#define SYS_sched_getattr 356
729#define SYS_renameat2 357
730#define SYS_seccomp 358
731#define SYS_getrandom 359
732#define SYS_memfd_create 360
733#define SYS_bpf 361
734#define SYS_execveat 362
735#define SYS_switch_endian 363
736#define SYS_userfaultfd 364
737#define SYS_membarrier 365
738#define SYS_mlock2 378
739#define SYS_copy_file_range 379
740#define SYS_preadv2 380
741#define SYS_pwritev2 381
742#define SYS_kexec_file_load 382
743#define SYS_statx 383
744#define SYS_pkey_alloc 384
745#define SYS_pkey_free 385
746#define SYS_pkey_mprotect 386
747#define SYS_rseq 387
748#define SYS_io_pgetevents 388
749#define SYS_semtimedop 392
750#define SYS_semget 393
751#define SYS_semctl 394
752#define SYS_shmget 395
753#define SYS_shmctl 396
754#define SYS_shmat 397
755#define SYS_shmdt 398
756#define SYS_msgget 399
757#define SYS_msgsnd 400
758#define SYS_msgrcv 401
759#define SYS_msgctl 402
760#define SYS_pidfd_send_signal 424
761#define SYS_io_uring_setup 425
762#define SYS_io_uring_enter 426
763#define SYS_io_uring_register 427
\ No newline at end of file
lib/libc/include/riscv64-linux-musl/bits/alltypes.h created+401
......@@ -0,0 +1,401 @@
1#define _Addr long
2#define _Int64 long
3#define _Reg long
4
5#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
6typedef __builtin_va_list va_list;
7#define __DEFINED_va_list
8#endif
9
10#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
11typedef __builtin_va_list __isoc_va_list;
12#define __DEFINED___isoc_va_list
13#endif
14
15
16#ifndef __cplusplus
17#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
18typedef int wchar_t;
19#define __DEFINED_wchar_t
20#endif
21
22#endif
23
24#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
25typedef int blksize_t;
26#define __DEFINED_blksize_t
27#endif
28
29#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
30typedef unsigned int nlink_t;
31#define __DEFINED_nlink_t
32#endif
33
34
35#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
36typedef float float_t;
37#define __DEFINED_float_t
38#endif
39
40#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
41typedef double double_t;
42#define __DEFINED_double_t
43#endif
44
45
46#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
47typedef struct { long long __ll; long double __ld; } max_align_t;
48#define __DEFINED_max_align_t
49#endif
50
51
52#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
53typedef long time_t;
54#define __DEFINED_time_t
55#endif
56
57#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
58typedef long suseconds_t;
59#define __DEFINED_suseconds_t
60#endif
61
62
63#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
64typedef struct { union { int __i[14]; volatile int __vi[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
65#define __DEFINED_pthread_attr_t
66#endif
67
68#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
69typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } pthread_mutex_t;
70#define __DEFINED_pthread_mutex_t
71#endif
72
73#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
74typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } mtx_t;
75#define __DEFINED_mtx_t
76#endif
77
78#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
79typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } pthread_cond_t;
80#define __DEFINED_pthread_cond_t
81#endif
82
83#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
84typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } cnd_t;
85#define __DEFINED_cnd_t
86#endif
87
88#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
89typedef struct { union { int __i[14]; volatile int __vi[14]; void *__p[7]; } __u; } pthread_rwlock_t;
90#define __DEFINED_pthread_rwlock_t
91#endif
92
93#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
94typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[4]; } __u; } pthread_barrier_t;
95#define __DEFINED_pthread_barrier_t
96#endif
97
98#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
99typedef unsigned _Addr size_t;
100#define __DEFINED_size_t
101#endif
102
103#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
104typedef unsigned _Addr uintptr_t;
105#define __DEFINED_uintptr_t
106#endif
107
108#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
109typedef _Addr ptrdiff_t;
110#define __DEFINED_ptrdiff_t
111#endif
112
113#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
114typedef _Addr ssize_t;
115#define __DEFINED_ssize_t
116#endif
117
118#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
119typedef _Addr intptr_t;
120#define __DEFINED_intptr_t
121#endif
122
123#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
124typedef _Addr regoff_t;
125#define __DEFINED_regoff_t
126#endif
127
128#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
129typedef _Reg register_t;
130#define __DEFINED_register_t
131#endif
132
133
134#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
135typedef signed char int8_t;
136#define __DEFINED_int8_t
137#endif
138
139#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
140typedef signed short int16_t;
141#define __DEFINED_int16_t
142#endif
143
144#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
145typedef signed int int32_t;
146#define __DEFINED_int32_t
147#endif
148
149#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
150typedef signed _Int64 int64_t;
151#define __DEFINED_int64_t
152#endif
153
154#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
155typedef signed _Int64 intmax_t;
156#define __DEFINED_intmax_t
157#endif
158
159#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
160typedef unsigned char uint8_t;
161#define __DEFINED_uint8_t
162#endif
163
164#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
165typedef unsigned short uint16_t;
166#define __DEFINED_uint16_t
167#endif
168
169#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
170typedef unsigned int uint32_t;
171#define __DEFINED_uint32_t
172#endif
173
174#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
175typedef unsigned _Int64 uint64_t;
176#define __DEFINED_uint64_t
177#endif
178
179#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
180typedef unsigned _Int64 u_int64_t;
181#define __DEFINED_u_int64_t
182#endif
183
184#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
185typedef unsigned _Int64 uintmax_t;
186#define __DEFINED_uintmax_t
187#endif
188
189
190#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
191typedef unsigned mode_t;
192#define __DEFINED_mode_t
193#endif
194
195#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
196typedef unsigned _Reg nlink_t;
197#define __DEFINED_nlink_t
198#endif
199
200#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
201typedef _Int64 off_t;
202#define __DEFINED_off_t
203#endif
204
205#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
206typedef unsigned _Int64 ino_t;
207#define __DEFINED_ino_t
208#endif
209
210#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
211typedef unsigned _Int64 dev_t;
212#define __DEFINED_dev_t
213#endif
214
215#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
216typedef long blksize_t;
217#define __DEFINED_blksize_t
218#endif
219
220#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
221typedef _Int64 blkcnt_t;
222#define __DEFINED_blkcnt_t
223#endif
224
225#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
226typedef unsigned _Int64 fsblkcnt_t;
227#define __DEFINED_fsblkcnt_t
228#endif
229
230#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
231typedef unsigned _Int64 fsfilcnt_t;
232#define __DEFINED_fsfilcnt_t
233#endif
234
235
236#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
237typedef unsigned wint_t;
238#define __DEFINED_wint_t
239#endif
240
241#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
242typedef unsigned long wctype_t;
243#define __DEFINED_wctype_t
244#endif
245
246
247#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
248typedef void * timer_t;
249#define __DEFINED_timer_t
250#endif
251
252#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
253typedef int clockid_t;
254#define __DEFINED_clockid_t
255#endif
256
257#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
258typedef long clock_t;
259#define __DEFINED_clock_t
260#endif
261
262#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
263struct timeval { time_t tv_sec; suseconds_t tv_usec; };
264#define __DEFINED_struct_timeval
265#endif
266
267#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
268struct timespec { time_t tv_sec; long tv_nsec; };
269#define __DEFINED_struct_timespec
270#endif
271
272
273#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
274typedef int pid_t;
275#define __DEFINED_pid_t
276#endif
277
278#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
279typedef unsigned id_t;
280#define __DEFINED_id_t
281#endif
282
283#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
284typedef unsigned uid_t;
285#define __DEFINED_uid_t
286#endif
287
288#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
289typedef unsigned gid_t;
290#define __DEFINED_gid_t
291#endif
292
293#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
294typedef int key_t;
295#define __DEFINED_key_t
296#endif
297
298#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
299typedef unsigned useconds_t;
300#define __DEFINED_useconds_t
301#endif
302
303
304#ifdef __cplusplus
305#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
306typedef unsigned long pthread_t;
307#define __DEFINED_pthread_t
308#endif
309
310#else
311#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
312typedef struct __pthread * pthread_t;
313#define __DEFINED_pthread_t
314#endif
315
316#endif
317#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
318typedef int pthread_once_t;
319#define __DEFINED_pthread_once_t
320#endif
321
322#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
323typedef unsigned pthread_key_t;
324#define __DEFINED_pthread_key_t
325#endif
326
327#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
328typedef int pthread_spinlock_t;
329#define __DEFINED_pthread_spinlock_t
330#endif
331
332#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
333typedef struct { unsigned __attr; } pthread_mutexattr_t;
334#define __DEFINED_pthread_mutexattr_t
335#endif
336
337#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
338typedef struct { unsigned __attr; } pthread_condattr_t;
339#define __DEFINED_pthread_condattr_t
340#endif
341
342#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
343typedef struct { unsigned __attr; } pthread_barrierattr_t;
344#define __DEFINED_pthread_barrierattr_t
345#endif
346
347#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
348typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
349#define __DEFINED_pthread_rwlockattr_t
350#endif
351
352
353#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
354struct _IO_FILE { char __x; };
355#define __DEFINED_struct__IO_FILE
356#endif
357
358#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
359typedef struct _IO_FILE FILE;
360#define __DEFINED_FILE
361#endif
362
363
364#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
365typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
366#define __DEFINED_mbstate_t
367#endif
368
369
370#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
371typedef struct __locale_struct * locale_t;
372#define __DEFINED_locale_t
373#endif
374
375
376#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
377typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
378#define __DEFINED_sigset_t
379#endif
380
381
382#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
383struct iovec { void *iov_base; size_t iov_len; };
384#define __DEFINED_struct_iovec
385#endif
386
387
388#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
389typedef unsigned socklen_t;
390#define __DEFINED_socklen_t
391#endif
392
393#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
394typedef unsigned short sa_family_t;
395#define __DEFINED_sa_family_t
396#endif
397
398
399#undef _Addr
400#undef _Int64
401#undef _Reg
\ No newline at end of file
lib/libc/include/riscv64-linux-musl/bits/syscall.h created+554
......@@ -0,0 +1,554 @@
1#define __NR_io_setup 0
2#define __NR_io_destroy 1
3#define __NR_io_submit 2
4#define __NR_io_cancel 3
5#define __NR_io_getevents 4
6#define __NR_setxattr 5
7#define __NR_lsetxattr 6
8#define __NR_fsetxattr 7
9#define __NR_getxattr 8
10#define __NR_lgetxattr 9
11#define __NR_fgetxattr 10
12#define __NR_listxattr 11
13#define __NR_llistxattr 12
14#define __NR_flistxattr 13
15#define __NR_removexattr 14
16#define __NR_lremovexattr 15
17#define __NR_fremovexattr 16
18#define __NR_getcwd 17
19#define __NR_lookup_dcookie 18
20#define __NR_eventfd2 19
21#define __NR_epoll_create1 20
22#define __NR_epoll_ctl 21
23#define __NR_epoll_pwait 22
24#define __NR_dup 23
25#define __NR_dup3 24
26#define __NR_fcntl 25
27#define __NR_inotify_init1 26
28#define __NR_inotify_add_watch 27
29#define __NR_inotify_rm_watch 28
30#define __NR_ioctl 29
31#define __NR_ioprio_set 30
32#define __NR_ioprio_get 31
33#define __NR_flock 32
34#define __NR_mknodat 33
35#define __NR_mkdirat 34
36#define __NR_unlinkat 35
37#define __NR_symlinkat 36
38#define __NR_linkat 37
39#define __NR_umount2 39
40#define __NR_mount 40
41#define __NR_pivot_root 41
42#define __NR_nfsservctl 42
43#define __NR_statfs 43
44#define __NR_fstatfs 44
45#define __NR_truncate 45
46#define __NR_ftruncate 46
47#define __NR_fallocate 47
48#define __NR_faccessat 48
49#define __NR_chdir 49
50#define __NR_fchdir 50
51#define __NR_chroot 51
52#define __NR_fchmod 52
53#define __NR_fchmodat 53
54#define __NR_fchownat 54
55#define __NR_fchown 55
56#define __NR_openat 56
57#define __NR_close 57
58#define __NR_vhangup 58
59#define __NR_pipe2 59
60#define __NR_quotactl 60
61#define __NR_getdents64 61
62#define __NR_lseek 62
63#define __NR_read 63
64#define __NR_write 64
65#define __NR_readv 65
66#define __NR_writev 66
67#define __NR_pread64 67
68#define __NR_pwrite64 68
69#define __NR_preadv 69
70#define __NR_pwritev 70
71#define __NR_sendfile 71
72#define __NR_pselect6 72
73#define __NR_ppoll 73
74#define __NR_signalfd4 74
75#define __NR_vmsplice 75
76#define __NR_splice 76
77#define __NR_tee 77
78#define __NR_readlinkat 78
79#define __NR_fstatat 79
80#define __NR_fstat 80
81#define __NR_sync 81
82#define __NR_fsync 82
83#define __NR_fdatasync 83
84#define __NR_sync_file_range 84
85#define __NR_timerfd_create 85
86#define __NR_timerfd_settime 86
87#define __NR_timerfd_gettime 87
88#define __NR_utimensat 88
89#define __NR_acct 89
90#define __NR_capget 90
91#define __NR_capset 91
92#define __NR_personality 92
93#define __NR_exit 93
94#define __NR_exit_group 94
95#define __NR_waitid 95
96#define __NR_set_tid_address 96
97#define __NR_unshare 97
98#define __NR_futex 98
99#define __NR_set_robust_list 99
100#define __NR_get_robust_list 100
101#define __NR_nanosleep 101
102#define __NR_getitimer 102
103#define __NR_setitimer 103
104#define __NR_kexec_load 104
105#define __NR_init_module 105
106#define __NR_delete_module 106
107#define __NR_timer_create 107
108#define __NR_timer_gettime 108
109#define __NR_timer_getoverrun 109
110#define __NR_timer_settime 110
111#define __NR_timer_delete 111
112#define __NR_clock_settime 112
113#define __NR_clock_gettime 113
114#define __NR_clock_getres 114
115#define __NR_clock_nanosleep 115
116#define __NR_syslog 116
117#define __NR_ptrace 117
118#define __NR_sched_setparam 118
119#define __NR_sched_setscheduler 119
120#define __NR_sched_getscheduler 120
121#define __NR_sched_getparam 121
122#define __NR_sched_setaffinity 122
123#define __NR_sched_getaffinity 123
124#define __NR_sched_yield 124
125#define __NR_sched_get_priority_max 125
126#define __NR_sched_get_priority_min 126
127#define __NR_sched_rr_get_interval 127
128#define __NR_restart_syscall 128
129#define __NR_kill 129
130#define __NR_tkill 130
131#define __NR_tgkill 131
132#define __NR_sigaltstack 132
133#define __NR_rt_sigsuspend 133
134#define __NR_rt_sigaction 134
135#define __NR_rt_sigprocmask 135
136#define __NR_rt_sigpending 136
137#define __NR_rt_sigtimedwait 137
138#define __NR_rt_sigqueueinfo 138
139#define __NR_rt_sigreturn 139
140#define __NR_setpriority 140
141#define __NR_getpriority 141
142#define __NR_reboot 142
143#define __NR_setregid 143
144#define __NR_setgid 144
145#define __NR_setreuid 145
146#define __NR_setuid 146
147#define __NR_setresuid 147
148#define __NR_getresuid 148
149#define __NR_setresgid 149
150#define __NR_getresgid 150
151#define __NR_setfsuid 151
152#define __NR_setfsgid 152
153#define __NR_times 153
154#define __NR_setpgid 154
155#define __NR_getpgid 155
156#define __NR_getsid 156
157#define __NR_setsid 157
158#define __NR_getgroups 158
159#define __NR_setgroups 159
160#define __NR_uname 160
161#define __NR_sethostname 161
162#define __NR_setdomainname 162
163#define __NR_getrlimit 163
164#define __NR_setrlimit 164
165#define __NR_getrusage 165
166#define __NR_umask 166
167#define __NR_prctl 167
168#define __NR_getcpu 168
169#define __NR_gettimeofday 169
170#define __NR_settimeofday 170
171#define __NR_adjtimex 171
172#define __NR_getpid 172
173#define __NR_getppid 173
174#define __NR_getuid 174
175#define __NR_geteuid 175
176#define __NR_getgid 176
177#define __NR_getegid 177
178#define __NR_gettid 178
179#define __NR_sysinfo 179
180#define __NR_mq_open 180
181#define __NR_mq_unlink 181
182#define __NR_mq_timedsend 182
183#define __NR_mq_timedreceive 183
184#define __NR_mq_notify 184
185#define __NR_mq_getsetattr 185
186#define __NR_msgget 186
187#define __NR_msgctl 187
188#define __NR_msgrcv 188
189#define __NR_msgsnd 189
190#define __NR_semget 190
191#define __NR_semctl 191
192#define __NR_semtimedop 192
193#define __NR_semop 193
194#define __NR_shmget 194
195#define __NR_shmctl 195
196#define __NR_shmat 196
197#define __NR_shmdt 197
198#define __NR_socket 198
199#define __NR_socketpair 199
200#define __NR_bind 200
201#define __NR_listen 201
202#define __NR_accept 202
203#define __NR_connect 203
204#define __NR_getsockname 204
205#define __NR_getpeername 205
206#define __NR_sendto 206
207#define __NR_recvfrom 207
208#define __NR_setsockopt 208
209#define __NR_getsockopt 209
210#define __NR_shutdown 210
211#define __NR_sendmsg 211
212#define __NR_recvmsg 212
213#define __NR_readahead 213
214#define __NR_brk 214
215#define __NR_munmap 215
216#define __NR_mremap 216
217#define __NR_add_key 217
218#define __NR_request_key 218
219#define __NR_keyctl 219
220#define __NR_clone 220
221#define __NR_execve 221
222#define __NR_mmap 222
223#define __NR_fadvise64 223
224#define __NR_swapon 224
225#define __NR_swapoff 225
226#define __NR_mprotect 226
227#define __NR_msync 227
228#define __NR_mlock 228
229#define __NR_munlock 229
230#define __NR_mlockall 230
231#define __NR_munlockall 231
232#define __NR_mincore 232
233#define __NR_madvise 233
234#define __NR_remap_file_pages 234
235#define __NR_mbind 235
236#define __NR_get_mempolicy 236
237#define __NR_set_mempolicy 237
238#define __NR_migrate_pages 238
239#define __NR_move_pages 239
240#define __NR_rt_tgsigqueueinfo 240
241#define __NR_perf_event_open 241
242#define __NR_accept4 242
243#define __NR_recvmmsg 243
244#define __NR_arch_specific_syscall 244
245#define __NR_wait4 260
246#define __NR_prlimit64 261
247#define __NR_fanotify_init 262
248#define __NR_fanotify_mark 263
249#define __NR_name_to_handle_at 264
250#define __NR_open_by_handle_at 265
251#define __NR_clock_adjtime 266
252#define __NR_syncfs 267
253#define __NR_setns 268
254#define __NR_sendmmsg 269
255#define __NR_process_vm_readv 270
256#define __NR_process_vm_writev 271
257#define __NR_kcmp 272
258#define __NR_finit_module 273
259#define __NR_sched_setattr 274
260#define __NR_sched_getattr 275
261#define __NR_renameat2 276
262#define __NR_seccomp 277
263#define __NR_getrandom 278
264#define __NR_memfd_create 279
265#define __NR_bpf 280
266#define __NR_execveat 281
267#define __NR_userfaultfd 282
268#define __NR_membarrier 283
269#define __NR_mlock2 284
270#define __NR_copy_file_range 285
271#define __NR_preadv2 286
272#define __NR_pwritev2 287
273#define __NR_pkey_mprotect 288
274#define __NR_pkey_alloc 289
275#define __NR_pkey_free 290
276#define __NR_sysriscv __NR_arch_specific_syscall
277#define __NR_riscv_flush_icache (__NR_sysriscv + 15)
278#define SYS_io_setup 0
279#define SYS_io_destroy 1
280#define SYS_io_submit 2
281#define SYS_io_cancel 3
282#define SYS_io_getevents 4
283#define SYS_setxattr 5
284#define SYS_lsetxattr 6
285#define SYS_fsetxattr 7
286#define SYS_getxattr 8
287#define SYS_lgetxattr 9
288#define SYS_fgetxattr 10
289#define SYS_listxattr 11
290#define SYS_llistxattr 12
291#define SYS_flistxattr 13
292#define SYS_removexattr 14
293#define SYS_lremovexattr 15
294#define SYS_fremovexattr 16
295#define SYS_getcwd 17
296#define SYS_lookup_dcookie 18
297#define SYS_eventfd2 19
298#define SYS_epoll_create1 20
299#define SYS_epoll_ctl 21
300#define SYS_epoll_pwait 22
301#define SYS_dup 23
302#define SYS_dup3 24
303#define SYS_fcntl 25
304#define SYS_inotify_init1 26
305#define SYS_inotify_add_watch 27
306#define SYS_inotify_rm_watch 28
307#define SYS_ioctl 29
308#define SYS_ioprio_set 30
309#define SYS_ioprio_get 31
310#define SYS_flock 32
311#define SYS_mknodat 33
312#define SYS_mkdirat 34
313#define SYS_unlinkat 35
314#define SYS_symlinkat 36
315#define SYS_linkat 37
316#define SYS_umount2 39
317#define SYS_mount 40
318#define SYS_pivot_root 41
319#define SYS_nfsservctl 42
320#define SYS_statfs 43
321#define SYS_fstatfs 44
322#define SYS_truncate 45
323#define SYS_ftruncate 46
324#define SYS_fallocate 47
325#define SYS_faccessat 48
326#define SYS_chdir 49
327#define SYS_fchdir 50
328#define SYS_chroot 51
329#define SYS_fchmod 52
330#define SYS_fchmodat 53
331#define SYS_fchownat 54
332#define SYS_fchown 55
333#define SYS_openat 56
334#define SYS_close 57
335#define SYS_vhangup 58
336#define SYS_pipe2 59
337#define SYS_quotactl 60
338#define SYS_getdents64 61
339#define SYS_lseek 62
340#define SYS_read 63
341#define SYS_write 64
342#define SYS_readv 65
343#define SYS_writev 66
344#define SYS_pread64 67
345#define SYS_pwrite64 68
346#define SYS_preadv 69
347#define SYS_pwritev 70
348#define SYS_sendfile 71
349#define SYS_pselect6 72
350#define SYS_ppoll 73
351#define SYS_signalfd4 74
352#define SYS_vmsplice 75
353#define SYS_splice 76
354#define SYS_tee 77
355#define SYS_readlinkat 78
356#define SYS_fstatat 79
357#define SYS_fstat 80
358#define SYS_sync 81
359#define SYS_fsync 82
360#define SYS_fdatasync 83
361#define SYS_sync_file_range 84
362#define SYS_timerfd_create 85
363#define SYS_timerfd_settime 86
364#define SYS_timerfd_gettime 87
365#define SYS_utimensat 88
366#define SYS_acct 89
367#define SYS_capget 90
368#define SYS_capset 91
369#define SYS_personality 92
370#define SYS_exit 93
371#define SYS_exit_group 94
372#define SYS_waitid 95
373#define SYS_set_tid_address 96
374#define SYS_unshare 97
375#define SYS_futex 98
376#define SYS_set_robust_list 99
377#define SYS_get_robust_list 100
378#define SYS_nanosleep 101
379#define SYS_getitimer 102
380#define SYS_setitimer 103
381#define SYS_kexec_load 104
382#define SYS_init_module 105
383#define SYS_delete_module 106
384#define SYS_timer_create 107
385#define SYS_timer_gettime 108
386#define SYS_timer_getoverrun 109
387#define SYS_timer_settime 110
388#define SYS_timer_delete 111
389#define SYS_clock_settime 112
390#define SYS_clock_gettime 113
391#define SYS_clock_getres 114
392#define SYS_clock_nanosleep 115
393#define SYS_syslog 116
394#define SYS_ptrace 117
395#define SYS_sched_setparam 118
396#define SYS_sched_setscheduler 119
397#define SYS_sched_getscheduler 120
398#define SYS_sched_getparam 121
399#define SYS_sched_setaffinity 122
400#define SYS_sched_getaffinity 123
401#define SYS_sched_yield 124
402#define SYS_sched_get_priority_max 125
403#define SYS_sched_get_priority_min 126
404#define SYS_sched_rr_get_interval 127
405#define SYS_restart_syscall 128
406#define SYS_kill 129
407#define SYS_tkill 130
408#define SYS_tgkill 131
409#define SYS_sigaltstack 132
410#define SYS_rt_sigsuspend 133
411#define SYS_rt_sigaction 134
412#define SYS_rt_sigprocmask 135
413#define SYS_rt_sigpending 136
414#define SYS_rt_sigtimedwait 137
415#define SYS_rt_sigqueueinfo 138
416#define SYS_rt_sigreturn 139
417#define SYS_setpriority 140
418#define SYS_getpriority 141
419#define SYS_reboot 142
420#define SYS_setregid 143
421#define SYS_setgid 144
422#define SYS_setreuid 145
423#define SYS_setuid 146
424#define SYS_setresuid 147
425#define SYS_getresuid 148
426#define SYS_setresgid 149
427#define SYS_getresgid 150
428#define SYS_setfsuid 151
429#define SYS_setfsgid 152
430#define SYS_times 153
431#define SYS_setpgid 154
432#define SYS_getpgid 155
433#define SYS_getsid 156
434#define SYS_setsid 157
435#define SYS_getgroups 158
436#define SYS_setgroups 159
437#define SYS_uname 160
438#define SYS_sethostname 161
439#define SYS_setdomainname 162
440#define SYS_getrlimit 163
441#define SYS_setrlimit 164
442#define SYS_getrusage 165
443#define SYS_umask 166
444#define SYS_prctl 167
445#define SYS_getcpu 168
446#define SYS_gettimeofday 169
447#define SYS_settimeofday 170
448#define SYS_adjtimex 171
449#define SYS_getpid 172
450#define SYS_getppid 173
451#define SYS_getuid 174
452#define SYS_geteuid 175
453#define SYS_getgid 176
454#define SYS_getegid 177
455#define SYS_gettid 178
456#define SYS_sysinfo 179
457#define SYS_mq_open 180
458#define SYS_mq_unlink 181
459#define SYS_mq_timedsend 182
460#define SYS_mq_timedreceive 183
461#define SYS_mq_notify 184
462#define SYS_mq_getsetattr 185
463#define SYS_msgget 186
464#define SYS_msgctl 187
465#define SYS_msgrcv 188
466#define SYS_msgsnd 189
467#define SYS_semget 190
468#define SYS_semctl 191
469#define SYS_semtimedop 192
470#define SYS_semop 193
471#define SYS_shmget 194
472#define SYS_shmctl 195
473#define SYS_shmat 196
474#define SYS_shmdt 197
475#define SYS_socket 198
476#define SYS_socketpair 199
477#define SYS_bind 200
478#define SYS_listen 201
479#define SYS_accept 202
480#define SYS_connect 203
481#define SYS_getsockname 204
482#define SYS_getpeername 205
483#define SYS_sendto 206
484#define SYS_recvfrom 207
485#define SYS_setsockopt 208
486#define SYS_getsockopt 209
487#define SYS_shutdown 210
488#define SYS_sendmsg 211
489#define SYS_recvmsg 212
490#define SYS_readahead 213
491#define SYS_brk 214
492#define SYS_munmap 215
493#define SYS_mremap 216
494#define SYS_add_key 217
495#define SYS_request_key 218
496#define SYS_keyctl 219
497#define SYS_clone 220
498#define SYS_execve 221
499#define SYS_mmap 222
500#define SYS_fadvise64 223
501#define SYS_swapon 224
502#define SYS_swapoff 225
503#define SYS_mprotect 226
504#define SYS_msync 227
505#define SYS_mlock 228
506#define SYS_munlock 229
507#define SYS_mlockall 230
508#define SYS_munlockall 231
509#define SYS_mincore 232
510#define SYS_madvise 233
511#define SYS_remap_file_pages 234
512#define SYS_mbind 235
513#define SYS_get_mempolicy 236
514#define SYS_set_mempolicy 237
515#define SYS_migrate_pages 238
516#define SYS_move_pages 239
517#define SYS_rt_tgsigqueueinfo 240
518#define SYS_perf_event_open 241
519#define SYS_accept4 242
520#define SYS_recvmmsg 243
521#define SYS_arch_specific_syscall 244
522#define SYS_wait4 260
523#define SYS_prlimit64 261
524#define SYS_fanotify_init 262
525#define SYS_fanotify_mark 263
526#define SYS_name_to_handle_at 264
527#define SYS_open_by_handle_at 265
528#define SYS_clock_adjtime 266
529#define SYS_syncfs 267
530#define SYS_setns 268
531#define SYS_sendmmsg 269
532#define SYS_process_vm_readv 270
533#define SYS_process_vm_writev 271
534#define SYS_kcmp 272
535#define SYS_finit_module 273
536#define SYS_sched_setattr 274
537#define SYS_sched_getattr 275
538#define SYS_renameat2 276
539#define SYS_seccomp 277
540#define SYS_getrandom 278
541#define SYS_memfd_create 279
542#define SYS_bpf 280
543#define SYS_execveat 281
544#define SYS_userfaultfd 282
545#define SYS_membarrier 283
546#define SYS_mlock2 284
547#define SYS_copy_file_range 285
548#define SYS_preadv2 286
549#define SYS_pwritev2 287
550#define SYS_pkey_mprotect 288
551#define SYS_pkey_alloc 289
552#define SYS_pkey_free 290
553#define SYS_sysriscv __NR_arch_specific_syscall
554#define SYS_riscv_flush_icache (__NR_sysriscv + 15)
\ No newline at end of file
lib/libc/include/s390x-linux-musl/bits/alltypes.h created+390
......@@ -0,0 +1,390 @@
1#define _Addr long
2#define _Int64 long
3#define _Reg long
4
5#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
6typedef __builtin_va_list va_list;
7#define __DEFINED_va_list
8#endif
9
10#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
11typedef __builtin_va_list __isoc_va_list;
12#define __DEFINED___isoc_va_list
13#endif
14
15
16#ifndef __cplusplus
17#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
18typedef int wchar_t;
19#define __DEFINED_wchar_t
20#endif
21
22#endif
23
24#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
25typedef double float_t;
26#define __DEFINED_float_t
27#endif
28
29#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
30typedef double double_t;
31#define __DEFINED_double_t
32#endif
33
34
35#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
36typedef struct { long long __ll; long double __ld; } max_align_t;
37#define __DEFINED_max_align_t
38#endif
39
40
41#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
42typedef long time_t;
43#define __DEFINED_time_t
44#endif
45
46#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
47typedef long suseconds_t;
48#define __DEFINED_suseconds_t
49#endif
50
51
52#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
53typedef struct { union { int __i[14]; volatile int __vi[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
54#define __DEFINED_pthread_attr_t
55#endif
56
57#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
58typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } pthread_mutex_t;
59#define __DEFINED_pthread_mutex_t
60#endif
61
62#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
63typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } mtx_t;
64#define __DEFINED_mtx_t
65#endif
66
67#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
68typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } pthread_cond_t;
69#define __DEFINED_pthread_cond_t
70#endif
71
72#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
73typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } cnd_t;
74#define __DEFINED_cnd_t
75#endif
76
77#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
78typedef struct { union { int __i[14]; volatile int __vi[14]; void *__p[7]; } __u; } pthread_rwlock_t;
79#define __DEFINED_pthread_rwlock_t
80#endif
81
82#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
83typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[4]; } __u; } pthread_barrier_t;
84#define __DEFINED_pthread_barrier_t
85#endif
86
87#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
88typedef unsigned _Addr size_t;
89#define __DEFINED_size_t
90#endif
91
92#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
93typedef unsigned _Addr uintptr_t;
94#define __DEFINED_uintptr_t
95#endif
96
97#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
98typedef _Addr ptrdiff_t;
99#define __DEFINED_ptrdiff_t
100#endif
101
102#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
103typedef _Addr ssize_t;
104#define __DEFINED_ssize_t
105#endif
106
107#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
108typedef _Addr intptr_t;
109#define __DEFINED_intptr_t
110#endif
111
112#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
113typedef _Addr regoff_t;
114#define __DEFINED_regoff_t
115#endif
116
117#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
118typedef _Reg register_t;
119#define __DEFINED_register_t
120#endif
121
122
123#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
124typedef signed char int8_t;
125#define __DEFINED_int8_t
126#endif
127
128#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
129typedef signed short int16_t;
130#define __DEFINED_int16_t
131#endif
132
133#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
134typedef signed int int32_t;
135#define __DEFINED_int32_t
136#endif
137
138#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
139typedef signed _Int64 int64_t;
140#define __DEFINED_int64_t
141#endif
142
143#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
144typedef signed _Int64 intmax_t;
145#define __DEFINED_intmax_t
146#endif
147
148#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
149typedef unsigned char uint8_t;
150#define __DEFINED_uint8_t
151#endif
152
153#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
154typedef unsigned short uint16_t;
155#define __DEFINED_uint16_t
156#endif
157
158#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
159typedef unsigned int uint32_t;
160#define __DEFINED_uint32_t
161#endif
162
163#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
164typedef unsigned _Int64 uint64_t;
165#define __DEFINED_uint64_t
166#endif
167
168#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
169typedef unsigned _Int64 u_int64_t;
170#define __DEFINED_u_int64_t
171#endif
172
173#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
174typedef unsigned _Int64 uintmax_t;
175#define __DEFINED_uintmax_t
176#endif
177
178
179#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
180typedef unsigned mode_t;
181#define __DEFINED_mode_t
182#endif
183
184#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
185typedef unsigned _Reg nlink_t;
186#define __DEFINED_nlink_t
187#endif
188
189#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
190typedef _Int64 off_t;
191#define __DEFINED_off_t
192#endif
193
194#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
195typedef unsigned _Int64 ino_t;
196#define __DEFINED_ino_t
197#endif
198
199#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
200typedef unsigned _Int64 dev_t;
201#define __DEFINED_dev_t
202#endif
203
204#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
205typedef long blksize_t;
206#define __DEFINED_blksize_t
207#endif
208
209#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
210typedef _Int64 blkcnt_t;
211#define __DEFINED_blkcnt_t
212#endif
213
214#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
215typedef unsigned _Int64 fsblkcnt_t;
216#define __DEFINED_fsblkcnt_t
217#endif
218
219#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
220typedef unsigned _Int64 fsfilcnt_t;
221#define __DEFINED_fsfilcnt_t
222#endif
223
224
225#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
226typedef unsigned wint_t;
227#define __DEFINED_wint_t
228#endif
229
230#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
231typedef unsigned long wctype_t;
232#define __DEFINED_wctype_t
233#endif
234
235
236#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
237typedef void * timer_t;
238#define __DEFINED_timer_t
239#endif
240
241#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
242typedef int clockid_t;
243#define __DEFINED_clockid_t
244#endif
245
246#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
247typedef long clock_t;
248#define __DEFINED_clock_t
249#endif
250
251#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
252struct timeval { time_t tv_sec; suseconds_t tv_usec; };
253#define __DEFINED_struct_timeval
254#endif
255
256#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
257struct timespec { time_t tv_sec; long tv_nsec; };
258#define __DEFINED_struct_timespec
259#endif
260
261
262#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
263typedef int pid_t;
264#define __DEFINED_pid_t
265#endif
266
267#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
268typedef unsigned id_t;
269#define __DEFINED_id_t
270#endif
271
272#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
273typedef unsigned uid_t;
274#define __DEFINED_uid_t
275#endif
276
277#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
278typedef unsigned gid_t;
279#define __DEFINED_gid_t
280#endif
281
282#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
283typedef int key_t;
284#define __DEFINED_key_t
285#endif
286
287#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
288typedef unsigned useconds_t;
289#define __DEFINED_useconds_t
290#endif
291
292
293#ifdef __cplusplus
294#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
295typedef unsigned long pthread_t;
296#define __DEFINED_pthread_t
297#endif
298
299#else
300#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
301typedef struct __pthread * pthread_t;
302#define __DEFINED_pthread_t
303#endif
304
305#endif
306#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
307typedef int pthread_once_t;
308#define __DEFINED_pthread_once_t
309#endif
310
311#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
312typedef unsigned pthread_key_t;
313#define __DEFINED_pthread_key_t
314#endif
315
316#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
317typedef int pthread_spinlock_t;
318#define __DEFINED_pthread_spinlock_t
319#endif
320
321#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
322typedef struct { unsigned __attr; } pthread_mutexattr_t;
323#define __DEFINED_pthread_mutexattr_t
324#endif
325
326#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
327typedef struct { unsigned __attr; } pthread_condattr_t;
328#define __DEFINED_pthread_condattr_t
329#endif
330
331#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
332typedef struct { unsigned __attr; } pthread_barrierattr_t;
333#define __DEFINED_pthread_barrierattr_t
334#endif
335
336#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
337typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
338#define __DEFINED_pthread_rwlockattr_t
339#endif
340
341
342#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
343struct _IO_FILE { char __x; };
344#define __DEFINED_struct__IO_FILE
345#endif
346
347#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
348typedef struct _IO_FILE FILE;
349#define __DEFINED_FILE
350#endif
351
352
353#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
354typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
355#define __DEFINED_mbstate_t
356#endif
357
358
359#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
360typedef struct __locale_struct * locale_t;
361#define __DEFINED_locale_t
362#endif
363
364
365#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
366typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
367#define __DEFINED_sigset_t
368#endif
369
370
371#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
372struct iovec { void *iov_base; size_t iov_len; };
373#define __DEFINED_struct_iovec
374#endif
375
376
377#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
378typedef unsigned socklen_t;
379#define __DEFINED_socklen_t
380#endif
381
382#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
383typedef unsigned short sa_family_t;
384#define __DEFINED_sa_family_t
385#endif
386
387
388#undef _Addr
389#undef _Int64
390#undef _Reg
\ No newline at end of file
lib/libc/include/s390x-linux-musl/bits/syscall.h created+693
......@@ -0,0 +1,693 @@
1#define __NR_exit 1
2#define __NR_fork 2
3#define __NR_read 3
4#define __NR_write 4
5#define __NR_open 5
6#define __NR_close 6
7#define __NR_restart_syscall 7
8#define __NR_creat 8
9#define __NR_link 9
10#define __NR_unlink 10
11#define __NR_execve 11
12#define __NR_chdir 12
13#define __NR_mknod 14
14#define __NR_chmod 15
15#define __NR_lseek 19
16#define __NR_getpid 20
17#define __NR_mount 21
18#define __NR_umount 22
19#define __NR_ptrace 26
20#define __NR_alarm 27
21#define __NR_pause 29
22#define __NR_utime 30
23#define __NR_access 33
24#define __NR_nice 34
25#define __NR_sync 36
26#define __NR_kill 37
27#define __NR_rename 38
28#define __NR_mkdir 39
29#define __NR_rmdir 40
30#define __NR_dup 41
31#define __NR_pipe 42
32#define __NR_times 43
33#define __NR_brk 45
34#define __NR_signal 48
35#define __NR_acct 51
36#define __NR_umount2 52
37#define __NR_ioctl 54
38#define __NR_fcntl 55
39#define __NR_setpgid 57
40#define __NR_umask 60
41#define __NR_chroot 61
42#define __NR_ustat 62
43#define __NR_dup2 63
44#define __NR_getppid 64
45#define __NR_getpgrp 65
46#define __NR_setsid 66
47#define __NR_sigaction 67
48#define __NR_sigsuspend 72
49#define __NR_sigpending 73
50#define __NR_sethostname 74
51#define __NR_setrlimit 75
52#define __NR_getrusage 77
53#define __NR_gettimeofday 78
54#define __NR_settimeofday 79
55#define __NR_symlink 83
56#define __NR_readlink 85
57#define __NR_uselib 86
58#define __NR_swapon 87
59#define __NR_reboot 88
60#define __NR_readdir 89
61#define __NR_mmap 90
62#define __NR_munmap 91
63#define __NR_truncate 92
64#define __NR_ftruncate 93
65#define __NR_fchmod 94
66#define __NR_getpriority 96
67#define __NR_setpriority 97
68#define __NR_statfs 99
69#define __NR_fstatfs 100
70#define __NR_socketcall 102
71#define __NR_syslog 103
72#define __NR_setitimer 104
73#define __NR_getitimer 105
74#define __NR_stat 106
75#define __NR_lstat 107
76#define __NR_fstat 108
77#define __NR_lookup_dcookie 110
78#define __NR_vhangup 111
79#define __NR_idle 112
80#define __NR_wait4 114
81#define __NR_swapoff 115
82#define __NR_sysinfo 116
83#define __NR_ipc 117
84#define __NR_fsync 118
85#define __NR_sigreturn 119
86#define __NR_clone 120
87#define __NR_setdomainname 121
88#define __NR_uname 122
89#define __NR_adjtimex 124
90#define __NR_mprotect 125
91#define __NR_sigprocmask 126
92#define __NR_create_module 127
93#define __NR_init_module 128
94#define __NR_delete_module 129
95#define __NR_get_kernel_syms 130
96#define __NR_quotactl 131
97#define __NR_getpgid 132
98#define __NR_fchdir 133
99#define __NR_bdflush 134
100#define __NR_sysfs 135
101#define __NR_personality 136
102#define __NR_afs_syscall 137
103#define __NR_getdents 141
104#define __NR_select 142
105#define __NR_flock 143
106#define __NR_msync 144
107#define __NR_readv 145
108#define __NR_writev 146
109#define __NR_getsid 147
110#define __NR_fdatasync 148
111#define __NR__sysctl 149
112#define __NR_mlock 150
113#define __NR_munlock 151
114#define __NR_mlockall 152
115#define __NR_munlockall 153
116#define __NR_sched_setparam 154
117#define __NR_sched_getparam 155
118#define __NR_sched_setscheduler 156
119#define __NR_sched_getscheduler 157
120#define __NR_sched_yield 158
121#define __NR_sched_get_priority_max 159
122#define __NR_sched_get_priority_min 160
123#define __NR_sched_rr_get_interval 161
124#define __NR_nanosleep 162
125#define __NR_mremap 163
126#define __NR_query_module 167
127#define __NR_poll 168
128#define __NR_nfsservctl 169
129#define __NR_prctl 172
130#define __NR_rt_sigreturn 173
131#define __NR_rt_sigaction 174
132#define __NR_rt_sigprocmask 175
133#define __NR_rt_sigpending 176
134#define __NR_rt_sigtimedwait 177
135#define __NR_rt_sigqueueinfo 178
136#define __NR_rt_sigsuspend 179
137#define __NR_pread64 180
138#define __NR_pwrite64 181
139#define __NR_getcwd 183
140#define __NR_capget 184
141#define __NR_capset 185
142#define __NR_sigaltstack 186
143#define __NR_sendfile 187
144#define __NR_getpmsg 188
145#define __NR_putpmsg 189
146#define __NR_vfork 190
147#define __NR_getrlimit 191
148#define __NR_lchown 198
149#define __NR_getuid 199
150#define __NR_getgid 200
151#define __NR_geteuid 201
152#define __NR_getegid 202
153#define __NR_setreuid 203
154#define __NR_setregid 204
155#define __NR_getgroups 205
156#define __NR_setgroups 206
157#define __NR_fchown 207
158#define __NR_setresuid 208
159#define __NR_getresuid 209
160#define __NR_setresgid 210
161#define __NR_getresgid 211
162#define __NR_chown 212
163#define __NR_setuid 213
164#define __NR_setgid 214
165#define __NR_setfsuid 215
166#define __NR_setfsgid 216
167#define __NR_pivot_root 217
168#define __NR_mincore 218
169#define __NR_madvise 219
170#define __NR_getdents64 220
171#define __NR_readahead 222
172#define __NR_setxattr 224
173#define __NR_lsetxattr 225
174#define __NR_fsetxattr 226
175#define __NR_getxattr 227
176#define __NR_lgetxattr 228
177#define __NR_fgetxattr 229
178#define __NR_listxattr 230
179#define __NR_llistxattr 231
180#define __NR_flistxattr 232
181#define __NR_removexattr 233
182#define __NR_lremovexattr 234
183#define __NR_fremovexattr 235
184#define __NR_gettid 236
185#define __NR_tkill 237
186#define __NR_futex 238
187#define __NR_sched_setaffinity 239
188#define __NR_sched_getaffinity 240
189#define __NR_tgkill 241
190#define __NR_io_setup 243
191#define __NR_io_destroy 244
192#define __NR_io_getevents 245
193#define __NR_io_submit 246
194#define __NR_io_cancel 247
195#define __NR_exit_group 248
196#define __NR_epoll_create 249
197#define __NR_epoll_ctl 250
198#define __NR_epoll_wait 251
199#define __NR_set_tid_address 252
200#define __NR_fadvise64 253
201#define __NR_timer_create 254
202#define __NR_timer_settime 255
203#define __NR_timer_gettime 256
204#define __NR_timer_getoverrun 257
205#define __NR_timer_delete 258
206#define __NR_clock_settime 259
207#define __NR_clock_gettime 260
208#define __NR_clock_getres 261
209#define __NR_clock_nanosleep 262
210#define __NR_statfs64 265
211#define __NR_fstatfs64 266
212#define __NR_remap_file_pages 267
213#define __NR_mbind 268
214#define __NR_get_mempolicy 269
215#define __NR_set_mempolicy 270
216#define __NR_mq_open 271
217#define __NR_mq_unlink 272
218#define __NR_mq_timedsend 273
219#define __NR_mq_timedreceive 274
220#define __NR_mq_notify 275
221#define __NR_mq_getsetattr 276
222#define __NR_kexec_load 277
223#define __NR_add_key 278
224#define __NR_request_key 279
225#define __NR_keyctl 280
226#define __NR_waitid 281
227#define __NR_ioprio_set 282
228#define __NR_ioprio_get 283
229#define __NR_inotify_init 284
230#define __NR_inotify_add_watch 285
231#define __NR_inotify_rm_watch 286
232#define __NR_migrate_pages 287
233#define __NR_openat 288
234#define __NR_mkdirat 289
235#define __NR_mknodat 290
236#define __NR_fchownat 291
237#define __NR_futimesat 292
238#define __NR_newfstatat 293
239#define __NR_unlinkat 294
240#define __NR_renameat 295
241#define __NR_linkat 296
242#define __NR_symlinkat 297
243#define __NR_readlinkat 298
244#define __NR_fchmodat 299
245#define __NR_faccessat 300
246#define __NR_pselect6 301
247#define __NR_ppoll 302
248#define __NR_unshare 303
249#define __NR_set_robust_list 304
250#define __NR_get_robust_list 305
251#define __NR_splice 306
252#define __NR_sync_file_range 307
253#define __NR_tee 308
254#define __NR_vmsplice 309
255#define __NR_move_pages 310
256#define __NR_getcpu 311
257#define __NR_epoll_pwait 312
258#define __NR_utimes 313
259#define __NR_fallocate 314
260#define __NR_utimensat 315
261#define __NR_signalfd 316
262#define __NR_timerfd 317
263#define __NR_eventfd 318
264#define __NR_timerfd_create 319
265#define __NR_timerfd_settime 320
266#define __NR_timerfd_gettime 321
267#define __NR_signalfd4 322
268#define __NR_eventfd2 323
269#define __NR_inotify_init1 324
270#define __NR_pipe2 325
271#define __NR_dup3 326
272#define __NR_epoll_create1 327
273#define __NR_preadv 328
274#define __NR_pwritev 329
275#define __NR_rt_tgsigqueueinfo 330
276#define __NR_perf_event_open 331
277#define __NR_fanotify_init 332
278#define __NR_fanotify_mark 333
279#define __NR_prlimit64 334
280#define __NR_name_to_handle_at 335
281#define __NR_open_by_handle_at 336
282#define __NR_clock_adjtime 337
283#define __NR_syncfs 338
284#define __NR_setns 339
285#define __NR_process_vm_readv 340
286#define __NR_process_vm_writev 341
287#define __NR_s390_runtime_instr 342
288#define __NR_kcmp 343
289#define __NR_finit_module 344
290#define __NR_sched_setattr 345
291#define __NR_sched_getattr 346
292#define __NR_renameat2 347
293#define __NR_seccomp 348
294#define __NR_getrandom 349
295#define __NR_memfd_create 350
296#define __NR_bpf 351
297#define __NR_s390_pci_mmio_write 352
298#define __NR_s390_pci_mmio_read 353
299#define __NR_execveat 354
300#define __NR_userfaultfd 355
301#define __NR_membarrier 356
302#define __NR_recvmmsg 357
303#define __NR_sendmmsg 358
304#define __NR_socket 359
305#define __NR_socketpair 360
306#define __NR_bind 361
307#define __NR_connect 362
308#define __NR_listen 363
309#define __NR_accept4 364
310#define __NR_getsockopt 365
311#define __NR_setsockopt 366
312#define __NR_getsockname 367
313#define __NR_getpeername 368
314#define __NR_sendto 369
315#define __NR_sendmsg 370
316#define __NR_recvfrom 371
317#define __NR_recvmsg 372
318#define __NR_shutdown 373
319#define __NR_mlock2 374
320#define __NR_copy_file_range 375
321#define __NR_preadv2 376
322#define __NR_pwritev2 377
323#define __NR_s390_guarded_storage 378
324#define __NR_statx 379
325#define __NR_s390_sthyi 380
326#define __NR_kexec_file_load 381
327#define __NR_io_pgetevents 382
328#define __NR_rseq 383
329#define __NR_pkey_mprotect 384
330#define __NR_pkey_alloc 385
331#define __NR_pkey_free 386
332#define __NR_semtimedop 392
333#define __NR_semget 393
334#define __NR_semctl 394
335#define __NR_shmget 395
336#define __NR_shmctl 396
337#define __NR_shmat 397
338#define __NR_shmdt 398
339#define __NR_msgget 399
340#define __NR_msgsnd 400
341#define __NR_msgrcv 401
342#define __NR_msgctl 402
343#define __NR_pidfd_send_signal 424
344#define __NR_io_uring_setup 425
345#define __NR_io_uring_enter 426
346#define __NR_io_uring_register 427
347
348#define SYS_exit 1
349#define SYS_fork 2
350#define SYS_read 3
351#define SYS_write 4
352#define SYS_open 5
353#define SYS_close 6
354#define SYS_restart_syscall 7
355#define SYS_creat 8
356#define SYS_link 9
357#define SYS_unlink 10
358#define SYS_execve 11
359#define SYS_chdir 12
360#define SYS_mknod 14
361#define SYS_chmod 15
362#define SYS_lseek 19
363#define SYS_getpid 20
364#define SYS_mount 21
365#define SYS_umount 22
366#define SYS_ptrace 26
367#define SYS_alarm 27
368#define SYS_pause 29
369#define SYS_utime 30
370#define SYS_access 33
371#define SYS_nice 34
372#define SYS_sync 36
373#define SYS_kill 37
374#define SYS_rename 38
375#define SYS_mkdir 39
376#define SYS_rmdir 40
377#define SYS_dup 41
378#define SYS_pipe 42
379#define SYS_times 43
380#define SYS_brk 45
381#define SYS_signal 48
382#define SYS_acct 51
383#define SYS_umount2 52
384#define SYS_ioctl 54
385#define SYS_fcntl 55
386#define SYS_setpgid 57
387#define SYS_umask 60
388#define SYS_chroot 61
389#define SYS_ustat 62
390#define SYS_dup2 63
391#define SYS_getppid 64
392#define SYS_getpgrp 65
393#define SYS_setsid 66
394#define SYS_sigaction 67
395#define SYS_sigsuspend 72
396#define SYS_sigpending 73
397#define SYS_sethostname 74
398#define SYS_setrlimit 75
399#define SYS_getrusage 77
400#define SYS_gettimeofday 78
401#define SYS_settimeofday 79
402#define SYS_symlink 83
403#define SYS_readlink 85
404#define SYS_uselib 86
405#define SYS_swapon 87
406#define SYS_reboot 88
407#define SYS_readdir 89
408#define SYS_mmap 90
409#define SYS_munmap 91
410#define SYS_truncate 92
411#define SYS_ftruncate 93
412#define SYS_fchmod 94
413#define SYS_getpriority 96
414#define SYS_setpriority 97
415#define SYS_statfs 99
416#define SYS_fstatfs 100
417#define SYS_socketcall 102
418#define SYS_syslog 103
419#define SYS_setitimer 104
420#define SYS_getitimer 105
421#define SYS_stat 106
422#define SYS_lstat 107
423#define SYS_fstat 108
424#define SYS_lookup_dcookie 110
425#define SYS_vhangup 111
426#define SYS_idle 112
427#define SYS_wait4 114
428#define SYS_swapoff 115
429#define SYS_sysinfo 116
430#define SYS_ipc 117
431#define SYS_fsync 118
432#define SYS_sigreturn 119
433#define SYS_clone 120
434#define SYS_setdomainname 121
435#define SYS_uname 122
436#define SYS_adjtimex 124
437#define SYS_mprotect 125
438#define SYS_sigprocmask 126
439#define SYS_create_module 127
440#define SYS_init_module 128
441#define SYS_delete_module 129
442#define SYS_get_kernel_syms 130
443#define SYS_quotactl 131
444#define SYS_getpgid 132
445#define SYS_fchdir 133
446#define SYS_bdflush 134
447#define SYS_sysfs 135
448#define SYS_personality 136
449#define SYS_afs_syscall 137
450#define SYS_getdents 141
451#define SYS_select 142
452#define SYS_flock 143
453#define SYS_msync 144
454#define SYS_readv 145
455#define SYS_writev 146
456#define SYS_getsid 147
457#define SYS_fdatasync 148
458#define SYS__sysctl 149
459#define SYS_mlock 150
460#define SYS_munlock 151
461#define SYS_mlockall 152
462#define SYS_munlockall 153
463#define SYS_sched_setparam 154
464#define SYS_sched_getparam 155
465#define SYS_sched_setscheduler 156
466#define SYS_sched_getscheduler 157
467#define SYS_sched_yield 158
468#define SYS_sched_get_priority_max 159
469#define SYS_sched_get_priority_min 160
470#define SYS_sched_rr_get_interval 161
471#define SYS_nanosleep 162
472#define SYS_mremap 163
473#define SYS_query_module 167
474#define SYS_poll 168
475#define SYS_nfsservctl 169
476#define SYS_prctl 172
477#define SYS_rt_sigreturn 173
478#define SYS_rt_sigaction 174
479#define SYS_rt_sigprocmask 175
480#define SYS_rt_sigpending 176
481#define SYS_rt_sigtimedwait 177
482#define SYS_rt_sigqueueinfo 178
483#define SYS_rt_sigsuspend 179
484#define SYS_pread64 180
485#define SYS_pwrite64 181
486#define SYS_getcwd 183
487#define SYS_capget 184
488#define SYS_capset 185
489#define SYS_sigaltstack 186
490#define SYS_sendfile 187
491#define SYS_getpmsg 188
492#define SYS_putpmsg 189
493#define SYS_vfork 190
494#define SYS_getrlimit 191
495#define SYS_lchown 198
496#define SYS_getuid 199
497#define SYS_getgid 200
498#define SYS_geteuid 201
499#define SYS_getegid 202
500#define SYS_setreuid 203
501#define SYS_setregid 204
502#define SYS_getgroups 205
503#define SYS_setgroups 206
504#define SYS_fchown 207
505#define SYS_setresuid 208
506#define SYS_getresuid 209
507#define SYS_setresgid 210
508#define SYS_getresgid 211
509#define SYS_chown 212
510#define SYS_setuid 213
511#define SYS_setgid 214
512#define SYS_setfsuid 215
513#define SYS_setfsgid 216
514#define SYS_pivot_root 217
515#define SYS_mincore 218
516#define SYS_madvise 219
517#define SYS_getdents64 220
518#define SYS_readahead 222
519#define SYS_setxattr 224
520#define SYS_lsetxattr 225
521#define SYS_fsetxattr 226
522#define SYS_getxattr 227
523#define SYS_lgetxattr 228
524#define SYS_fgetxattr 229
525#define SYS_listxattr 230
526#define SYS_llistxattr 231
527#define SYS_flistxattr 232
528#define SYS_removexattr 233
529#define SYS_lremovexattr 234
530#define SYS_fremovexattr 235
531#define SYS_gettid 236
532#define SYS_tkill 237
533#define SYS_futex 238
534#define SYS_sched_setaffinity 239
535#define SYS_sched_getaffinity 240
536#define SYS_tgkill 241
537#define SYS_io_setup 243
538#define SYS_io_destroy 244
539#define SYS_io_getevents 245
540#define SYS_io_submit 246
541#define SYS_io_cancel 247
542#define SYS_exit_group 248
543#define SYS_epoll_create 249
544#define SYS_epoll_ctl 250
545#define SYS_epoll_wait 251
546#define SYS_set_tid_address 252
547#define SYS_fadvise64 253
548#define SYS_timer_create 254
549#define SYS_timer_settime 255
550#define SYS_timer_gettime 256
551#define SYS_timer_getoverrun 257
552#define SYS_timer_delete 258
553#define SYS_clock_settime 259
554#define SYS_clock_gettime 260
555#define SYS_clock_getres 261
556#define SYS_clock_nanosleep 262
557#define SYS_statfs64 265
558#define SYS_fstatfs64 266
559#define SYS_remap_file_pages 267
560#define SYS_mbind 268
561#define SYS_get_mempolicy 269
562#define SYS_set_mempolicy 270
563#define SYS_mq_open 271
564#define SYS_mq_unlink 272
565#define SYS_mq_timedsend 273
566#define SYS_mq_timedreceive 274
567#define SYS_mq_notify 275
568#define SYS_mq_getsetattr 276
569#define SYS_kexec_load 277
570#define SYS_add_key 278
571#define SYS_request_key 279
572#define SYS_keyctl 280
573#define SYS_waitid 281
574#define SYS_ioprio_set 282
575#define SYS_ioprio_get 283
576#define SYS_inotify_init 284
577#define SYS_inotify_add_watch 285
578#define SYS_inotify_rm_watch 286
579#define SYS_migrate_pages 287
580#define SYS_openat 288
581#define SYS_mkdirat 289
582#define SYS_mknodat 290
583#define SYS_fchownat 291
584#define SYS_futimesat 292
585#define SYS_newfstatat 293
586#define SYS_unlinkat 294
587#define SYS_renameat 295
588#define SYS_linkat 296
589#define SYS_symlinkat 297
590#define SYS_readlinkat 298
591#define SYS_fchmodat 299
592#define SYS_faccessat 300
593#define SYS_pselect6 301
594#define SYS_ppoll 302
595#define SYS_unshare 303
596#define SYS_set_robust_list 304
597#define SYS_get_robust_list 305
598#define SYS_splice 306
599#define SYS_sync_file_range 307
600#define SYS_tee 308
601#define SYS_vmsplice 309
602#define SYS_move_pages 310
603#define SYS_getcpu 311
604#define SYS_epoll_pwait 312
605#define SYS_utimes 313
606#define SYS_fallocate 314
607#define SYS_utimensat 315
608#define SYS_signalfd 316
609#define SYS_timerfd 317
610#define SYS_eventfd 318
611#define SYS_timerfd_create 319
612#define SYS_timerfd_settime 320
613#define SYS_timerfd_gettime 321
614#define SYS_signalfd4 322
615#define SYS_eventfd2 323
616#define SYS_inotify_init1 324
617#define SYS_pipe2 325
618#define SYS_dup3 326
619#define SYS_epoll_create1 327
620#define SYS_preadv 328
621#define SYS_pwritev 329
622#define SYS_rt_tgsigqueueinfo 330
623#define SYS_perf_event_open 331
624#define SYS_fanotify_init 332
625#define SYS_fanotify_mark 333
626#define SYS_prlimit64 334
627#define SYS_name_to_handle_at 335
628#define SYS_open_by_handle_at 336
629#define SYS_clock_adjtime 337
630#define SYS_syncfs 338
631#define SYS_setns 339
632#define SYS_process_vm_readv 340
633#define SYS_process_vm_writev 341
634#define SYS_s390_runtime_instr 342
635#define SYS_kcmp 343
636#define SYS_finit_module 344
637#define SYS_sched_setattr 345
638#define SYS_sched_getattr 346
639#define SYS_renameat2 347
640#define SYS_seccomp 348
641#define SYS_getrandom 349
642#define SYS_memfd_create 350
643#define SYS_bpf 351
644#define SYS_s390_pci_mmio_write 352
645#define SYS_s390_pci_mmio_read 353
646#define SYS_execveat 354
647#define SYS_userfaultfd 355
648#define SYS_membarrier 356
649#define SYS_recvmmsg 357
650#define SYS_sendmmsg 358
651#define SYS_socket 359
652#define SYS_socketpair 360
653#define SYS_bind 361
654#define SYS_connect 362
655#define SYS_listen 363
656#define SYS_accept4 364
657#define SYS_getsockopt 365
658#define SYS_setsockopt 366
659#define SYS_getsockname 367
660#define SYS_getpeername 368
661#define SYS_sendto 369
662#define SYS_sendmsg 370
663#define SYS_recvfrom 371
664#define SYS_recvmsg 372
665#define SYS_shutdown 373
666#define SYS_mlock2 374
667#define SYS_copy_file_range 375
668#define SYS_preadv2 376
669#define SYS_pwritev2 377
670#define SYS_s390_guarded_storage 378
671#define SYS_statx 379
672#define SYS_s390_sthyi 380
673#define SYS_kexec_file_load 381
674#define SYS_io_pgetevents 382
675#define SYS_rseq 383
676#define SYS_pkey_mprotect 384
677#define SYS_pkey_alloc 385
678#define SYS_pkey_free 386
679#define SYS_semtimedop 392
680#define SYS_semget 393
681#define SYS_semctl 394
682#define SYS_shmget 395
683#define SYS_shmctl 396
684#define SYS_shmat 397
685#define SYS_shmdt 398
686#define SYS_msgget 399
687#define SYS_msgsnd 400
688#define SYS_msgrcv 401
689#define SYS_msgctl 402
690#define SYS_pidfd_send_signal 424
691#define SYS_io_uring_setup 425
692#define SYS_io_uring_enter 426
693#define SYS_io_uring_register 427
\ No newline at end of file
lib/libc/include/x86_64-linux-musl/bits/alltypes.h created+403
......@@ -0,0 +1,403 @@
1#define _Addr long
2#define _Int64 long
3#define _Reg long
4
5#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
6typedef __builtin_va_list va_list;
7#define __DEFINED_va_list
8#endif
9
10#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
11typedef __builtin_va_list __isoc_va_list;
12#define __DEFINED___isoc_va_list
13#endif
14
15
16#ifndef __cplusplus
17#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
18typedef int wchar_t;
19#define __DEFINED_wchar_t
20#endif
21
22#endif
23
24#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 2
25#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
26typedef long double float_t;
27#define __DEFINED_float_t
28#endif
29
30#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
31typedef long double double_t;
32#define __DEFINED_double_t
33#endif
34
35#else
36#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
37typedef float float_t;
38#define __DEFINED_float_t
39#endif
40
41#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
42typedef double double_t;
43#define __DEFINED_double_t
44#endif
45
46#endif
47
48#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
49typedef struct { long long __ll; long double __ld; } max_align_t;
50#define __DEFINED_max_align_t
51#endif
52
53
54#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
55typedef long time_t;
56#define __DEFINED_time_t
57#endif
58
59#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
60typedef long suseconds_t;
61#define __DEFINED_suseconds_t
62#endif
63
64
65#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
66typedef struct { union { int __i[14]; volatile int __vi[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
67#define __DEFINED_pthread_attr_t
68#endif
69
70#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
71typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } pthread_mutex_t;
72#define __DEFINED_pthread_mutex_t
73#endif
74
75#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
76typedef struct { union { int __i[10]; volatile int __vi[10]; volatile void *volatile __p[5]; } __u; } mtx_t;
77#define __DEFINED_mtx_t
78#endif
79
80#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
81typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } pthread_cond_t;
82#define __DEFINED_pthread_cond_t
83#endif
84
85#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
86typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[6]; } __u; } cnd_t;
87#define __DEFINED_cnd_t
88#endif
89
90#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
91typedef struct { union { int __i[14]; volatile int __vi[14]; void *__p[7]; } __u; } pthread_rwlock_t;
92#define __DEFINED_pthread_rwlock_t
93#endif
94
95#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
96typedef struct { union { int __i[8]; volatile int __vi[8]; void *__p[4]; } __u; } pthread_barrier_t;
97#define __DEFINED_pthread_barrier_t
98#endif
99
100#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
101typedef unsigned _Addr size_t;
102#define __DEFINED_size_t
103#endif
104
105#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
106typedef unsigned _Addr uintptr_t;
107#define __DEFINED_uintptr_t
108#endif
109
110#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
111typedef _Addr ptrdiff_t;
112#define __DEFINED_ptrdiff_t
113#endif
114
115#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
116typedef _Addr ssize_t;
117#define __DEFINED_ssize_t
118#endif
119
120#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
121typedef _Addr intptr_t;
122#define __DEFINED_intptr_t
123#endif
124
125#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
126typedef _Addr regoff_t;
127#define __DEFINED_regoff_t
128#endif
129
130#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
131typedef _Reg register_t;
132#define __DEFINED_register_t
133#endif
134
135
136#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
137typedef signed char int8_t;
138#define __DEFINED_int8_t
139#endif
140
141#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
142typedef signed short int16_t;
143#define __DEFINED_int16_t
144#endif
145
146#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
147typedef signed int int32_t;
148#define __DEFINED_int32_t
149#endif
150
151#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
152typedef signed _Int64 int64_t;
153#define __DEFINED_int64_t
154#endif
155
156#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
157typedef signed _Int64 intmax_t;
158#define __DEFINED_intmax_t
159#endif
160
161#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
162typedef unsigned char uint8_t;
163#define __DEFINED_uint8_t
164#endif
165
166#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
167typedef unsigned short uint16_t;
168#define __DEFINED_uint16_t
169#endif
170
171#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
172typedef unsigned int uint32_t;
173#define __DEFINED_uint32_t
174#endif
175
176#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
177typedef unsigned _Int64 uint64_t;
178#define __DEFINED_uint64_t
179#endif
180
181#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
182typedef unsigned _Int64 u_int64_t;
183#define __DEFINED_u_int64_t
184#endif
185
186#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
187typedef unsigned _Int64 uintmax_t;
188#define __DEFINED_uintmax_t
189#endif
190
191
192#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
193typedef unsigned mode_t;
194#define __DEFINED_mode_t
195#endif
196
197#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
198typedef unsigned _Reg nlink_t;
199#define __DEFINED_nlink_t
200#endif
201
202#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
203typedef _Int64 off_t;
204#define __DEFINED_off_t
205#endif
206
207#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
208typedef unsigned _Int64 ino_t;
209#define __DEFINED_ino_t
210#endif
211
212#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
213typedef unsigned _Int64 dev_t;
214#define __DEFINED_dev_t
215#endif
216
217#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
218typedef long blksize_t;
219#define __DEFINED_blksize_t
220#endif
221
222#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
223typedef _Int64 blkcnt_t;
224#define __DEFINED_blkcnt_t
225#endif
226
227#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
228typedef unsigned _Int64 fsblkcnt_t;
229#define __DEFINED_fsblkcnt_t
230#endif
231
232#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
233typedef unsigned _Int64 fsfilcnt_t;
234#define __DEFINED_fsfilcnt_t
235#endif
236
237
238#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
239typedef unsigned wint_t;
240#define __DEFINED_wint_t
241#endif
242
243#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
244typedef unsigned long wctype_t;
245#define __DEFINED_wctype_t
246#endif
247
248
249#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
250typedef void * timer_t;
251#define __DEFINED_timer_t
252#endif
253
254#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
255typedef int clockid_t;
256#define __DEFINED_clockid_t
257#endif
258
259#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
260typedef long clock_t;
261#define __DEFINED_clock_t
262#endif
263
264#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
265struct timeval { time_t tv_sec; suseconds_t tv_usec; };
266#define __DEFINED_struct_timeval
267#endif
268
269#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
270struct timespec { time_t tv_sec; long tv_nsec; };
271#define __DEFINED_struct_timespec
272#endif
273
274
275#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
276typedef int pid_t;
277#define __DEFINED_pid_t
278#endif
279
280#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
281typedef unsigned id_t;
282#define __DEFINED_id_t
283#endif
284
285#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
286typedef unsigned uid_t;
287#define __DEFINED_uid_t
288#endif
289
290#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
291typedef unsigned gid_t;
292#define __DEFINED_gid_t
293#endif
294
295#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
296typedef int key_t;
297#define __DEFINED_key_t
298#endif
299
300#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
301typedef unsigned useconds_t;
302#define __DEFINED_useconds_t
303#endif
304
305
306#ifdef __cplusplus
307#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
308typedef unsigned long pthread_t;
309#define __DEFINED_pthread_t
310#endif
311
312#else
313#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
314typedef struct __pthread * pthread_t;
315#define __DEFINED_pthread_t
316#endif
317
318#endif
319#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
320typedef int pthread_once_t;
321#define __DEFINED_pthread_once_t
322#endif
323
324#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
325typedef unsigned pthread_key_t;
326#define __DEFINED_pthread_key_t
327#endif
328
329#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
330typedef int pthread_spinlock_t;
331#define __DEFINED_pthread_spinlock_t
332#endif
333
334#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
335typedef struct { unsigned __attr; } pthread_mutexattr_t;
336#define __DEFINED_pthread_mutexattr_t
337#endif
338
339#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
340typedef struct { unsigned __attr; } pthread_condattr_t;
341#define __DEFINED_pthread_condattr_t
342#endif
343
344#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
345typedef struct { unsigned __attr; } pthread_barrierattr_t;
346#define __DEFINED_pthread_barrierattr_t
347#endif
348
349#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
350typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
351#define __DEFINED_pthread_rwlockattr_t
352#endif
353
354
355#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
356struct _IO_FILE { char __x; };
357#define __DEFINED_struct__IO_FILE
358#endif
359
360#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
361typedef struct _IO_FILE FILE;
362#define __DEFINED_FILE
363#endif
364
365
366#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
367typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
368#define __DEFINED_mbstate_t
369#endif
370
371
372#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
373typedef struct __locale_struct * locale_t;
374#define __DEFINED_locale_t
375#endif
376
377
378#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
379typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
380#define __DEFINED_sigset_t
381#endif
382
383
384#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
385struct iovec { void *iov_base; size_t iov_len; };
386#define __DEFINED_struct_iovec
387#endif
388
389
390#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
391typedef unsigned socklen_t;
392#define __DEFINED_socklen_t
393#endif
394
395#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
396typedef unsigned short sa_family_t;
397#define __DEFINED_sa_family_t
398#endif
399
400
401#undef _Addr
402#undef _Int64
403#undef _Reg
\ No newline at end of file
lib/libc/include/x86_64-linux-musl/bits/syscall.h created+679
......@@ -0,0 +1,679 @@
1#define __NR_read 0
2#define __NR_write 1
3#define __NR_open 2
4#define __NR_close 3
5#define __NR_stat 4
6#define __NR_fstat 5
7#define __NR_lstat 6
8#define __NR_poll 7
9#define __NR_lseek 8
10#define __NR_mmap 9
11#define __NR_mprotect 10
12#define __NR_munmap 11
13#define __NR_brk 12
14#define __NR_rt_sigaction 13
15#define __NR_rt_sigprocmask 14
16#define __NR_rt_sigreturn 15
17#define __NR_ioctl 16
18#define __NR_pread64 17
19#define __NR_pwrite64 18
20#define __NR_readv 19
21#define __NR_writev 20
22#define __NR_access 21
23#define __NR_pipe 22
24#define __NR_select 23
25#define __NR_sched_yield 24
26#define __NR_mremap 25
27#define __NR_msync 26
28#define __NR_mincore 27
29#define __NR_madvise 28
30#define __NR_shmget 29
31#define __NR_shmat 30
32#define __NR_shmctl 31
33#define __NR_dup 32
34#define __NR_dup2 33
35#define __NR_pause 34
36#define __NR_nanosleep 35
37#define __NR_getitimer 36
38#define __NR_alarm 37
39#define __NR_setitimer 38
40#define __NR_getpid 39
41#define __NR_sendfile 40
42#define __NR_socket 41
43#define __NR_connect 42
44#define __NR_accept 43
45#define __NR_sendto 44
46#define __NR_recvfrom 45
47#define __NR_sendmsg 46
48#define __NR_recvmsg 47
49#define __NR_shutdown 48
50#define __NR_bind 49
51#define __NR_listen 50
52#define __NR_getsockname 51
53#define __NR_getpeername 52
54#define __NR_socketpair 53
55#define __NR_setsockopt 54
56#define __NR_getsockopt 55
57#define __NR_clone 56
58#define __NR_fork 57
59#define __NR_vfork 58
60#define __NR_execve 59
61#define __NR_exit 60
62#define __NR_wait4 61
63#define __NR_kill 62
64#define __NR_uname 63
65#define __NR_semget 64
66#define __NR_semop 65
67#define __NR_semctl 66
68#define __NR_shmdt 67
69#define __NR_msgget 68
70#define __NR_msgsnd 69
71#define __NR_msgrcv 70
72#define __NR_msgctl 71
73#define __NR_fcntl 72
74#define __NR_flock 73
75#define __NR_fsync 74
76#define __NR_fdatasync 75
77#define __NR_truncate 76
78#define __NR_ftruncate 77
79#define __NR_getdents 78
80#define __NR_getcwd 79
81#define __NR_chdir 80
82#define __NR_fchdir 81
83#define __NR_rename 82
84#define __NR_mkdir 83
85#define __NR_rmdir 84
86#define __NR_creat 85
87#define __NR_link 86
88#define __NR_unlink 87
89#define __NR_symlink 88
90#define __NR_readlink 89
91#define __NR_chmod 90
92#define __NR_fchmod 91
93#define __NR_chown 92
94#define __NR_fchown 93
95#define __NR_lchown 94
96#define __NR_umask 95
97#define __NR_gettimeofday 96
98#define __NR_getrlimit 97
99#define __NR_getrusage 98
100#define __NR_sysinfo 99
101#define __NR_times 100
102#define __NR_ptrace 101
103#define __NR_getuid 102
104#define __NR_syslog 103
105#define __NR_getgid 104
106#define __NR_setuid 105
107#define __NR_setgid 106
108#define __NR_geteuid 107
109#define __NR_getegid 108
110#define __NR_setpgid 109
111#define __NR_getppid 110
112#define __NR_getpgrp 111
113#define __NR_setsid 112
114#define __NR_setreuid 113
115#define __NR_setregid 114
116#define __NR_getgroups 115
117#define __NR_setgroups 116
118#define __NR_setresuid 117
119#define __NR_getresuid 118
120#define __NR_setresgid 119
121#define __NR_getresgid 120
122#define __NR_getpgid 121
123#define __NR_setfsuid 122
124#define __NR_setfsgid 123
125#define __NR_getsid 124
126#define __NR_capget 125
127#define __NR_capset 126
128#define __NR_rt_sigpending 127
129#define __NR_rt_sigtimedwait 128
130#define __NR_rt_sigqueueinfo 129
131#define __NR_rt_sigsuspend 130
132#define __NR_sigaltstack 131
133#define __NR_utime 132
134#define __NR_mknod 133
135#define __NR_uselib 134
136#define __NR_personality 135
137#define __NR_ustat 136
138#define __NR_statfs 137
139#define __NR_fstatfs 138
140#define __NR_sysfs 139
141#define __NR_getpriority 140
142#define __NR_setpriority 141
143#define __NR_sched_setparam 142
144#define __NR_sched_getparam 143
145#define __NR_sched_setscheduler 144
146#define __NR_sched_getscheduler 145
147#define __NR_sched_get_priority_max 146
148#define __NR_sched_get_priority_min 147
149#define __NR_sched_rr_get_interval 148
150#define __NR_mlock 149
151#define __NR_munlock 150
152#define __NR_mlockall 151
153#define __NR_munlockall 152
154#define __NR_vhangup 153
155#define __NR_modify_ldt 154
156#define __NR_pivot_root 155
157#define __NR__sysctl 156
158#define __NR_prctl 157
159#define __NR_arch_prctl 158
160#define __NR_adjtimex 159
161#define __NR_setrlimit 160
162#define __NR_chroot 161
163#define __NR_sync 162
164#define __NR_acct 163
165#define __NR_settimeofday 164
166#define __NR_mount 165
167#define __NR_umount2 166
168#define __NR_swapon 167
169#define __NR_swapoff 168
170#define __NR_reboot 169
171#define __NR_sethostname 170
172#define __NR_setdomainname 171
173#define __NR_iopl 172
174#define __NR_ioperm 173
175#define __NR_create_module 174
176#define __NR_init_module 175
177#define __NR_delete_module 176
178#define __NR_get_kernel_syms 177
179#define __NR_query_module 178
180#define __NR_quotactl 179
181#define __NR_nfsservctl 180
182#define __NR_getpmsg 181
183#define __NR_putpmsg 182
184#define __NR_afs_syscall 183
185#define __NR_tuxcall 184
186#define __NR_security 185
187#define __NR_gettid 186
188#define __NR_readahead 187
189#define __NR_setxattr 188
190#define __NR_lsetxattr 189
191#define __NR_fsetxattr 190
192#define __NR_getxattr 191
193#define __NR_lgetxattr 192
194#define __NR_fgetxattr 193
195#define __NR_listxattr 194
196#define __NR_llistxattr 195
197#define __NR_flistxattr 196
198#define __NR_removexattr 197
199#define __NR_lremovexattr 198
200#define __NR_fremovexattr 199
201#define __NR_tkill 200
202#define __NR_time 201
203#define __NR_futex 202
204#define __NR_sched_setaffinity 203
205#define __NR_sched_getaffinity 204
206#define __NR_set_thread_area 205
207#define __NR_io_setup 206
208#define __NR_io_destroy 207
209#define __NR_io_getevents 208
210#define __NR_io_submit 209
211#define __NR_io_cancel 210
212#define __NR_get_thread_area 211
213#define __NR_lookup_dcookie 212
214#define __NR_epoll_create 213
215#define __NR_epoll_ctl_old 214
216#define __NR_epoll_wait_old 215
217#define __NR_remap_file_pages 216
218#define __NR_getdents64 217
219#define __NR_set_tid_address 218
220#define __NR_restart_syscall 219
221#define __NR_semtimedop 220
222#define __NR_fadvise64 221
223#define __NR_timer_create 222
224#define __NR_timer_settime 223
225#define __NR_timer_gettime 224
226#define __NR_timer_getoverrun 225
227#define __NR_timer_delete 226
228#define __NR_clock_settime 227
229#define __NR_clock_gettime 228
230#define __NR_clock_getres 229
231#define __NR_clock_nanosleep 230
232#define __NR_exit_group 231
233#define __NR_epoll_wait 232
234#define __NR_epoll_ctl 233
235#define __NR_tgkill 234
236#define __NR_utimes 235
237#define __NR_vserver 236
238#define __NR_mbind 237
239#define __NR_set_mempolicy 238
240#define __NR_get_mempolicy 239
241#define __NR_mq_open 240
242#define __NR_mq_unlink 241
243#define __NR_mq_timedsend 242
244#define __NR_mq_timedreceive 243
245#define __NR_mq_notify 244
246#define __NR_mq_getsetattr 245
247#define __NR_kexec_load 246
248#define __NR_waitid 247
249#define __NR_add_key 248
250#define __NR_request_key 249
251#define __NR_keyctl 250
252#define __NR_ioprio_set 251
253#define __NR_ioprio_get 252
254#define __NR_inotify_init 253
255#define __NR_inotify_add_watch 254
256#define __NR_inotify_rm_watch 255
257#define __NR_migrate_pages 256
258#define __NR_openat 257
259#define __NR_mkdirat 258
260#define __NR_mknodat 259
261#define __NR_fchownat 260
262#define __NR_futimesat 261
263#define __NR_newfstatat 262
264#define __NR_unlinkat 263
265#define __NR_renameat 264
266#define __NR_linkat 265
267#define __NR_symlinkat 266
268#define __NR_readlinkat 267
269#define __NR_fchmodat 268
270#define __NR_faccessat 269
271#define __NR_pselect6 270
272#define __NR_ppoll 271
273#define __NR_unshare 272
274#define __NR_set_robust_list 273
275#define __NR_get_robust_list 274
276#define __NR_splice 275
277#define __NR_tee 276
278#define __NR_sync_file_range 277
279#define __NR_vmsplice 278
280#define __NR_move_pages 279
281#define __NR_utimensat 280
282#define __NR_epoll_pwait 281
283#define __NR_signalfd 282
284#define __NR_timerfd_create 283
285#define __NR_eventfd 284
286#define __NR_fallocate 285
287#define __NR_timerfd_settime 286
288#define __NR_timerfd_gettime 287
289#define __NR_accept4 288
290#define __NR_signalfd4 289
291#define __NR_eventfd2 290
292#define __NR_epoll_create1 291
293#define __NR_dup3 292
294#define __NR_pipe2 293
295#define __NR_inotify_init1 294
296#define __NR_preadv 295
297#define __NR_pwritev 296
298#define __NR_rt_tgsigqueueinfo 297
299#define __NR_perf_event_open 298
300#define __NR_recvmmsg 299
301#define __NR_fanotify_init 300
302#define __NR_fanotify_mark 301
303#define __NR_prlimit64 302
304#define __NR_name_to_handle_at 303
305#define __NR_open_by_handle_at 304
306#define __NR_clock_adjtime 305
307#define __NR_syncfs 306
308#define __NR_sendmmsg 307
309#define __NR_setns 308
310#define __NR_getcpu 309
311#define __NR_process_vm_readv 310
312#define __NR_process_vm_writev 311
313#define __NR_kcmp 312
314#define __NR_finit_module 313
315#define __NR_sched_setattr 314
316#define __NR_sched_getattr 315
317#define __NR_renameat2 316
318#define __NR_seccomp 317
319#define __NR_getrandom 318
320#define __NR_memfd_create 319
321#define __NR_kexec_file_load 320
322#define __NR_bpf 321
323#define __NR_execveat 322
324#define __NR_userfaultfd 323
325#define __NR_membarrier 324
326#define __NR_mlock2 325
327#define __NR_copy_file_range 326
328#define __NR_preadv2 327
329#define __NR_pwritev2 328
330#define __NR_pkey_mprotect 329
331#define __NR_pkey_alloc 330
332#define __NR_pkey_free 331
333#define __NR_statx 332
334#define __NR_io_pgetevents 333
335#define __NR_rseq 334
336#define __NR_pidfd_send_signal 424
337#define __NR_io_uring_setup 425
338#define __NR_io_uring_enter 426
339#define __NR_io_uring_register 427
340
341#define SYS_read 0
342#define SYS_write 1
343#define SYS_open 2
344#define SYS_close 3
345#define SYS_stat 4
346#define SYS_fstat 5
347#define SYS_lstat 6
348#define SYS_poll 7
349#define SYS_lseek 8
350#define SYS_mmap 9
351#define SYS_mprotect 10
352#define SYS_munmap 11
353#define SYS_brk 12
354#define SYS_rt_sigaction 13
355#define SYS_rt_sigprocmask 14
356#define SYS_rt_sigreturn 15
357#define SYS_ioctl 16
358#define SYS_pread64 17
359#define SYS_pwrite64 18
360#define SYS_readv 19
361#define SYS_writev 20
362#define SYS_access 21
363#define SYS_pipe 22
364#define SYS_select 23
365#define SYS_sched_yield 24
366#define SYS_mremap 25
367#define SYS_msync 26
368#define SYS_mincore 27
369#define SYS_madvise 28
370#define SYS_shmget 29
371#define SYS_shmat 30
372#define SYS_shmctl 31
373#define SYS_dup 32
374#define SYS_dup2 33
375#define SYS_pause 34
376#define SYS_nanosleep 35
377#define SYS_getitimer 36
378#define SYS_alarm 37
379#define SYS_setitimer 38
380#define SYS_getpid 39
381#define SYS_sendfile 40
382#define SYS_socket 41
383#define SYS_connect 42
384#define SYS_accept 43
385#define SYS_sendto 44
386#define SYS_recvfrom 45
387#define SYS_sendmsg 46
388#define SYS_recvmsg 47
389#define SYS_shutdown 48
390#define SYS_bind 49
391#define SYS_listen 50
392#define SYS_getsockname 51
393#define SYS_getpeername 52
394#define SYS_socketpair 53
395#define SYS_setsockopt 54
396#define SYS_getsockopt 55
397#define SYS_clone 56
398#define SYS_fork 57
399#define SYS_vfork 58
400#define SYS_execve 59
401#define SYS_exit 60
402#define SYS_wait4 61
403#define SYS_kill 62
404#define SYS_uname 63
405#define SYS_semget 64
406#define SYS_semop 65
407#define SYS_semctl 66
408#define SYS_shmdt 67
409#define SYS_msgget 68
410#define SYS_msgsnd 69
411#define SYS_msgrcv 70
412#define SYS_msgctl 71
413#define SYS_fcntl 72
414#define SYS_flock 73
415#define SYS_fsync 74
416#define SYS_fdatasync 75
417#define SYS_truncate 76
418#define SYS_ftruncate 77
419#define SYS_getdents 78
420#define SYS_getcwd 79
421#define SYS_chdir 80
422#define SYS_fchdir 81
423#define SYS_rename 82
424#define SYS_mkdir 83
425#define SYS_rmdir 84
426#define SYS_creat 85
427#define SYS_link 86
428#define SYS_unlink 87
429#define SYS_symlink 88
430#define SYS_readlink 89
431#define SYS_chmod 90
432#define SYS_fchmod 91
433#define SYS_chown 92
434#define SYS_fchown 93
435#define SYS_lchown 94
436#define SYS_umask 95
437#define SYS_gettimeofday 96
438#define SYS_getrlimit 97
439#define SYS_getrusage 98
440#define SYS_sysinfo 99
441#define SYS_times 100
442#define SYS_ptrace 101
443#define SYS_getuid 102
444#define SYS_syslog 103
445#define SYS_getgid 104
446#define SYS_setuid 105
447#define SYS_setgid 106
448#define SYS_geteuid 107
449#define SYS_getegid 108
450#define SYS_setpgid 109
451#define SYS_getppid 110
452#define SYS_getpgrp 111
453#define SYS_setsid 112
454#define SYS_setreuid 113
455#define SYS_setregid 114
456#define SYS_getgroups 115
457#define SYS_setgroups 116
458#define SYS_setresuid 117
459#define SYS_getresuid 118
460#define SYS_setresgid 119
461#define SYS_getresgid 120
462#define SYS_getpgid 121
463#define SYS_setfsuid 122
464#define SYS_setfsgid 123
465#define SYS_getsid 124
466#define SYS_capget 125
467#define SYS_capset 126
468#define SYS_rt_sigpending 127
469#define SYS_rt_sigtimedwait 128
470#define SYS_rt_sigqueueinfo 129
471#define SYS_rt_sigsuspend 130
472#define SYS_sigaltstack 131
473#define SYS_utime 132
474#define SYS_mknod 133
475#define SYS_uselib 134
476#define SYS_personality 135
477#define SYS_ustat 136
478#define SYS_statfs 137
479#define SYS_fstatfs 138
480#define SYS_sysfs 139
481#define SYS_getpriority 140
482#define SYS_setpriority 141
483#define SYS_sched_setparam 142
484#define SYS_sched_getparam 143
485#define SYS_sched_setscheduler 144
486#define SYS_sched_getscheduler 145
487#define SYS_sched_get_priority_max 146
488#define SYS_sched_get_priority_min 147
489#define SYS_sched_rr_get_interval 148
490#define SYS_mlock 149
491#define SYS_munlock 150
492#define SYS_mlockall 151
493#define SYS_munlockall 152
494#define SYS_vhangup 153
495#define SYS_modify_ldt 154
496#define SYS_pivot_root 155
497#define SYS__sysctl 156
498#define SYS_prctl 157
499#define SYS_arch_prctl 158
500#define SYS_adjtimex 159
501#define SYS_setrlimit 160
502#define SYS_chroot 161
503#define SYS_sync 162
504#define SYS_acct 163
505#define SYS_settimeofday 164
506#define SYS_mount 165
507#define SYS_umount2 166
508#define SYS_swapon 167
509#define SYS_swapoff 168
510#define SYS_reboot 169
511#define SYS_sethostname 170
512#define SYS_setdomainname 171
513#define SYS_iopl 172
514#define SYS_ioperm 173
515#define SYS_create_module 174
516#define SYS_init_module 175
517#define SYS_delete_module 176
518#define SYS_get_kernel_syms 177
519#define SYS_query_module 178
520#define SYS_quotactl 179
521#define SYS_nfsservctl 180
522#define SYS_getpmsg 181
523#define SYS_putpmsg 182
524#define SYS_afs_syscall 183
525#define SYS_tuxcall 184
526#define SYS_security 185
527#define SYS_gettid 186
528#define SYS_readahead 187
529#define SYS_setxattr 188
530#define SYS_lsetxattr 189
531#define SYS_fsetxattr 190
532#define SYS_getxattr 191
533#define SYS_lgetxattr 192
534#define SYS_fgetxattr 193
535#define SYS_listxattr 194
536#define SYS_llistxattr 195
537#define SYS_flistxattr 196
538#define SYS_removexattr 197
539#define SYS_lremovexattr 198
540#define SYS_fremovexattr 199
541#define SYS_tkill 200
542#define SYS_time 201
543#define SYS_futex 202
544#define SYS_sched_setaffinity 203
545#define SYS_sched_getaffinity 204
546#define SYS_set_thread_area 205
547#define SYS_io_setup 206
548#define SYS_io_destroy 207
549#define SYS_io_getevents 208
550#define SYS_io_submit 209
551#define SYS_io_cancel 210
552#define SYS_get_thread_area 211
553#define SYS_lookup_dcookie 212
554#define SYS_epoll_create 213
555#define SYS_epoll_ctl_old 214
556#define SYS_epoll_wait_old 215
557#define SYS_remap_file_pages 216
558#define SYS_getdents64 217
559#define SYS_set_tid_address 218
560#define SYS_restart_syscall 219
561#define SYS_semtimedop 220
562#define SYS_fadvise64 221
563#define SYS_timer_create 222
564#define SYS_timer_settime 223
565#define SYS_timer_gettime 224
566#define SYS_timer_getoverrun 225
567#define SYS_timer_delete 226
568#define SYS_clock_settime 227
569#define SYS_clock_gettime 228
570#define SYS_clock_getres 229
571#define SYS_clock_nanosleep 230
572#define SYS_exit_group 231
573#define SYS_epoll_wait 232
574#define SYS_epoll_ctl 233
575#define SYS_tgkill 234
576#define SYS_utimes 235
577#define SYS_vserver 236
578#define SYS_mbind 237
579#define SYS_set_mempolicy 238
580#define SYS_get_mempolicy 239
581#define SYS_mq_open 240
582#define SYS_mq_unlink 241
583#define SYS_mq_timedsend 242
584#define SYS_mq_timedreceive 243
585#define SYS_mq_notify 244
586#define SYS_mq_getsetattr 245
587#define SYS_kexec_load 246
588#define SYS_waitid 247
589#define SYS_add_key 248
590#define SYS_request_key 249
591#define SYS_keyctl 250
592#define SYS_ioprio_set 251
593#define SYS_ioprio_get 252
594#define SYS_inotify_init 253
595#define SYS_inotify_add_watch 254
596#define SYS_inotify_rm_watch 255
597#define SYS_migrate_pages 256
598#define SYS_openat 257
599#define SYS_mkdirat 258
600#define SYS_mknodat 259
601#define SYS_fchownat 260
602#define SYS_futimesat 261
603#define SYS_newfstatat 262
604#define SYS_unlinkat 263
605#define SYS_renameat 264
606#define SYS_linkat 265
607#define SYS_symlinkat 266
608#define SYS_readlinkat 267
609#define SYS_fchmodat 268
610#define SYS_faccessat 269
611#define SYS_pselect6 270
612#define SYS_ppoll 271
613#define SYS_unshare 272
614#define SYS_set_robust_list 273
615#define SYS_get_robust_list 274
616#define SYS_splice 275
617#define SYS_tee 276
618#define SYS_sync_file_range 277
619#define SYS_vmsplice 278
620#define SYS_move_pages 279
621#define SYS_utimensat 280
622#define SYS_epoll_pwait 281
623#define SYS_signalfd 282
624#define SYS_timerfd_create 283
625#define SYS_eventfd 284
626#define SYS_fallocate 285
627#define SYS_timerfd_settime 286
628#define SYS_timerfd_gettime 287
629#define SYS_accept4 288
630#define SYS_signalfd4 289
631#define SYS_eventfd2 290
632#define SYS_epoll_create1 291
633#define SYS_dup3 292
634#define SYS_pipe2 293
635#define SYS_inotify_init1 294
636#define SYS_preadv 295
637#define SYS_pwritev 296
638#define SYS_rt_tgsigqueueinfo 297
639#define SYS_perf_event_open 298
640#define SYS_recvmmsg 299
641#define SYS_fanotify_init 300
642#define SYS_fanotify_mark 301
643#define SYS_prlimit64 302
644#define SYS_name_to_handle_at 303
645#define SYS_open_by_handle_at 304
646#define SYS_clock_adjtime 305
647#define SYS_syncfs 306
648#define SYS_sendmmsg 307
649#define SYS_setns 308
650#define SYS_getcpu 309
651#define SYS_process_vm_readv 310
652#define SYS_process_vm_writev 311
653#define SYS_kcmp 312
654#define SYS_finit_module 313
655#define SYS_sched_setattr 314
656#define SYS_sched_getattr 315
657#define SYS_renameat2 316
658#define SYS_seccomp 317
659#define SYS_getrandom 318
660#define SYS_memfd_create 319
661#define SYS_kexec_file_load 320
662#define SYS_bpf 321
663#define SYS_execveat 322
664#define SYS_userfaultfd 323
665#define SYS_membarrier 324
666#define SYS_mlock2 325
667#define SYS_copy_file_range 326
668#define SYS_preadv2 327
669#define SYS_pwritev2 328
670#define SYS_pkey_mprotect 329
671#define SYS_pkey_alloc 330
672#define SYS_pkey_free 331
673#define SYS_statx 332
674#define SYS_io_pgetevents 333
675#define SYS_rseq 334
676#define SYS_pidfd_send_signal 424
677#define SYS_io_uring_setup 425
678#define SYS_io_uring_enter 426
679#define SYS_io_uring_register 427
\ No newline at end of file
src/all_types.hpp+24-1
......@@ -36,6 +36,7 @@ struct IrInstruction;
3636struct IrInstructionCast;
3737struct IrInstructionAllocaGen;
3838struct IrInstructionCallGen;
39struct IrInstructionAwaitGen;
3940struct IrBasicBlock;
4041struct ScopeDecls;
4142struct ZigWindowsSDK;
......@@ -308,6 +309,7 @@ struct ConstGlobalRefs {
308309enum LazyValueId {
309310 LazyValueIdInvalid,
310311 LazyValueIdAlignOf,
312 LazyValueIdSizeOf,
311313 LazyValueIdPtrType,
312314 LazyValueIdOptType,
313315 LazyValueIdSliceType,
......@@ -326,6 +328,13 @@ struct LazyValueAlignOf {
326328 IrInstruction *target_type;
327329};
328330
331struct LazyValueSizeOf {
332 LazyValue base;
333
334 IrAnalyze *ira;
335 IrInstruction *target_type;
336};
337
329338struct LazyValueSliceType {
330339 LazyValue base;
331340
......@@ -618,7 +627,7 @@ struct AstNodeParamDecl {
618627 AstNode *type;
619628 Token *var_token;
620629 bool is_noalias;
621 bool is_inline;
630 bool is_comptime;
622631 bool is_var_args;
623632};
624633
......@@ -1478,6 +1487,7 @@ struct ZigFn {
14781487 AstNode **param_source_nodes;
14791488 Buf **param_names;
14801489 IrInstruction *err_code_spill;
1490 AstNode *assumed_non_async;
14811491
14821492 AstNode *fn_no_inline_set_node;
14831493 AstNode *fn_static_eval_set_node;
......@@ -1495,6 +1505,7 @@ struct ZigFn {
14951505
14961506 ZigList<GlobalExport> export_list;
14971507 ZigList<IrInstructionCallGen *> call_list;
1508 ZigList<IrInstructionAwaitGen *> await_list;
14981509
14991510 LLVMValueRef valgrind_client_request_array;
15001511
......@@ -1992,6 +2003,7 @@ struct CodeGen {
19922003 ZigList<Buf *> assembly_files;
19932004 ZigList<CFile *> c_source_files;
19942005 ZigList<const char *> lib_dirs;
2006 ZigList<const char *> framework_dirs;
19952007
19962008 ZigLibCInstallation *libc;
19972009
......@@ -2093,6 +2105,7 @@ enum ScopeId {
20932105 ScopeIdFnDef,
20942106 ScopeIdCompTime,
20952107 ScopeIdRuntime,
2108 ScopeIdTypeOf,
20962109};
20972110
20982111struct Scope {
......@@ -2233,6 +2246,13 @@ struct ScopeFnDef {
22332246 ZigFn *fn_entry;
22342247};
22352248
2249// This scope is created for a @typeOf.
2250// All runtime side-effects are elided within it.
2251// NodeTypeFnCallExpr
2252struct ScopeTypeOf {
2253 Scope base;
2254};
2255
22362256// synchronized with code in define_builtin_compile_vars
22372257enum AtomicOrder {
22382258 AtomicOrderUnordered,
......@@ -2700,6 +2720,7 @@ struct IrInstructionCallSrc {
27002720 IrInstruction *new_stack;
27012721 FnInline fn_inline;
27022722 bool is_async;
2723 bool is_async_call_builtin;
27032724 bool is_comptime;
27042725};
27052726
......@@ -2716,6 +2737,7 @@ struct IrInstructionCallGen {
27162737 IrInstruction *new_stack;
27172738 FnInline fn_inline;
27182739 bool is_async;
2740 bool is_async_call_builtin;
27192741};
27202742
27212743struct IrInstructionConst {
......@@ -3709,6 +3731,7 @@ struct IrInstructionAwaitGen {
37093731
37103732 IrInstruction *frame;
37113733 IrInstruction *result_loc;
3734 ZigFn *target_fn;
37123735};
37133736
37143737struct IrInstructionResume {
src/analyze.cpp+175-41
......@@ -31,6 +31,7 @@ static void analyze_fn_body(CodeGen *g, ZigFn *fn_table_entry);
3131static void resolve_llvm_types(CodeGen *g, ZigType *type, ResolveStatus wanted_resolve_status);
3232static void preview_use_decl(CodeGen *g, TldUsingNamespace *using_namespace, ScopeDecls *dest_decls_scope);
3333static void resolve_use_decl(CodeGen *g, TldUsingNamespace *tld_using_namespace, ScopeDecls *dest_decls_scope);
34static void analyze_fn_async(CodeGen *g, ZigFn *fn, bool resolve_frame);
3435
3536// nullptr means not analyzed yet; this one means currently being analyzed
3637static const AstNode *inferred_async_checking = reinterpret_cast<AstNode *>(0x1);
......@@ -196,6 +197,12 @@ Scope *create_comptime_scope(CodeGen *g, AstNode *node, Scope *parent) {
196197 return &scope->base;
197198}
198199
200Scope *create_typeof_scope(CodeGen *g, AstNode *node, Scope *parent) {
201 ScopeTypeOf *scope = allocate<ScopeTypeOf>(1);
202 init_scope(g, &scope->base, ScopeIdTypeOf, node, parent);
203 return &scope->base;
204}
205
199206ZigType *get_scope_import(Scope *scope) {
200207 while (scope) {
201208 if (scope->id == ScopeIdDecls) {
......@@ -208,6 +215,22 @@ ZigType *get_scope_import(Scope *scope) {
208215 zig_unreachable();
209216}
210217
218ScopeTypeOf *get_scope_typeof(Scope *scope) {
219 while (scope) {
220 switch (scope->id) {
221 case ScopeIdTypeOf:
222 return reinterpret_cast<ScopeTypeOf *>(scope);
223 case ScopeIdFnDef:
224 case ScopeIdDecls:
225 return nullptr;
226 default:
227 scope = scope->parent;
228 continue;
229 }
230 }
231 zig_unreachable();
232}
233
211234static ZigType *new_container_type_entry(CodeGen *g, ZigTypeId id, AstNode *source_node, Scope *parent_scope,
212235 Buf *bare_name)
213236{
......@@ -973,7 +996,7 @@ ConstExprValue *analyze_const_value(CodeGen *g, Scope *scope, AstNode *node, Zig
973996 nullptr, nullptr, node, type_name, nullptr, nullptr, undef);
974997}
975998
976static Error type_val_resolve_zero_bits(CodeGen *g, ConstExprValue *type_val, ZigType *parent_type,
999Error type_val_resolve_zero_bits(CodeGen *g, ConstExprValue *type_val, ZigType *parent_type,
9771000 ConstExprValue *parent_type_val, bool *is_zero_bits)
9781001{
9791002 Error err;
......@@ -997,6 +1020,7 @@ static Error type_val_resolve_zero_bits(CodeGen *g, ConstExprValue *type_val, Zi
9971020 switch (type_val->data.x_lazy->id) {
9981021 case LazyValueIdInvalid:
9991022 case LazyValueIdAlignOf:
1023 case LazyValueIdSizeOf:
10001024 zig_unreachable();
10011025 case LazyValueIdPtrType: {
10021026 LazyValuePtrType *lazy_ptr_type = reinterpret_cast<LazyValuePtrType *>(type_val->data.x_lazy);
......@@ -1036,6 +1060,7 @@ Error type_val_resolve_is_opaque_type(CodeGen *g, ConstExprValue *type_val, bool
10361060 switch (type_val->data.x_lazy->id) {
10371061 case LazyValueIdInvalid:
10381062 case LazyValueIdAlignOf:
1063 case LazyValueIdSizeOf:
10391064 zig_unreachable();
10401065 case LazyValueIdSliceType:
10411066 case LazyValueIdPtrType:
......@@ -1055,6 +1080,7 @@ static ReqCompTime type_val_resolve_requires_comptime(CodeGen *g, ConstExprValue
10551080 switch (type_val->data.x_lazy->id) {
10561081 case LazyValueIdInvalid:
10571082 case LazyValueIdAlignOf:
1083 case LazyValueIdSizeOf:
10581084 zig_unreachable();
10591085 case LazyValueIdSliceType: {
10601086 LazyValueSliceType *lazy_slice_type = reinterpret_cast<LazyValueSliceType *>(type_val->data.x_lazy);
......@@ -1105,7 +1131,7 @@ static ReqCompTime type_val_resolve_requires_comptime(CodeGen *g, ConstExprValue
11051131 zig_unreachable();
11061132}
11071133
1108static Error type_val_resolve_abi_size(CodeGen *g, AstNode *source_node, ConstExprValue *type_val,
1134Error type_val_resolve_abi_size(CodeGen *g, AstNode *source_node, ConstExprValue *type_val,
11091135 size_t *abi_size, size_t *size_in_bits)
11101136{
11111137 Error err;
......@@ -1123,12 +1149,42 @@ start_over:
11231149 switch (type_val->data.x_lazy->id) {
11241150 case LazyValueIdInvalid:
11251151 case LazyValueIdAlignOf:
1152 case LazyValueIdSizeOf:
11261153 zig_unreachable();
1127 case LazyValueIdSliceType:
1128 *abi_size = g->builtin_types.entry_usize->abi_size * 2;
1129 *size_in_bits = g->builtin_types.entry_usize->size_in_bits * 2;
1154 case LazyValueIdSliceType: {
1155 LazyValueSliceType *lazy_slice_type = reinterpret_cast<LazyValueSliceType *>(type_val->data.x_lazy);
1156 bool is_zero_bits;
1157 if ((err = type_val_resolve_zero_bits(g, &lazy_slice_type->elem_type->value, nullptr,
1158 nullptr, &is_zero_bits)))
1159 {
1160 return err;
1161 }
1162 if (is_zero_bits) {
1163 *abi_size = g->builtin_types.entry_usize->abi_size;
1164 *size_in_bits = g->builtin_types.entry_usize->size_in_bits;
1165 } else {
1166 *abi_size = g->builtin_types.entry_usize->abi_size * 2;
1167 *size_in_bits = g->builtin_types.entry_usize->size_in_bits * 2;
1168 }
11301169 return ErrorNone;
1131 case LazyValueIdPtrType:
1170 }
1171 case LazyValueIdPtrType: {
1172 LazyValuePtrType *lazy_ptr_type = reinterpret_cast<LazyValuePtrType *>(type_val->data.x_lazy);
1173 bool is_zero_bits;
1174 if ((err = type_val_resolve_zero_bits(g, &lazy_ptr_type->elem_type->value, nullptr,
1175 nullptr, &is_zero_bits)))
1176 {
1177 return err;
1178 }
1179 if (is_zero_bits) {
1180 *abi_size = 0;
1181 *size_in_bits = 0;
1182 } else {
1183 *abi_size = g->builtin_types.entry_usize->abi_size;
1184 *size_in_bits = g->builtin_types.entry_usize->size_in_bits;
1185 }
1186 return ErrorNone;
1187 }
11321188 case LazyValueIdFnType:
11331189 *abi_size = g->builtin_types.entry_usize->abi_size;
11341190 *size_in_bits = g->builtin_types.entry_usize->size_in_bits;
......@@ -1159,6 +1215,7 @@ Error type_val_resolve_abi_align(CodeGen *g, ConstExprValue *type_val, uint32_t
11591215 switch (type_val->data.x_lazy->id) {
11601216 case LazyValueIdInvalid:
11611217 case LazyValueIdAlignOf:
1218 case LazyValueIdSizeOf:
11621219 zig_unreachable();
11631220 case LazyValueIdSliceType:
11641221 case LazyValueIdPtrType:
......@@ -1193,6 +1250,7 @@ static OnePossibleValue type_val_resolve_has_one_possible_value(CodeGen *g, Cons
11931250 switch (type_val->data.x_lazy->id) {
11941251 case LazyValueIdInvalid:
11951252 case LazyValueIdAlignOf:
1253 case LazyValueIdSizeOf:
11961254 zig_unreachable();
11971255 case LazyValueIdSliceType: // it has the len field
11981256 case LazyValueIdOptType: // it has the optional bit
......@@ -1520,7 +1578,7 @@ static ZigType *analyze_fn_type(CodeGen *g, AstNode *proto_node, Scope *child_sc
15201578 AstNode *param_node = fn_proto->params.at(fn_type_id.next_param_index);
15211579 assert(param_node->type == NodeTypeParamDecl);
15221580
1523 bool param_is_comptime = param_node->data.param_decl.is_inline;
1581 bool param_is_comptime = param_node->data.param_decl.is_comptime;
15241582 bool param_is_var_args = param_node->data.param_decl.is_var_args;
15251583
15261584 if (param_is_comptime) {
......@@ -4138,8 +4196,14 @@ static void add_async_error_notes(CodeGen *g, ErrorMsg *msg, ZigFn *fn) {
41384196 assert(fn->inferred_async_node != inferred_async_checking);
41394197 assert(fn->inferred_async_node != inferred_async_none);
41404198 if (fn->inferred_async_fn != nullptr) {
4141 ErrorMsg *new_msg = add_error_note(g, msg, fn->inferred_async_node,
4142 buf_sprintf("async function call here"));
4199 ErrorMsg *new_msg;
4200 if (fn->inferred_async_node->type == NodeTypeAwaitExpr) {
4201 new_msg = add_error_note(g, msg, fn->inferred_async_node,
4202 buf_create_from_str("await here is a suspend point"));
4203 } else {
4204 new_msg = add_error_note(g, msg, fn->inferred_async_node,
4205 buf_sprintf("async function call here"));
4206 }
41434207 return add_async_error_notes(g, new_msg, fn->inferred_async_fn);
41444208 } else if (fn->inferred_async_node->type == NodeTypeFnProto) {
41454209 add_error_note(g, msg, fn->inferred_async_node,
......@@ -4149,7 +4213,7 @@ static void add_async_error_notes(CodeGen *g, ErrorMsg *msg, ZigFn *fn) {
41494213 buf_sprintf("suspends here"));
41504214 } else if (fn->inferred_async_node->type == NodeTypeAwaitExpr) {
41514215 add_error_note(g, msg, fn->inferred_async_node,
4152 buf_sprintf("await is a suspend point"));
4216 buf_sprintf("await here is a suspend point"));
41534217 } else if (fn->inferred_async_node->type == NodeTypeFnCallExpr &&
41544218 fn->inferred_async_node->data.fn_call_expr.is_builtin)
41554219 {
......@@ -4161,6 +4225,64 @@ static void add_async_error_notes(CodeGen *g, ErrorMsg *msg, ZigFn *fn) {
41614225 }
41624226}
41634227
4228// ErrorNone - not async
4229// ErrorIsAsync - yes async
4230// ErrorSemanticAnalyzeFail - compile error emitted result is invalid
4231static Error analyze_callee_async(CodeGen *g, ZigFn *fn, ZigFn *callee, AstNode *call_node,
4232 bool must_not_be_async)
4233{
4234 if (callee->type_entry->data.fn.fn_type_id.cc != CallingConventionUnspecified)
4235 return ErrorNone;
4236 if (callee->anal_state == FnAnalStateReady) {
4237 analyze_fn_body(g, callee);
4238 if (callee->anal_state == FnAnalStateInvalid) {
4239 return ErrorSemanticAnalyzeFail;
4240 }
4241 }
4242 bool callee_is_async;
4243 if (callee->anal_state == FnAnalStateComplete) {
4244 analyze_fn_async(g, callee, true);
4245 if (callee->anal_state == FnAnalStateInvalid) {
4246 return ErrorSemanticAnalyzeFail;
4247 }
4248 callee_is_async = fn_is_async(callee);
4249 } else {
4250 // If it's already been determined, use that value. Otherwise
4251 // assume non-async, emit an error later if it turned out to be async.
4252 if (callee->inferred_async_node == nullptr ||
4253 callee->inferred_async_node == inferred_async_checking)
4254 {
4255 callee->assumed_non_async = call_node;
4256 callee_is_async = false;
4257 } else {
4258 callee_is_async = callee->inferred_async_node != inferred_async_none;
4259 }
4260 }
4261 if (callee_is_async) {
4262 fn->inferred_async_node = call_node;
4263 fn->inferred_async_fn = callee;
4264 if (must_not_be_async) {
4265 ErrorMsg *msg = add_node_error(g, fn->proto_node,
4266 buf_sprintf("function with calling convention '%s' cannot be async",
4267 calling_convention_name(fn->type_entry->data.fn.fn_type_id.cc)));
4268 add_async_error_notes(g, msg, fn);
4269 return ErrorSemanticAnalyzeFail;
4270 }
4271 if (fn->assumed_non_async != nullptr) {
4272 ErrorMsg *msg = add_node_error(g, fn->proto_node,
4273 buf_sprintf("unable to infer whether '%s' should be async",
4274 buf_ptr(&fn->symbol_name)));
4275 add_error_note(g, msg, fn->assumed_non_async,
4276 buf_sprintf("assumed to be non-async here"));
4277 add_async_error_notes(g, msg, fn);
4278 fn->anal_state = FnAnalStateInvalid;
4279 return ErrorSemanticAnalyzeFail;
4280 }
4281 return ErrorIsAsync;
4282 }
4283 return ErrorNone;
4284}
4285
41644286// This function resolves functions being inferred async.
41654287static void analyze_fn_async(CodeGen *g, ZigFn *fn, bool resolve_frame) {
41664288 if (fn->inferred_async_node == inferred_async_checking) {
......@@ -4187,42 +4309,40 @@ static void analyze_fn_async(CodeGen *g, ZigFn *fn, bool resolve_frame) {
41874309
41884310 for (size_t i = 0; i < fn->call_list.length; i += 1) {
41894311 IrInstructionCallGen *call = fn->call_list.at(i);
4190 ZigFn *callee = call->fn_entry;
4191 if (callee == nullptr) {
4312 if (call->fn_entry == nullptr) {
41924313 // TODO function pointer call here, could be anything
41934314 continue;
41944315 }
4195
4196 if (callee->type_entry->data.fn.fn_type_id.cc != CallingConventionUnspecified)
4197 continue;
4198 if (callee->anal_state == FnAnalStateReady) {
4199 analyze_fn_body(g, callee);
4200 if (callee->anal_state == FnAnalStateInvalid) {
4316 switch (analyze_callee_async(g, fn, call->fn_entry, call->base.source_node, must_not_be_async)) {
4317 case ErrorSemanticAnalyzeFail:
42014318 fn->anal_state = FnAnalStateInvalid;
42024319 return;
4203 }
4204 }
4205 assert(callee->anal_state == FnAnalStateComplete);
4206 analyze_fn_async(g, callee, true);
4207 if (callee->anal_state == FnAnalStateInvalid) {
4208 fn->anal_state = FnAnalStateInvalid;
4209 return;
4320 case ErrorNone:
4321 continue;
4322 case ErrorIsAsync:
4323 if (resolve_frame) {
4324 resolve_async_fn_frame(g, fn);
4325 }
4326 return;
4327 default:
4328 zig_unreachable();
42104329 }
4211 if (fn_is_async(callee)) {
4212 fn->inferred_async_node = call->base.source_node;
4213 fn->inferred_async_fn = callee;
4214 if (must_not_be_async) {
4215 ErrorMsg *msg = add_node_error(g, fn->proto_node,
4216 buf_sprintf("function with calling convention '%s' cannot be async",
4217 calling_convention_name(fn->type_entry->data.fn.fn_type_id.cc)));
4218 add_async_error_notes(g, msg, fn);
4330 }
4331 for (size_t i = 0; i < fn->await_list.length; i += 1) {
4332 IrInstructionAwaitGen *await = fn->await_list.at(i);
4333 switch (analyze_callee_async(g, fn, await->target_fn, await->base.source_node, must_not_be_async)) {
4334 case ErrorSemanticAnalyzeFail:
42194335 fn->anal_state = FnAnalStateInvalid;
42204336 return;
4221 }
4222 if (resolve_frame) {
4223 resolve_async_fn_frame(g, fn);
4224 }
4225 return;
4337 case ErrorNone:
4338 continue;
4339 case ErrorIsAsync:
4340 if (resolve_frame) {
4341 resolve_async_fn_frame(g, fn);
4342 }
4343 return;
4344 default:
4345 zig_unreachable();
42264346 }
42274347 }
42284348 fn->inferred_async_node = inferred_async_none;
......@@ -4295,7 +4415,7 @@ static void analyze_fn_ir(CodeGen *g, ZigFn *fn, AstNode *return_type_node) {
42954415
42964416 if (g->verbose_ir) {
42974417 fprintf(stderr, "fn %s() { // (analyzed)\n", buf_ptr(&fn->symbol_name));
4298 ir_print(g, stderr, &fn->analyzed_executable, 4);
4418 ir_print(g, stderr, &fn->analyzed_executable, 4, 2);
42994419 fprintf(stderr, "}\n");
43004420 }
43014421 fn->anal_state = FnAnalStateComplete;
......@@ -4329,7 +4449,7 @@ static void analyze_fn_body(CodeGen *g, ZigFn *fn_table_entry) {
43294449 fprintf(stderr, "\n");
43304450 ast_render(stderr, fn_table_entry->body_node, 4);
43314451 fprintf(stderr, "\n{ // (IR)\n");
4332 ir_print(g, stderr, &fn_table_entry->ir_executable, 4);
4452 ir_print(g, stderr, &fn_table_entry->ir_executable, 4, 1);
43334453 fprintf(stderr, "}\n");
43344454 }
43354455
......@@ -4480,6 +4600,8 @@ void semantic_analyze(CodeGen *g) {
44804600 ZigFn *fn = g->fn_defs.at(g->fn_defs_index);
44814601 g->trace_err = nullptr;
44824602 analyze_fn_async(g, fn, true);
4603 if (fn->anal_state == FnAnalStateInvalid)
4604 continue;
44834605 if (fn_is_async(fn) && fn->non_async_node != nullptr) {
44844606 ErrorMsg *msg = add_node_error(g, fn->proto_node,
44854607 buf_sprintf("'%s' cannot be async", buf_ptr(&fn->symbol_name)));
......@@ -5605,6 +5727,10 @@ static Error resolve_async_frame(CodeGen *g, ZigType *frame_type) {
56055727
56065728 for (size_t i = 0; i < fn->call_list.length; i += 1) {
56075729 IrInstructionCallGen *call = fn->call_list.at(i);
5730 if (call->new_stack != nullptr) {
5731 // don't need to allocate a frame for this
5732 continue;
5733 }
56085734 ZigFn *callee = call->fn_entry;
56095735 if (callee == nullptr) {
56105736 add_node_error(g, call->base.source_node,
......@@ -5632,6 +5758,11 @@ static Error resolve_async_frame(CodeGen *g, ZigType *frame_type) {
56325758 return ErrorSemanticAnalyzeFail;
56335759 }
56345760 analyze_fn_async(g, callee, true);
5761 if (callee->inferred_async_node == inferred_async_checking) {
5762 assert(g->errors.length != 0);
5763 frame_type->data.frame.locals_struct = g->builtin_types.entry_invalid;
5764 return ErrorSemanticAnalyzeFail;
5765 }
56355766 if (!fn_is_async(callee))
56365767 continue;
56375768
......@@ -8129,6 +8260,10 @@ static void resolve_llvm_types_anyerror(CodeGen *g) {
81298260}
81308261
81318262static void resolve_llvm_types_async_frame(CodeGen *g, ZigType *frame_type, ResolveStatus wanted_resolve_status) {
8263 Error err;
8264 if ((err = type_resolve(g, frame_type, ResolveStatusSizeKnown)))
8265 zig_unreachable();
8266
81328267 ZigType *passed_frame_type = fn_is_async(frame_type->data.frame.fn) ? frame_type : nullptr;
81338268 resolve_llvm_types_struct(g, frame_type->data.frame.locals_struct, wanted_resolve_status, passed_frame_type);
81348269 frame_type->llvm_type = frame_type->data.frame.locals_struct->llvm_type;
......@@ -8270,7 +8405,6 @@ static void resolve_llvm_types_any_frame(CodeGen *g, ZigType *any_frame_type, Re
82708405}
82718406
82728407static void resolve_llvm_types(CodeGen *g, ZigType *type, ResolveStatus wanted_resolve_status) {
8273 assert(type->id == ZigTypeIdOpaque || type_is_resolved(type, ResolveStatusSizeKnown));
82748408 assert(wanted_resolve_status > ResolveStatusSizeKnown);
82758409 switch (type->id) {
82768410 case ZigTypeIdInvalid:
src/analyze.hpp+6
......@@ -85,6 +85,7 @@ void scan_decls(CodeGen *g, ScopeDecls *decls_scope, AstNode *node);
8585ZigFn *scope_fn_entry(Scope *scope);
8686ZigPackage *scope_package(Scope *scope);
8787ZigType *get_scope_import(Scope *scope);
88ScopeTypeOf *get_scope_typeof(Scope *scope);
8889void init_tld(Tld *tld, TldId id, Buf *name, VisibMod visib_mod, AstNode *source_node, Scope *parent_scope);
8990ZigVar *add_variable(CodeGen *g, AstNode *source_node, Scope *parent_scope, Buf *name,
9091 bool is_const, ConstExprValue *init_value, Tld *src_tld, ZigType *var_type);
......@@ -112,6 +113,7 @@ ScopeSuspend *create_suspend_scope(CodeGen *g, AstNode *node, Scope *parent);
112113ScopeFnDef *create_fndef_scope(CodeGen *g, AstNode *node, Scope *parent, ZigFn *fn_entry);
113114Scope *create_comptime_scope(CodeGen *g, AstNode *node, Scope *parent);
114115Scope *create_runtime_scope(CodeGen *g, AstNode *node, Scope *parent, IrInstruction *is_comptime);
116Scope *create_typeof_scope(CodeGen *g, AstNode *node, Scope *parent);
115117
116118void init_const_str_lit(CodeGen *g, ConstExprValue *const_val, Buf *str);
117119ConstExprValue *create_const_str_lit(CodeGen *g, Buf *str);
......@@ -247,6 +249,10 @@ void resolve_llvm_types_fn(CodeGen *g, ZigFn *fn);
247249bool fn_is_async(ZigFn *fn);
248250
249251Error type_val_resolve_abi_align(CodeGen *g, ConstExprValue *type_val, uint32_t *abi_align);
252Error type_val_resolve_abi_size(CodeGen *g, AstNode *source_node, ConstExprValue *type_val,
253 size_t *abi_size, size_t *size_in_bits);
254Error type_val_resolve_zero_bits(CodeGen *g, ConstExprValue *type_val, ZigType *parent_type,
255 ConstExprValue *parent_type_val, bool *is_zero_bits);
250256ZigType *resolve_union_field_type(CodeGen *g, TypeUnionField *union_field);
251257ZigType *resolve_struct_field_type(CodeGen *g, TypeStructField *struct_field);
252258
src/ast_render.cpp+1-1
......@@ -448,7 +448,7 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) {
448448 assert(param_decl->type == NodeTypeParamDecl);
449449 if (param_decl->data.param_decl.name != nullptr) {
450450 const char *noalias_str = param_decl->data.param_decl.is_noalias ? "noalias " : "";
451 const char *inline_str = param_decl->data.param_decl.is_inline ? "inline " : "";
451 const char *inline_str = param_decl->data.param_decl.is_comptime ? "comptime " : "";
452452 fprintf(ar->f, "%s%s", noalias_str, inline_str);
453453 print_symbol(ar, param_decl->data.param_decl.name);
454454 fprintf(ar->f, ": ");
src/codegen.cpp+122-46
......@@ -645,6 +645,7 @@ static ZigLLVMDIScope *get_di_scope(CodeGen *g, Scope *scope) {
645645 case ScopeIdSuspend:
646646 case ScopeIdCompTime:
647647 case ScopeIdRuntime:
648 case ScopeIdTypeOf:
648649 return get_di_scope(g, scope->parent);
649650 }
650651 zig_unreachable();
......@@ -3521,6 +3522,15 @@ static LLVMValueRef ir_render_store_ptr(CodeGen *g, IrExecutable *executable, Ir
35213522 assert(ptr_type->id == ZigTypeIdPointer);
35223523 if (!type_has_bits(ptr_type))
35233524 return nullptr;
3525 if (instruction->ptr->ref_count == 0) {
3526 // In this case, this StorePtr instruction should be elided. Something happened like this:
3527 // var t = true;
3528 // const x = if (t) Num.Two else unreachable;
3529 // The if condition is a runtime value, so the StorePtr for `x = Num.Two` got generated
3530 // (this instruction being rendered) but because of `else unreachable` the result ended
3531 // up being a comptime const value.
3532 return nullptr;
3533 }
35243534
35253535 bool have_init_expr = !value_is_all_undef(&instruction->value->value);
35263536 if (have_init_expr) {
......@@ -3757,6 +3767,7 @@ static void render_async_var_decls(CodeGen *g, Scope *scope) {
37573767 case ScopeIdSuspend:
37583768 case ScopeIdCompTime:
37593769 case ScopeIdRuntime:
3770 case ScopeIdTypeOf:
37603771 scope = scope->parent;
37613772 continue;
37623773 }
......@@ -3824,17 +3835,18 @@ static LLVMValueRef ir_render_call(CodeGen *g, IrExecutable *executable, IrInstr
38243835 LLVMValueRef awaiter_init_val;
38253836 LLVMValueRef ret_ptr;
38263837 if (callee_is_async) {
3827 if (instruction->is_async) {
3828 if (instruction->new_stack == nullptr) {
3829 awaiter_init_val = zero;
3838 if (instruction->new_stack == nullptr) {
3839 if (instruction->is_async) {
38303840 frame_result_loc = result_loc;
3831
3832 if (ret_has_bits) {
3833 // Use the result location which is inside the frame if this is an async call.
3834 ret_ptr = LLVMBuildStructGEP(g->builder, frame_result_loc, frame_ret_start + 2, "");
3835 }
3836 } else if (cc == CallingConventionAsync) {
3837 awaiter_init_val = zero;
3841 } else {
3842 frame_result_loc = ir_llvm_value(g, instruction->frame_result_loc);
3843 }
3844 } else {
3845 if (instruction->new_stack->value.type->id == ZigTypeIdPointer &&
3846 instruction->new_stack->value.type->data.pointer.child_type->id == ZigTypeIdFnFrame)
3847 {
3848 frame_result_loc = ir_llvm_value(g, instruction->new_stack);
3849 } else {
38383850 LLVMValueRef frame_slice_ptr = ir_llvm_value(g, instruction->new_stack);
38393851 if (ir_want_runtime_safety(g, &instruction->base)) {
38403852 LLVMValueRef given_len_ptr = LLVMBuildStructGEP(g->builder, frame_slice_ptr, slice_len_index, "");
......@@ -3854,15 +3866,37 @@ static LLVMValueRef ir_render_call(CodeGen *g, IrExecutable *executable, IrInstr
38543866 }
38553867 LLVMValueRef frame_ptr_ptr = LLVMBuildStructGEP(g->builder, frame_slice_ptr, slice_ptr_index, "");
38563868 LLVMValueRef frame_ptr = LLVMBuildLoad(g->builder, frame_ptr_ptr, "");
3857 frame_result_loc = LLVMBuildBitCast(g->builder, frame_ptr,
3858 get_llvm_type(g, instruction->base.value.type), "");
3869 if (instruction->fn_entry == nullptr) {
3870 ZigType *anyframe_type = get_any_frame_type(g, src_return_type);
3871 frame_result_loc = LLVMBuildBitCast(g->builder, frame_ptr, get_llvm_type(g, anyframe_type), "");
3872 } else {
3873 ZigType *ptr_frame_type = get_pointer_to_type(g,
3874 get_fn_frame_type(g, instruction->fn_entry), false);
3875 frame_result_loc = LLVMBuildBitCast(g->builder, frame_ptr,
3876 get_llvm_type(g, ptr_frame_type), "");
3877 }
3878 }
3879 }
3880 if (instruction->is_async) {
3881 if (instruction->new_stack == nullptr) {
3882 awaiter_init_val = zero;
38593883
38603884 if (ret_has_bits) {
3861 // Use the result location provided to the @asyncCall builtin
3862 ret_ptr = result_loc;
3885 // Use the result location which is inside the frame if this is an async call.
3886 ret_ptr = LLVMBuildStructGEP(g->builder, frame_result_loc, frame_ret_start + 2, "");
38633887 }
38643888 } else {
3865 zig_unreachable();
3889 awaiter_init_val = zero;
3890
3891 if (ret_has_bits) {
3892 if (result_loc != nullptr) {
3893 // Use the result location provided to the @asyncCall builtin
3894 ret_ptr = result_loc;
3895 } else {
3896 // no result location provided to @asyncCall - use the one inside the frame.
3897 ret_ptr = LLVMBuildStructGEP(g->builder, frame_result_loc, frame_ret_start + 2, "");
3898 }
3899 }
38663900 }
38673901
38683902 // even if prefix_arg_err_ret_stack is true, let the async function do its own
......@@ -3870,7 +3904,6 @@ static LLVMValueRef ir_render_call(CodeGen *g, IrExecutable *executable, IrInstr
38703904 } else {
38713905 // async function called as a normal function
38723906
3873 frame_result_loc = ir_llvm_value(g, instruction->frame_result_loc);
38743907 awaiter_init_val = LLVMBuildPtrToInt(g->builder, g->cur_frame_ptr, usize_type_ref, ""); // caller's own frame pointer
38753908 if (ret_has_bits) {
38763909 if (result_loc == nullptr) {
......@@ -3924,7 +3957,7 @@ static LLVMValueRef ir_render_call(CodeGen *g, IrExecutable *executable, IrInstr
39243957 LLVMBuildStore(g->builder, awaiter_init_val, awaiter_ptr);
39253958
39263959 if (ret_has_bits) {
3927 LLVMValueRef ret_ptr = LLVMBuildStructGEP(g->builder, frame_result_loc, frame_ret_start + 2, "");
3960 ret_ptr = LLVMBuildStructGEP(g->builder, frame_result_loc, frame_ret_start + 2, "");
39283961 LLVMValueRef ret_ptr_ptr = LLVMBuildStructGEP(g->builder, frame_result_loc, frame_ret_start, "");
39293962 LLVMBuildStore(g->builder, ret_ptr, ret_ptr_ptr);
39303963
......@@ -3986,7 +4019,7 @@ static LLVMValueRef ir_render_call(CodeGen *g, IrExecutable *executable, IrInstr
39864019 uint32_t arg_start_i = frame_index_arg(g, fn_type->data.fn.fn_type_id.return_type);
39874020
39884021 LLVMValueRef casted_frame;
3989 if (instruction->new_stack != nullptr) {
4022 if (instruction->new_stack != nullptr && instruction->fn_entry == nullptr) {
39904023 // We need the frame type to be a pointer to a struct that includes the args
39914024 size_t field_count = arg_start_i + gen_param_values.length;
39924025 LLVMTypeRef *field_types = allocate_nonzero<LLVMTypeRef>(field_count);
......@@ -4012,7 +4045,8 @@ static LLVMValueRef ir_render_call(CodeGen *g, IrExecutable *executable, IrInstr
40124045 if (instruction->is_async) {
40134046 gen_resume(g, fn_val, frame_result_loc, ResumeIdCall);
40144047 if (instruction->new_stack != nullptr) {
4015 return frame_result_loc;
4048 return LLVMBuildBitCast(g->builder, frame_result_loc,
4049 get_llvm_type(g, instruction->base.value.type), "");
40164050 }
40174051 return nullptr;
40184052 } else {
......@@ -4039,7 +4073,7 @@ static LLVMValueRef ir_render_call(CodeGen *g, IrExecutable *executable, IrInstr
40394073 }
40404074 }
40414075
4042 if (instruction->new_stack == nullptr) {
4076 if (instruction->new_stack == nullptr || instruction->is_async_call_builtin) {
40434077 result = ZigLLVMBuildCall(g->builder, fn_val,
40444078 gen_param_values.items, (unsigned)gen_param_values.length, llvm_cc, fn_inline, "");
40454079 } else if (instruction->is_async) {
......@@ -4067,6 +4101,9 @@ static LLVMValueRef ir_render_call(CodeGen *g, IrExecutable *executable, IrInstr
40674101 LLVMValueRef store_instr = LLVMBuildStore(g->builder, result, result_loc);
40684102 LLVMSetAlignment(store_instr, get_ptr_align(g, instruction->result_loc->value.type));
40694103 return result_loc;
4104 } else if (!callee_is_async && instruction->is_async) {
4105 LLVMBuildStore(g->builder, result, ret_ptr);
4106 return result_loc;
40704107 } else {
40714108 return result;
40724109 }
......@@ -5498,6 +5535,44 @@ static LLVMValueRef ir_render_suspend_finish(CodeGen *g, IrExecutable *executabl
54985535 return nullptr;
54995536}
55005537
5538static LLVMValueRef gen_await_early_return(CodeGen *g, IrInstruction *source_instr,
5539 LLVMValueRef target_frame_ptr, ZigType *result_type, ZigType *ptr_result_type,
5540 LLVMValueRef result_loc, bool non_async)
5541{
5542 LLVMTypeRef usize_type_ref = g->builtin_types.entry_usize->llvm_type;
5543 LLVMValueRef their_result_ptr = nullptr;
5544 if (type_has_bits(result_type) && (non_async || result_loc != nullptr)) {
5545 LLVMValueRef their_result_ptr_ptr = LLVMBuildStructGEP(g->builder, target_frame_ptr, frame_ret_start, "");
5546 their_result_ptr = LLVMBuildLoad(g->builder, their_result_ptr_ptr, "");
5547 if (result_loc != nullptr) {
5548 LLVMTypeRef ptr_u8 = LLVMPointerType(LLVMInt8Type(), 0);
5549 LLVMValueRef dest_ptr_casted = LLVMBuildBitCast(g->builder, result_loc, ptr_u8, "");
5550 LLVMValueRef src_ptr_casted = LLVMBuildBitCast(g->builder, their_result_ptr, ptr_u8, "");
5551 bool is_volatile = false;
5552 uint32_t abi_align = get_abi_alignment(g, result_type);
5553 LLVMValueRef byte_count_val = LLVMConstInt(usize_type_ref, type_size(g, result_type), false);
5554 ZigLLVMBuildMemCpy(g->builder,
5555 dest_ptr_casted, abi_align,
5556 src_ptr_casted, abi_align, byte_count_val, is_volatile);
5557 }
5558 }
5559 if (codegen_fn_has_err_ret_tracing_arg(g, result_type)) {
5560 LLVMValueRef their_trace_ptr_ptr = LLVMBuildStructGEP(g->builder, target_frame_ptr,
5561 frame_index_trace_arg(g, result_type), "");
5562 LLVMValueRef src_trace_ptr = LLVMBuildLoad(g->builder, their_trace_ptr_ptr, "");
5563 LLVMValueRef dest_trace_ptr = get_cur_err_ret_trace_val(g, source_instr->scope);
5564 LLVMValueRef args[] = { dest_trace_ptr, src_trace_ptr };
5565 ZigLLVMBuildCall(g->builder, get_merge_err_ret_traces_fn_val(g), args, 2,
5566 get_llvm_cc(g, CallingConventionUnspecified), ZigLLVM_FnInlineAuto, "");
5567 }
5568 if (non_async && type_has_bits(result_type)) {
5569 LLVMValueRef result_ptr = (result_loc == nullptr) ? their_result_ptr : result_loc;
5570 return get_handle_value(g, result_ptr, result_type, ptr_result_type);
5571 } else {
5572 return nullptr;
5573 }
5574}
5575
55015576static LLVMValueRef ir_render_await(CodeGen *g, IrExecutable *executable, IrInstructionAwaitGen *instruction) {
55025577 LLVMTypeRef usize_type_ref = g->builtin_types.entry_usize->llvm_type;
55035578 LLVMValueRef zero = LLVMConstNull(usize_type_ref);
......@@ -5505,6 +5580,14 @@ static LLVMValueRef ir_render_await(CodeGen *g, IrExecutable *executable, IrInst
55055580 ZigType *result_type = instruction->base.value.type;
55065581 ZigType *ptr_result_type = get_pointer_to_type(g, result_type, true);
55075582
5583 LLVMValueRef result_loc = (instruction->result_loc == nullptr) ?
5584 nullptr : ir_llvm_value(g, instruction->result_loc);
5585
5586 if (instruction->target_fn != nullptr && !fn_is_async(instruction->target_fn)) {
5587 return gen_await_early_return(g, &instruction->base, target_frame_ptr, result_type,
5588 ptr_result_type, result_loc, true);
5589 }
5590
55085591 // Prepare to be suspended
55095592 LLVMBasicBlockRef resume_bb = gen_suspend_begin(g, "AwaitResume");
55105593 LLVMBasicBlockRef end_bb = LLVMAppendBasicBlock(g->cur_fn_val, "AwaitEnd");
......@@ -5512,9 +5595,8 @@ static LLVMValueRef ir_render_await(CodeGen *g, IrExecutable *executable, IrInst
55125595 // At this point resuming the function will continue from resume_bb.
55135596 // This code is as if it is running inside the suspend block.
55145597
5598
55155599 // supply the awaiter return pointer
5516 LLVMValueRef result_loc = (instruction->result_loc == nullptr) ?
5517 nullptr : ir_llvm_value(g, instruction->result_loc);
55185600 if (type_has_bits(result_type)) {
55195601 LLVMValueRef awaiter_ret_ptr_ptr = LLVMBuildStructGEP(g->builder, target_frame_ptr, frame_ret_start + 1, "");
55205602 if (result_loc == nullptr) {
......@@ -5562,28 +5644,8 @@ static LLVMValueRef ir_render_await(CodeGen *g, IrExecutable *executable, IrInst
55625644 // Early return: The async function has already completed. We must copy the result and
55635645 // the error return trace if applicable.
55645646 LLVMPositionBuilderAtEnd(g->builder, early_return_block);
5565 if (type_has_bits(result_type) && result_loc != nullptr) {
5566 LLVMValueRef their_result_ptr_ptr = LLVMBuildStructGEP(g->builder, target_frame_ptr, frame_ret_start, "");
5567 LLVMValueRef their_result_ptr = LLVMBuildLoad(g->builder, their_result_ptr_ptr, "");
5568 LLVMTypeRef ptr_u8 = LLVMPointerType(LLVMInt8Type(), 0);
5569 LLVMValueRef dest_ptr_casted = LLVMBuildBitCast(g->builder, result_loc, ptr_u8, "");
5570 LLVMValueRef src_ptr_casted = LLVMBuildBitCast(g->builder, their_result_ptr, ptr_u8, "");
5571 bool is_volatile = false;
5572 uint32_t abi_align = get_abi_alignment(g, result_type);
5573 LLVMValueRef byte_count_val = LLVMConstInt(usize_type_ref, type_size(g, result_type), false);
5574 ZigLLVMBuildMemCpy(g->builder,
5575 dest_ptr_casted, abi_align,
5576 src_ptr_casted, abi_align, byte_count_val, is_volatile);
5577 }
5578 if (codegen_fn_has_err_ret_tracing_arg(g, result_type)) {
5579 LLVMValueRef their_trace_ptr_ptr = LLVMBuildStructGEP(g->builder, target_frame_ptr,
5580 frame_index_trace_arg(g, result_type), "");
5581 LLVMValueRef src_trace_ptr = LLVMBuildLoad(g->builder, their_trace_ptr_ptr, "");
5582 LLVMValueRef dest_trace_ptr = get_cur_err_ret_trace_val(g, instruction->base.scope);
5583 LLVMValueRef args[] = { dest_trace_ptr, src_trace_ptr };
5584 ZigLLVMBuildCall(g->builder, get_merge_err_ret_traces_fn_val(g), args, 2,
5585 get_llvm_cc(g, CallingConventionUnspecified), ZigLLVM_FnInlineAuto, "");
5586 }
5647 gen_await_early_return(g, &instruction->base, target_frame_ptr, result_type, ptr_result_type,
5648 result_loc, false);
55875649 LLVMBuildBr(g->builder, end_bb);
55885650
55895651 LLVMPositionBuilderAtEnd(g->builder, resume_bb);
......@@ -5914,12 +5976,17 @@ static void ir_render(CodeGen *g, ZigFn *fn_entry) {
59145976
59155977 for (size_t block_i = 0; block_i < executable->basic_block_list.length; block_i += 1) {
59165978 IrBasicBlock *current_block = executable->basic_block_list.at(block_i);
5979 if (get_scope_typeof(current_block->scope) != nullptr) {
5980 LLVMBuildBr(g->builder, current_block->llvm_block);
5981 }
59175982 assert(current_block->llvm_block);
59185983 LLVMPositionBuilderAtEnd(g->builder, current_block->llvm_block);
59195984 for (size_t instr_i = 0; instr_i < current_block->instruction_list.length; instr_i += 1) {
59205985 IrInstruction *instruction = current_block->instruction_list.at(instr_i);
59215986 if (instruction->ref_count == 0 && !ir_has_side_effects(instruction))
59225987 continue;
5988 if (get_scope_typeof(instruction->scope) != nullptr)
5989 continue;
59235990
59245991 if (!g->strip_debug_symbols) {
59255992 set_debug_location(g, instruction);
......@@ -6312,9 +6379,12 @@ static LLVMValueRef gen_const_val(CodeGen *g, ConstExprValue *const_val, const c
63126379 ZigType *type_entry = const_val->type;
63136380 assert(type_has_bits(type_entry));
63146381
6315 switch (const_val->special) {
6382check: switch (const_val->special) {
63166383 case ConstValSpecialLazy:
6317 zig_unreachable();
6384 if ((err = ir_resolve_lazy(g, nullptr, const_val))) {
6385 report_errors_and_exit(g);
6386 }
6387 goto check;
63186388 case ConstValSpecialRuntime:
63196389 zig_unreachable();
63206390 case ConstValSpecialUndef:
......@@ -6845,6 +6915,7 @@ static void set_global_tls(CodeGen *g, ZigVar *var, LLVMValueRef global_value) {
68456915}
68466916
68476917static void do_code_gen(CodeGen *g) {
6918 Error err;
68486919 assert(!g->errors.length);
68496920
68506921 generate_error_name_table(g);
......@@ -6858,6 +6929,8 @@ static void do_code_gen(CodeGen *g) {
68586929 // Generate debug info for it but that's it.
68596930 ConstExprValue *const_val = var->const_value;
68606931 assert(const_val->special != ConstValSpecialRuntime);
6932 if ((err = ir_resolve_lazy(g, var->decl_node, const_val)))
6933 zig_unreachable();
68616934 if (const_val->type != var->var_type) {
68626935 zig_panic("TODO debug info for var with ptr casted value");
68636936 }
......@@ -6875,6 +6948,8 @@ static void do_code_gen(CodeGen *g) {
68756948 // Generate debug info for it but that's it.
68766949 ConstExprValue *const_val = var->const_value;
68776950 assert(const_val->special != ConstValSpecialRuntime);
6951 if ((err = ir_resolve_lazy(g, var->decl_node, const_val)))
6952 zig_unreachable();
68786953 if (const_val->type != var->var_type) {
68796954 zig_panic("TODO debug info for var with ptr casted value");
68806955 }
......@@ -9751,6 +9826,7 @@ static Error check_cache(CodeGen *g, Buf *manifest_dir, Buf *digest) {
97519826 cache_list_of_str(ch, g->llvm_argv, g->llvm_argv_len);
97529827 cache_list_of_str(ch, g->clang_argv, g->clang_argv_len);
97539828 cache_list_of_str(ch, g->lib_dirs.items, g->lib_dirs.length);
9829 cache_list_of_str(ch, g->framework_dirs.items, g->framework_dirs.length);
97549830 if (g->libc) {
97559831 cache_buf(ch, &g->libc->include_dir);
97569832 cache_buf(ch, &g->libc->sys_include_dir);
src/error.cpp+2
......@@ -55,6 +55,8 @@ const char *err_str(Error err) {
5555 case ErrorBrokenPipe: return "broken pipe";
5656 case ErrorNoSpaceLeft: return "no space left";
5757 case ErrorNoCCompilerInstalled: return "no C compiler installed";
58 case ErrorNotLazy: return "not lazy";
59 case ErrorIsAsync: return "is async";
5860 }
5961 return "(invalid error)";
6062}
src/ir.cpp+495-205
......@@ -330,6 +330,8 @@ static bool ir_should_inline(IrExecutable *exec, Scope *scope) {
330330 while (scope != nullptr) {
331331 if (scope->id == ScopeIdCompTime)
332332 return true;
333 if (scope->id == ScopeIdTypeOf)
334 return false;
333335 if (scope->id == ScopeIdFnDef)
334336 break;
335337 scope = scope->parent;
......@@ -1382,7 +1384,7 @@ static IrInstruction *ir_build_union_field_ptr(IrBuilder *irb, Scope *scope, Ast
13821384
13831385static IrInstruction *ir_build_call_src(IrBuilder *irb, Scope *scope, AstNode *source_node,
13841386 ZigFn *fn_entry, IrInstruction *fn_ref, size_t arg_count, IrInstruction **args,
1385 bool is_comptime, FnInline fn_inline, bool is_async,
1387 bool is_comptime, FnInline fn_inline, bool is_async, bool is_async_call_builtin,
13861388 IrInstruction *new_stack, ResultLoc *result_loc)
13871389{
13881390 IrInstructionCallSrc *call_instruction = ir_build_instruction<IrInstructionCallSrc>(irb, scope, source_node);
......@@ -1393,6 +1395,7 @@ static IrInstruction *ir_build_call_src(IrBuilder *irb, Scope *scope, AstNode *s
13931395 call_instruction->args = args;
13941396 call_instruction->arg_count = arg_count;
13951397 call_instruction->is_async = is_async;
1398 call_instruction->is_async_call_builtin = is_async_call_builtin;
13961399 call_instruction->new_stack = new_stack;
13971400 call_instruction->result_loc = result_loc;
13981401
......@@ -1410,7 +1413,7 @@ static IrInstruction *ir_build_call_src(IrBuilder *irb, Scope *scope, AstNode *s
14101413
14111414static IrInstructionCallGen *ir_build_call_gen(IrAnalyze *ira, IrInstruction *source_instruction,
14121415 ZigFn *fn_entry, IrInstruction *fn_ref, size_t arg_count, IrInstruction **args,
1413 FnInline fn_inline, bool is_async, IrInstruction *new_stack,
1416 FnInline fn_inline, bool is_async, IrInstruction *new_stack, bool is_async_call_builtin,
14141417 IrInstruction *result_loc, ZigType *return_type)
14151418{
14161419 IrInstructionCallGen *call_instruction = ir_build_instruction<IrInstructionCallGen>(&ira->new_irb,
......@@ -1422,6 +1425,7 @@ static IrInstructionCallGen *ir_build_call_gen(IrAnalyze *ira, IrInstruction *so
14221425 call_instruction->args = args;
14231426 call_instruction->arg_count = arg_count;
14241427 call_instruction->is_async = is_async;
1428 call_instruction->is_async_call_builtin = is_async_call_builtin;
14251429 call_instruction->new_stack = new_stack;
14261430 call_instruction->result_loc = result_loc;
14271431
......@@ -3268,7 +3272,7 @@ static IrInstruction *ir_build_await_src(IrBuilder *irb, Scope *scope, AstNode *
32683272 return &instruction->base;
32693273}
32703274
3271static IrInstruction *ir_build_await_gen(IrAnalyze *ira, IrInstruction *source_instruction,
3275static IrInstructionAwaitGen *ir_build_await_gen(IrAnalyze *ira, IrInstruction *source_instruction,
32723276 IrInstruction *frame, ZigType *result_type, IrInstruction *result_loc)
32733277{
32743278 IrInstructionAwaitGen *instruction = ir_build_instruction<IrInstructionAwaitGen>(&ira->new_irb,
......@@ -3280,7 +3284,7 @@ static IrInstruction *ir_build_await_gen(IrAnalyze *ira, IrInstruction *source_i
32803284 ir_ref_instruction(frame, ira->new_irb.current_basic_block);
32813285 if (result_loc != nullptr) ir_ref_instruction(result_loc, ira->new_irb.current_basic_block);
32823286
3283 return &instruction->base;
3287 return instruction;
32843288}
32853289
32863290static IrInstruction *ir_build_resume(IrBuilder *irb, Scope *scope, AstNode *source_node, IrInstruction *frame) {
......@@ -3344,6 +3348,7 @@ static void ir_count_defers(IrBuilder *irb, Scope *inner_scope, Scope *outer_sco
33443348 case ScopeIdSuspend:
33453349 case ScopeIdCompTime:
33463350 case ScopeIdRuntime:
3351 case ScopeIdTypeOf:
33473352 scope = scope->parent;
33483353 continue;
33493354 case ScopeIdDeferExpr:
......@@ -3399,6 +3404,7 @@ static bool ir_gen_defers_for_block(IrBuilder *irb, Scope *inner_scope, Scope *o
33993404 case ScopeIdSuspend:
34003405 case ScopeIdCompTime:
34013406 case ScopeIdRuntime:
3407 case ScopeIdTypeOf:
34023408 scope = scope->parent;
34033409 continue;
34043410 case ScopeIdDeferExpr:
......@@ -4349,6 +4355,54 @@ static IrInstruction *ir_gen_this(IrBuilder *irb, Scope *orig_scope, AstNode *no
43494355 zig_unreachable();
43504356}
43514357
4358static IrInstruction *ir_gen_async_call(IrBuilder *irb, Scope *scope, AstNode *await_node, AstNode *call_node,
4359 LVal lval, ResultLoc *result_loc)
4360{
4361 size_t arg_offset = 3;
4362 if (call_node->data.fn_call_expr.params.length < arg_offset) {
4363 add_node_error(irb->codegen, call_node,
4364 buf_sprintf("expected at least %" ZIG_PRI_usize " arguments, found %" ZIG_PRI_usize,
4365 arg_offset, call_node->data.fn_call_expr.params.length));
4366 return irb->codegen->invalid_instruction;
4367 }
4368
4369 AstNode *bytes_node = call_node->data.fn_call_expr.params.at(0);
4370 IrInstruction *bytes = ir_gen_node(irb, bytes_node, scope);
4371 if (bytes == irb->codegen->invalid_instruction)
4372 return bytes;
4373
4374 AstNode *ret_ptr_node = call_node->data.fn_call_expr.params.at(1);
4375 IrInstruction *ret_ptr = ir_gen_node(irb, ret_ptr_node, scope);
4376 if (ret_ptr == irb->codegen->invalid_instruction)
4377 return ret_ptr;
4378
4379 AstNode *fn_ref_node = call_node->data.fn_call_expr.params.at(2);
4380 IrInstruction *fn_ref = ir_gen_node(irb, fn_ref_node, scope);
4381 if (fn_ref == irb->codegen->invalid_instruction)
4382 return fn_ref;
4383
4384 size_t arg_count = call_node->data.fn_call_expr.params.length - arg_offset;
4385
4386 // last "arg" is return pointer
4387 IrInstruction **args = allocate<IrInstruction*>(arg_count + 1);
4388
4389 for (size_t i = 0; i < arg_count; i += 1) {
4390 AstNode *arg_node = call_node->data.fn_call_expr.params.at(i + arg_offset);
4391 IrInstruction *arg = ir_gen_node(irb, arg_node, scope);
4392 if (arg == irb->codegen->invalid_instruction)
4393 return arg;
4394 args[i] = arg;
4395 }
4396
4397 args[arg_count] = ret_ptr;
4398
4399 bool is_async = await_node == nullptr;
4400 bool is_async_call_builtin = true;
4401 IrInstruction *call = ir_build_call_src(irb, scope, call_node, nullptr, fn_ref, arg_count, args, false,
4402 FnInlineAuto, is_async, is_async_call_builtin, bytes, result_loc);
4403 return ir_lval_wrap(irb, scope, call, lval, result_loc);
4404}
4405
43524406static IrInstruction *ir_gen_builtin_fn_call(IrBuilder *irb, Scope *scope, AstNode *node, LVal lval,
43534407 ResultLoc *result_loc)
43544408{
......@@ -4358,7 +4412,7 @@ static IrInstruction *ir_gen_builtin_fn_call(IrBuilder *irb, Scope *scope, AstNo
43584412 Buf *name = fn_ref_expr->data.symbol_expr.symbol;
43594413 auto entry = irb->codegen->builtin_fn_table.maybe_get(name);
43604414
4361 if (!entry) { // new built in not found
4415 if (!entry) {
43624416 add_node_error(irb->codegen, node,
43634417 buf_sprintf("invalid builtin function: '%s'", buf_ptr(name)));
43644418 return irb->codegen->invalid_instruction;
......@@ -4379,8 +4433,10 @@ static IrInstruction *ir_gen_builtin_fn_call(IrBuilder *irb, Scope *scope, AstNo
43794433 zig_unreachable();
43804434 case BuiltinFnIdTypeof:
43814435 {
4436 Scope *sub_scope = create_typeof_scope(irb->codegen, node, scope);
4437
43824438 AstNode *arg_node = node->data.fn_call_expr.params.at(0);
4383 IrInstruction *arg = ir_gen_node(irb, arg_node, scope);
4439 IrInstruction *arg = ir_gen_node(irb, arg_node, sub_scope);
43844440 if (arg == irb->codegen->invalid_instruction)
43854441 return arg;
43864442
......@@ -5220,7 +5276,7 @@ static IrInstruction *ir_gen_builtin_fn_call(IrBuilder *irb, Scope *scope, AstNo
52205276 FnInline fn_inline = (builtin_fn->id == BuiltinFnIdInlineCall) ? FnInlineAlways : FnInlineNever;
52215277
52225278 IrInstruction *call = ir_build_call_src(irb, scope, node, nullptr, fn_ref, arg_count, args, false,
5223 fn_inline, false, nullptr, result_loc);
5279 fn_inline, false, false, nullptr, result_loc);
52245280 return ir_lval_wrap(irb, scope, call, lval, result_loc);
52255281 }
52265282 case BuiltinFnIdNewStackCall:
......@@ -5253,53 +5309,11 @@ static IrInstruction *ir_gen_builtin_fn_call(IrBuilder *irb, Scope *scope, AstNo
52535309 }
52545310
52555311 IrInstruction *call = ir_build_call_src(irb, scope, node, nullptr, fn_ref, arg_count, args, false,
5256 FnInlineAuto, false, new_stack, result_loc);
5312 FnInlineAuto, false, false, new_stack, result_loc);
52575313 return ir_lval_wrap(irb, scope, call, lval, result_loc);
52585314 }
52595315 case BuiltinFnIdAsyncCall:
5260 {
5261 size_t arg_offset = 3;
5262 if (node->data.fn_call_expr.params.length < arg_offset) {
5263 add_node_error(irb->codegen, node,
5264 buf_sprintf("expected at least %" ZIG_PRI_usize " arguments, found %" ZIG_PRI_usize,
5265 arg_offset, node->data.fn_call_expr.params.length));
5266 return irb->codegen->invalid_instruction;
5267 }
5268
5269 AstNode *bytes_node = node->data.fn_call_expr.params.at(0);
5270 IrInstruction *bytes = ir_gen_node(irb, bytes_node, scope);
5271 if (bytes == irb->codegen->invalid_instruction)
5272 return bytes;
5273
5274 AstNode *ret_ptr_node = node->data.fn_call_expr.params.at(1);
5275 IrInstruction *ret_ptr = ir_gen_node(irb, ret_ptr_node, scope);
5276 if (ret_ptr == irb->codegen->invalid_instruction)
5277 return ret_ptr;
5278
5279 AstNode *fn_ref_node = node->data.fn_call_expr.params.at(2);
5280 IrInstruction *fn_ref = ir_gen_node(irb, fn_ref_node, scope);
5281 if (fn_ref == irb->codegen->invalid_instruction)
5282 return fn_ref;
5283
5284 size_t arg_count = node->data.fn_call_expr.params.length - arg_offset;
5285
5286 // last "arg" is return pointer
5287 IrInstruction **args = allocate<IrInstruction*>(arg_count + 1);
5288
5289 for (size_t i = 0; i < arg_count; i += 1) {
5290 AstNode *arg_node = node->data.fn_call_expr.params.at(i + arg_offset);
5291 IrInstruction *arg = ir_gen_node(irb, arg_node, scope);
5292 if (arg == irb->codegen->invalid_instruction)
5293 return arg;
5294 args[i] = arg;
5295 }
5296
5297 args[arg_count] = ret_ptr;
5298
5299 IrInstruction *call = ir_build_call_src(irb, scope, node, nullptr, fn_ref, arg_count, args, false,
5300 FnInlineAuto, true, bytes, result_loc);
5301 return ir_lval_wrap(irb, scope, call, lval, result_loc);
5302 }
5316 return ir_gen_async_call(irb, scope, nullptr, node, lval, result_loc);
53035317 case BuiltinFnIdTypeId:
53045318 {
53055319 AstNode *arg0_node = node->data.fn_call_expr.params.at(0);
......@@ -5603,7 +5617,7 @@ static IrInstruction *ir_gen_fn_call(IrBuilder *irb, Scope *scope, AstNode *node
56035617
56045618 bool is_async = node->data.fn_call_expr.is_async;
56055619 IrInstruction *fn_call = ir_build_call_src(irb, scope, node, nullptr, fn_ref, arg_count, args, false,
5606 FnInlineAuto, is_async, nullptr, result_loc);
5620 FnInlineAuto, is_async, false, nullptr, result_loc);
56075621 return ir_lval_wrap(irb, scope, fn_call, lval, result_loc);
56085622}
56095623
......@@ -7896,6 +7910,19 @@ static IrInstruction *ir_gen_await_expr(IrBuilder *irb, Scope *scope, AstNode *n
78967910{
78977911 assert(node->type == NodeTypeAwaitExpr);
78987912
7913 AstNode *expr_node = node->data.await_expr.expr;
7914 if (expr_node->type == NodeTypeFnCallExpr && expr_node->data.fn_call_expr.is_builtin) {
7915 AstNode *fn_ref_expr = expr_node->data.fn_call_expr.fn_ref_expr;
7916 Buf *name = fn_ref_expr->data.symbol_expr.symbol;
7917 auto entry = irb->codegen->builtin_fn_table.maybe_get(name);
7918 if (entry != nullptr) {
7919 BuiltinFnEntry *builtin_fn = entry->value;
7920 if (builtin_fn->id == BuiltinFnIdAsyncCall) {
7921 return ir_gen_async_call(irb, scope, node, expr_node, lval, result_loc);
7922 }
7923 }
7924 }
7925
78997926 ZigFn *fn_entry = exec_fn_entry(irb->exec);
79007927 if (!fn_entry) {
79017928 add_node_error(irb->codegen, node, buf_sprintf("await outside function definition"));
......@@ -7911,7 +7938,7 @@ static IrInstruction *ir_gen_await_expr(IrBuilder *irb, Scope *scope, AstNode *n
79117938 return irb->codegen->invalid_instruction;
79127939 }
79137940
7914 IrInstruction *target_inst = ir_gen_node_extra(irb, node->data.await_expr.expr, scope, LValPtr, nullptr);
7941 IrInstruction *target_inst = ir_gen_node_extra(irb, expr_node, scope, LValPtr, nullptr);
79157942 if (target_inst == irb->codegen->invalid_instruction)
79167943 return irb->codegen->invalid_instruction;
79177944
......@@ -8269,6 +8296,10 @@ static ConstExprValue *ir_exec_const_result(CodeGen *codegen, IrExecutable *exec
82698296 break;
82708297 }
82718298 }
8299 if (get_scope_typeof(instruction->scope) != nullptr) {
8300 // doesn't count, it's inside a @typeOf()
8301 continue;
8302 }
82728303 exec_add_error_node(codegen, exec, instruction->source_node,
82738304 buf_sprintf("unable to evaluate constant expression"));
82748305 return &codegen->invalid_instruction->value;
......@@ -9012,7 +9043,42 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstruction *instruc
90129043 return false;
90139044 }
90149045
9015 ConstExprValue *const_val = ir_resolve_const(ira, instruction, UndefBad);
9046 ConstExprValue *const_val = ir_resolve_const(ira, instruction, LazyOkNoUndef);
9047 if (const_val == nullptr)
9048 return false;
9049
9050 if (const_val->special == ConstValSpecialLazy) {
9051 switch (const_val->data.x_lazy->id) {
9052 case LazyValueIdAlignOf: {
9053 // This is guaranteed to fit into a u29
9054 if (other_type->id == ZigTypeIdComptimeInt)
9055 return true;
9056 size_t align_bits = get_align_amt_type(ira->codegen)->data.integral.bit_count;
9057 if (other_type->id == ZigTypeIdInt && !other_type->data.integral.is_signed &&
9058 other_type->data.integral.bit_count >= align_bits)
9059 {
9060 return true;
9061 }
9062 break;
9063 }
9064 case LazyValueIdSizeOf: {
9065 // This is guaranteed to fit into a usize
9066 if (other_type->id == ZigTypeIdComptimeInt)
9067 return true;
9068 size_t usize_bits = ira->codegen->builtin_types.entry_usize->data.integral.bit_count;
9069 if (other_type->id == ZigTypeIdInt && !other_type->data.integral.is_signed &&
9070 other_type->data.integral.bit_count >= usize_bits)
9071 {
9072 return true;
9073 }
9074 break;
9075 }
9076 default:
9077 break;
9078 }
9079 }
9080
9081 const_val = ir_resolve_const(ira, instruction, UndefBad);
90169082 if (const_val == nullptr)
90179083 return false;
90189084
......@@ -10262,7 +10328,7 @@ static void copy_const_val(ConstExprValue *dest, ConstExprValue *src, bool same_
1026210328 memcpy(dest, src, sizeof(ConstExprValue));
1026310329 if (!same_global_refs) {
1026410330 dest->global_refs = global_refs;
10265 if (src->special == ConstValSpecialUndef)
10331 if (src->special != ConstValSpecialStatic)
1026610332 return;
1026710333 if (dest->type->id == ZigTypeIdStruct) {
1026810334 dest->data.x_struct.fields = create_const_vals(dest->type->data.structure.src_field_count);
......@@ -10640,7 +10706,9 @@ static void ir_finish_bb(IrAnalyze *ira) {
1064010706
1064110707static IrInstruction *ir_unreach_error(IrAnalyze *ira) {
1064210708 ira->old_bb_index = SIZE_MAX;
10643 assert(ira->new_irb.exec->first_err_trace_msg != nullptr);
10709 if (ira->new_irb.exec->first_err_trace_msg == nullptr) {
10710 ira->new_irb.exec->first_err_trace_msg = ira->codegen->trace_err;
10711 }
1064410712 return ira->codegen->unreach_instruction;
1064510713}
1064610714
......@@ -10801,7 +10869,7 @@ ConstExprValue *ir_eval_const_value(CodeGen *codegen, Scope *scope, AstNode *nod
1080110869 fprintf(stderr, "\nSource: ");
1080210870 ast_render(stderr, node, 4);
1080310871 fprintf(stderr, "\n{ // (IR)\n");
10804 ir_print(codegen, stderr, ir_executable, 2);
10872 ir_print(codegen, stderr, ir_executable, 2, 1);
1080510873 fprintf(stderr, "}\n");
1080610874 }
1080710875 IrExecutable *analyzed_executable = allocate<IrExecutable>(1);
......@@ -10822,7 +10890,7 @@ ConstExprValue *ir_eval_const_value(CodeGen *codegen, Scope *scope, AstNode *nod
1082210890
1082310891 if (codegen->verbose_ir) {
1082410892 fprintf(stderr, "{ // (analyzed)\n");
10825 ir_print(codegen, stderr, analyzed_executable, 2);
10893 ir_print(codegen, stderr, analyzed_executable, 2, 2);
1082610894 fprintf(stderr, "}\n");
1082710895 }
1082810896
......@@ -11211,7 +11279,7 @@ static IrInstruction *ir_get_ref(IrAnalyze *ira, IrInstruction *source_instructi
1121111279 return ira->codegen->invalid_instruction;
1121211280
1121311281 if (instr_is_comptime(value)) {
11214 ConstExprValue *val = ir_resolve_const(ira, value, UndefOk);
11282 ConstExprValue *val = ir_resolve_const(ira, value, LazyOk);
1121511283 if (!val)
1121611284 return ira->codegen->invalid_instruction;
1121711285 return ir_get_const_ptr(ira, source_instruction, val, value->value.type,
......@@ -12123,7 +12191,8 @@ static IrInstruction *ir_analyze_cast(IrAnalyze *ira, IrInstruction *source_inst
1212312191 if (wanted_type->id == ZigTypeIdComptimeInt || wanted_type->id == ZigTypeIdInt) {
1212412192 IrInstruction *result = ir_const(ira, source_instr, wanted_type);
1212512193 if (actual_type->id == ZigTypeIdComptimeInt || actual_type->id == ZigTypeIdInt) {
12126 bigint_init_bigint(&result->value.data.x_bigint, &value->value.data.x_bigint);
12194 copy_const_val(&result->value, &value->value, false);
12195 result->value.type = wanted_type;
1212712196 } else {
1212812197 float_init_bigint(&result->value.data.x_bigint, &value->value);
1212912198 }
......@@ -12611,10 +12680,27 @@ static bool ir_resolve_const_align(CodeGen *codegen, IrExecutable *exec, AstNode
1261112680 return true;
1261212681}
1261312682
12614static bool ir_resolve_align(IrAnalyze *ira, IrInstruction *value, uint32_t *out) {
12683static bool ir_resolve_align(IrAnalyze *ira, IrInstruction *value, ZigType *elem_type, uint32_t *out) {
1261512684 if (type_is_invalid(value->value.type))
1261612685 return false;
1261712686
12687 // Look for this pattern: `*align(@alignOf(T)) T`.
12688 // This can be resolved to be `*out = 0` without resolving any alignment.
12689 if (elem_type != nullptr && value->value.special == ConstValSpecialLazy &&
12690 value->value.data.x_lazy->id == LazyValueIdAlignOf)
12691 {
12692 LazyValueAlignOf *lazy_align_of = reinterpret_cast<LazyValueAlignOf *>(value->value.data.x_lazy);
12693
12694 ZigType *lazy_elem_type = ir_resolve_type(lazy_align_of->ira, lazy_align_of->target_type);
12695 if (type_is_invalid(lazy_elem_type))
12696 return false;
12697
12698 if (elem_type == lazy_elem_type) {
12699 *out = 0;
12700 return true;
12701 }
12702 }
12703
1261812704 IrInstruction *casted_value = ir_implicit_cast(ira, value, get_align_amt_type(ira->codegen));
1261912705 if (type_is_invalid(casted_value->value.type))
1262012706 return false;
......@@ -12932,7 +13018,52 @@ static bool optional_value_is_null(ConstExprValue *val) {
1293213018 }
1293313019}
1293413020
13021// Returns ErrorNotLazy when the value cannot be determined
13022static Error lazy_cmp_zero(AstNode *source_node, ConstExprValue *val, Cmp *result) {
13023 Error err;
13024
13025 switch (val->special) {
13026 case ConstValSpecialRuntime:
13027 case ConstValSpecialUndef:
13028 return ErrorNotLazy;
13029 case ConstValSpecialStatic:
13030 switch (val->type->id) {
13031 case ZigTypeIdComptimeInt:
13032 case ZigTypeIdInt:
13033 *result = bigint_cmp_zero(&val->data.x_bigint);
13034 return ErrorNone;
13035 default:
13036 return ErrorNotLazy;
13037 }
13038 case ConstValSpecialLazy:
13039 switch (val->data.x_lazy->id) {
13040 case LazyValueIdInvalid:
13041 zig_unreachable();
13042 case LazyValueIdAlignOf:
13043 *result = CmpGT;
13044 return ErrorNone;
13045 case LazyValueIdSizeOf: {
13046 LazyValueSizeOf *lazy_size_of = reinterpret_cast<LazyValueSizeOf *>(val->data.x_lazy);
13047 IrAnalyze *ira = lazy_size_of->ira;
13048 bool is_zero_bits;
13049 if ((err = type_val_resolve_zero_bits(ira->codegen, &lazy_size_of->target_type->value,
13050 nullptr, nullptr, &is_zero_bits)))
13051 {
13052 return err;
13053 }
13054 *result = is_zero_bits ? CmpEQ : CmpGT;
13055 return ErrorNone;
13056 }
13057 default:
13058 return ErrorNotLazy;
13059 }
13060 }
13061 zig_unreachable();
13062}
13063
1293513064static IrInstruction *ir_analyze_bin_op_cmp(IrAnalyze *ira, IrInstructionBinOp *bin_op_instruction) {
13065 Error err;
13066
1293613067 IrInstruction *op1 = bin_op_instruction->op1->child;
1293713068 if (type_is_invalid(op1->value.type))
1293813069 return ira->codegen->invalid_instruction;
......@@ -13182,6 +13313,50 @@ static IrInstruction *ir_analyze_bin_op_cmp(IrAnalyze *ira, IrInstructionBinOp *
1318213313 }
1318313314
1318413315 if (one_possible_value || (instr_is_comptime(casted_op1) && instr_is_comptime(casted_op2))) {
13316 {
13317 // Before resolving the values, we special case comparisons against zero. These can often be done
13318 // without resolving lazy values, preventing potential dependency loops.
13319 Cmp op1_cmp_zero;
13320 if ((err = lazy_cmp_zero(bin_op_instruction->base.source_node, &casted_op1->value, &op1_cmp_zero))) {
13321 if (err == ErrorNotLazy) goto never_mind_just_calculate_it_normally;
13322 return ira->codegen->invalid_instruction;
13323 }
13324 Cmp op2_cmp_zero;
13325 if ((err = lazy_cmp_zero(bin_op_instruction->base.source_node, &casted_op2->value, &op2_cmp_zero))) {
13326 if (err == ErrorNotLazy) goto never_mind_just_calculate_it_normally;
13327 return ira->codegen->invalid_instruction;
13328 }
13329 bool can_cmp_zero = false;
13330 Cmp cmp_result;
13331 if (op1_cmp_zero == CmpEQ && op2_cmp_zero == CmpEQ) {
13332 can_cmp_zero = true;
13333 cmp_result = CmpEQ;
13334 } else if (op1_cmp_zero == CmpGT && op2_cmp_zero == CmpEQ) {
13335 can_cmp_zero = true;
13336 cmp_result = CmpGT;
13337 } else if (op1_cmp_zero == CmpEQ && op2_cmp_zero == CmpGT) {
13338 can_cmp_zero = true;
13339 cmp_result = CmpLT;
13340 } else if (op1_cmp_zero == CmpLT && op2_cmp_zero == CmpEQ) {
13341 can_cmp_zero = true;
13342 cmp_result = CmpLT;
13343 } else if (op1_cmp_zero == CmpEQ && op2_cmp_zero == CmpLT) {
13344 can_cmp_zero = true;
13345 cmp_result = CmpGT;
13346 } else if (op1_cmp_zero == CmpLT && op2_cmp_zero == CmpGT) {
13347 can_cmp_zero = true;
13348 cmp_result = CmpLT;
13349 } else if (op1_cmp_zero == CmpGT && op2_cmp_zero == CmpLT) {
13350 can_cmp_zero = true;
13351 cmp_result = CmpGT;
13352 }
13353 if (can_cmp_zero) {
13354 bool answer = resolve_cmp_op_id(op_id, cmp_result);
13355 return ir_const_bool(ira, &bin_op_instruction->base, answer);
13356 }
13357 }
13358never_mind_just_calculate_it_normally:
13359
1318513360 ConstExprValue *op1_val = one_possible_value ? &casted_op1->value : ir_resolve_const(ira, casted_op1, UndefBad);
1318613361 if (op1_val == nullptr)
1318713362 return ira->codegen->invalid_instruction;
......@@ -14333,7 +14508,7 @@ static IrInstruction *ir_analyze_instruction_decl_var(IrAnalyze *ira,
1433314508 }
1433414509 var->align_bytes = get_abi_alignment(ira->codegen, result_type);
1433514510 } else {
14336 if (!ir_resolve_align(ira, decl_var_instruction->align_value->child, &var->align_bytes)) {
14511 if (!ir_resolve_align(ira, decl_var_instruction->align_value->child, nullptr, &var->align_bytes)) {
1433714512 var->var_type = ira->codegen->builtin_types.entry_invalid;
1433814513 }
1433914514 }
......@@ -14761,7 +14936,7 @@ static IrInstruction *ir_resolve_result_raw(IrAnalyze *ira, IrInstruction *suspe
1476114936 PtrLenSingle, 0, 0, 0, false);
1476214937 set_up_result_loc_for_inferred_comptime(&alloca_gen->base);
1476314938 ZigFn *fn_entry = exec_fn_entry(ira->new_irb.exec);
14764 if (fn_entry != nullptr) {
14939 if (fn_entry != nullptr && get_scope_typeof(suspend_source_instr->scope) == nullptr) {
1476514940 fn_entry->alloca_gen_list.append(alloca_gen);
1476614941 }
1476714942 result_loc->written = true;
......@@ -14788,7 +14963,7 @@ static IrInstruction *ir_resolve_result_raw(IrAnalyze *ira, IrInstruction *suspe
1478814963
1478914964 if (alloca_src->base.child == nullptr || is_comptime) {
1479014965 uint32_t align = 0;
14791 if (alloca_src->align != nullptr && !ir_resolve_align(ira, alloca_src->align->child, &align)) {
14966 if (alloca_src->align != nullptr && !ir_resolve_align(ira, alloca_src->align->child, nullptr, &align)) {
1479214967 return ira->codegen->invalid_instruction;
1479314968 }
1479414969 IrInstruction *alloca_gen;
......@@ -15092,44 +15267,61 @@ static IrInstruction *ir_analyze_instruction_reset_result(IrAnalyze *ira, IrInst
1509215267 return ir_const_void(ira, &instruction->base);
1509315268}
1509415269
15270static IrInstruction *get_async_call_result_loc(IrAnalyze *ira, IrInstructionCallSrc *call_instruction,
15271 ZigType *fn_ret_type)
15272{
15273 ir_assert(call_instruction->is_async_call_builtin, &call_instruction->base);
15274 IrInstruction *ret_ptr_uncasted = call_instruction->args[call_instruction->arg_count]->child;
15275 if (type_is_invalid(ret_ptr_uncasted->value.type))
15276 return ira->codegen->invalid_instruction;
15277 if (ret_ptr_uncasted->value.type->id == ZigTypeIdVoid) {
15278 // Result location will be inside the async frame.
15279 return nullptr;
15280 }
15281 return ir_implicit_cast(ira, ret_ptr_uncasted, get_pointer_to_type(ira->codegen, fn_ret_type, false));
15282}
15283
1509515284static IrInstruction *ir_analyze_async_call(IrAnalyze *ira, IrInstructionCallSrc *call_instruction, ZigFn *fn_entry,
1509615285 ZigType *fn_type, IrInstruction *fn_ref, IrInstruction **casted_args, size_t arg_count,
1509715286 IrInstruction *casted_new_stack)
1509815287{
15099 if (casted_new_stack != nullptr) {
15100 // this is an @asyncCall
15101
15288 if (fn_entry == nullptr) {
1510215289 if (fn_type->data.fn.fn_type_id.cc != CallingConventionAsync) {
1510315290 ir_add_error(ira, fn_ref,
1510415291 buf_sprintf("expected async function, found '%s'", buf_ptr(&fn_type->name)));
1510515292 return ira->codegen->invalid_instruction;
1510615293 }
15107
15108 IrInstruction *ret_ptr = call_instruction->args[call_instruction->arg_count]->child;
15109 if (type_is_invalid(ret_ptr->value.type))
15294 if (casted_new_stack == nullptr) {
15295 ir_add_error(ira, fn_ref, buf_sprintf("function is not comptime-known; @asyncCall required"));
15296 return ira->codegen->invalid_instruction;
15297 }
15298 }
15299 if (casted_new_stack != nullptr) {
15300 ZigType *fn_ret_type = fn_type->data.fn.fn_type_id.return_type;
15301 IrInstruction *ret_ptr = get_async_call_result_loc(ira, call_instruction, fn_ret_type);
15302 if (ret_ptr != nullptr && type_is_invalid(ret_ptr->value.type))
1511015303 return ira->codegen->invalid_instruction;
1511115304
15112 ZigType *anyframe_type = get_any_frame_type(ira->codegen, fn_type->data.fn.fn_type_id.return_type);
15305 ZigType *anyframe_type = get_any_frame_type(ira->codegen, fn_ret_type);
1511315306
15114 IrInstructionCallGen *call_gen = ir_build_call_gen(ira, &call_instruction->base, nullptr, fn_ref,
15115 arg_count, casted_args, FnInlineAuto, true, casted_new_stack, ret_ptr, anyframe_type);
15307 IrInstructionCallGen *call_gen = ir_build_call_gen(ira, &call_instruction->base, fn_entry, fn_ref,
15308 arg_count, casted_args, FnInlineAuto, true, casted_new_stack,
15309 call_instruction->is_async_call_builtin, ret_ptr, anyframe_type);
1511615310 return &call_gen->base;
15117 } else if (fn_entry == nullptr) {
15118 ir_add_error(ira, fn_ref, buf_sprintf("function is not comptime-known; @asyncCall required"));
15119 return ira->codegen->invalid_instruction;
15120 }
15121
15122 ZigType *frame_type = get_fn_frame_type(ira->codegen, fn_entry);
15123 IrInstruction *result_loc = ir_resolve_result(ira, &call_instruction->base, call_instruction->result_loc,
15124 frame_type, nullptr, true, true, false);
15125 if (type_is_invalid(result_loc->value.type) || instr_is_unreachable(result_loc)) {
15126 return result_loc;
15311 } else {
15312 ZigType *frame_type = get_fn_frame_type(ira->codegen, fn_entry);
15313 IrInstruction *result_loc = ir_resolve_result(ira, &call_instruction->base, call_instruction->result_loc,
15314 frame_type, nullptr, true, true, false);
15315 if (type_is_invalid(result_loc->value.type) || instr_is_unreachable(result_loc)) {
15316 return result_loc;
15317 }
15318 result_loc = ir_implicit_cast(ira, result_loc, get_pointer_to_type(ira->codegen, frame_type, false));
15319 if (type_is_invalid(result_loc->value.type))
15320 return ira->codegen->invalid_instruction;
15321 return &ir_build_call_gen(ira, &call_instruction->base, fn_entry, fn_ref, arg_count,
15322 casted_args, FnInlineAuto, true, casted_new_stack, call_instruction->is_async_call_builtin,
15323 result_loc, frame_type)->base;
1512715324 }
15128 result_loc = ir_implicit_cast(ira, result_loc, get_pointer_to_type(ira->codegen, frame_type, false));
15129 if (type_is_invalid(result_loc->value.type))
15130 return ira->codegen->invalid_instruction;
15131 return &ir_build_call_gen(ira, &call_instruction->base, fn_entry, fn_ref, arg_count,
15132 casted_args, FnInlineAuto, true, nullptr, result_loc, frame_type)->base;
1513315325}
1513415326static bool ir_analyze_fn_call_inline_arg(IrAnalyze *ira, AstNode *fn_proto_node,
1513515327 IrInstruction *arg, Scope **exec_scope, size_t *next_proto_i)
......@@ -15193,7 +15385,7 @@ static bool ir_analyze_fn_call_generic_arg(IrAnalyze *ira, AstNode *fn_proto_nod
1519315385 }
1519415386 }
1519515387
15196 bool comptime_arg = param_decl_node->data.param_decl.is_inline ||
15388 bool comptime_arg = param_decl_node->data.param_decl.is_comptime ||
1519715389 casted_arg->value.type->id == ZigTypeIdComptimeInt || casted_arg->value.type->id == ZigTypeIdComptimeFloat;
1519815390
1519915391 ConstExprValue *arg_val;
......@@ -15458,6 +15650,31 @@ static IrInstruction *ir_analyze_store_ptr(IrAnalyze *ira, IrInstruction *source
1545815650 return &store_ptr->base;
1545915651}
1546015652
15653static IrInstruction *analyze_casted_new_stack(IrAnalyze *ira, IrInstructionCallSrc *call_instruction,
15654 ZigFn *fn_entry)
15655{
15656 if (call_instruction->new_stack == nullptr)
15657 return nullptr;
15658
15659 IrInstruction *new_stack = call_instruction->new_stack->child;
15660 if (type_is_invalid(new_stack->value.type))
15661 return ira->codegen->invalid_instruction;
15662
15663 if (call_instruction->is_async_call_builtin &&
15664 fn_entry != nullptr && new_stack->value.type->id == ZigTypeIdPointer &&
15665 new_stack->value.type->data.pointer.child_type->id == ZigTypeIdFnFrame)
15666 {
15667 ZigType *needed_frame_type = get_pointer_to_type(ira->codegen,
15668 get_fn_frame_type(ira->codegen, fn_entry), false);
15669 return ir_implicit_cast(ira, new_stack, needed_frame_type);
15670 } else {
15671 ZigType *u8_ptr = get_pointer_to_type_extra(ira->codegen, ira->codegen->builtin_types.entry_u8,
15672 false, false, PtrLenUnknown, target_fn_align(ira->codegen->zig_target), 0, 0, false);
15673 ZigType *u8_slice = get_slice_type(ira->codegen, u8_ptr);
15674 return ir_implicit_cast(ira, new_stack, u8_slice);
15675 }
15676}
15677
1546115678static IrInstruction *ir_analyze_fn_call(IrAnalyze *ira, IrInstructionCallSrc *call_instruction,
1546215679 ZigFn *fn_entry, ZigType *fn_type, IrInstruction *fn_ref,
1546315680 IrInstruction *first_arg_ptr, bool comptime_fn_call, FnInline fn_inline)
......@@ -15636,20 +15853,6 @@ static IrInstruction *ir_analyze_fn_call(IrAnalyze *ira, IrInstructionCallSrc *c
1563615853 return ir_finish_anal(ira, new_instruction);
1563715854 }
1563815855
15639 IrInstruction *casted_new_stack = nullptr;
15640 if (call_instruction->new_stack != nullptr) {
15641 ZigType *u8_ptr = get_pointer_to_type_extra(ira->codegen, ira->codegen->builtin_types.entry_u8,
15642 false, false, PtrLenUnknown, target_fn_align(ira->codegen->zig_target), 0, 0, false);
15643 ZigType *u8_slice = get_slice_type(ira->codegen, u8_ptr);
15644 IrInstruction *new_stack = call_instruction->new_stack->child;
15645 if (type_is_invalid(new_stack->value.type))
15646 return ira->codegen->invalid_instruction;
15647
15648 casted_new_stack = ir_implicit_cast(ira, new_stack, u8_slice);
15649 if (type_is_invalid(casted_new_stack->value.type))
15650 return ira->codegen->invalid_instruction;
15651 }
15652
1565315856 if (fn_type->data.fn.is_generic) {
1565415857 if (!fn_entry) {
1565515858 ir_add_error(ira, call_instruction->fn_ref,
......@@ -15805,7 +16008,7 @@ static IrInstruction *ir_analyze_fn_call(IrAnalyze *ira, IrInstructionCallSrc *c
1580516008 copy_const_val(&const_instruction->base.value, align_result, true);
1580616009
1580716010 uint32_t align_bytes = 0;
15808 ir_resolve_align(ira, &const_instruction->base, &align_bytes);
16011 ir_resolve_align(ira, &const_instruction->base, nullptr, &align_bytes);
1580916012 impl_fn->align_bytes = align_bytes;
1581016013 inst_fn_type_id.alignment = align_bytes;
1581116014 }
......@@ -15857,6 +16060,22 @@ static IrInstruction *ir_analyze_fn_call(IrAnalyze *ira, IrInstructionCallSrc *c
1585716060 }
1585816061
1585916062 FnTypeId *impl_fn_type_id = &impl_fn->type_entry->data.fn.fn_type_id;
16063
16064 if (fn_type_can_fail(impl_fn_type_id)) {
16065 parent_fn_entry->calls_or_awaits_errorable_fn = true;
16066 }
16067
16068 IrInstruction *casted_new_stack = analyze_casted_new_stack(ira, call_instruction, impl_fn);
16069 if (casted_new_stack != nullptr && type_is_invalid(casted_new_stack->value.type))
16070 return ira->codegen->invalid_instruction;
16071
16072 size_t impl_param_count = impl_fn_type_id->param_count;
16073 if (call_instruction->is_async) {
16074 IrInstruction *result = ir_analyze_async_call(ira, call_instruction, impl_fn, impl_fn->type_entry,
16075 nullptr, casted_args, impl_param_count, casted_new_stack);
16076 return ir_finish_anal(ira, result);
16077 }
16078
1586016079 IrInstruction *result_loc;
1586116080 if (handle_is_ptr(impl_fn_type_id->return_type)) {
1586216081 result_loc = ir_resolve_result(ira, &call_instruction->base, call_instruction->result_loc,
......@@ -15870,21 +16089,14 @@ static IrInstruction *ir_analyze_fn_call(IrAnalyze *ira, IrInstructionCallSrc *c
1587016089 result_loc = nullptr;
1587116090 }
1587216091 }
16092 } else if (call_instruction->is_async_call_builtin) {
16093 result_loc = get_async_call_result_loc(ira, call_instruction, impl_fn_type_id->return_type);
16094 if (result_loc != nullptr && type_is_invalid(result_loc->value.type))
16095 return ira->codegen->invalid_instruction;
1587316096 } else {
1587416097 result_loc = nullptr;
1587516098 }
1587616099
15877 if (fn_type_can_fail(impl_fn_type_id)) {
15878 parent_fn_entry->calls_or_awaits_errorable_fn = true;
15879 }
15880
15881 size_t impl_param_count = impl_fn_type_id->param_count;
15882 if (call_instruction->is_async) {
15883 IrInstruction *result = ir_analyze_async_call(ira, call_instruction, impl_fn, impl_fn->type_entry,
15884 nullptr, casted_args, impl_param_count, casted_new_stack);
15885 return ir_finish_anal(ira, result);
15886 }
15887
1588816100 if (impl_fn_type_id->cc == CallingConventionAsync && parent_fn_entry->inferred_async_node == nullptr) {
1588916101 parent_fn_entry->inferred_async_node = fn_ref->source_node;
1589016102 parent_fn_entry->inferred_async_fn = impl_fn;
......@@ -15892,10 +16104,12 @@ static IrInstruction *ir_analyze_fn_call(IrAnalyze *ira, IrInstructionCallSrc *c
1589216104
1589316105 IrInstructionCallGen *new_call_instruction = ir_build_call_gen(ira, &call_instruction->base,
1589416106 impl_fn, nullptr, impl_param_count, casted_args, fn_inline,
15895 false, casted_new_stack, result_loc,
16107 false, casted_new_stack, call_instruction->is_async_call_builtin, result_loc,
1589616108 impl_fn_type_id->return_type);
1589716109
15898 parent_fn_entry->call_list.append(new_call_instruction);
16110 if (get_scope_typeof(call_instruction->base.scope) == nullptr) {
16111 parent_fn_entry->call_list.append(new_call_instruction);
16112 }
1589916113
1590016114 return ir_finish_anal(ira, &new_call_instruction->base);
1590116115 }
......@@ -16003,6 +16217,10 @@ static IrInstruction *ir_analyze_fn_call(IrAnalyze *ira, IrInstructionCallSrc *c
1600316217 return ira->codegen->invalid_instruction;
1600416218 }
1600516219
16220 IrInstruction *casted_new_stack = analyze_casted_new_stack(ira, call_instruction, fn_entry);
16221 if (casted_new_stack != nullptr && type_is_invalid(casted_new_stack->value.type))
16222 return ira->codegen->invalid_instruction;
16223
1600616224 if (call_instruction->is_async) {
1600716225 IrInstruction *result = ir_analyze_async_call(ira, call_instruction, fn_entry, fn_type, fn_ref,
1600816226 casted_args, call_param_count, casted_new_stack);
......@@ -16027,14 +16245,20 @@ static IrInstruction *ir_analyze_fn_call(IrAnalyze *ira, IrInstructionCallSrc *c
1602716245 result_loc = nullptr;
1602816246 }
1602916247 }
16248 } else if (call_instruction->is_async_call_builtin) {
16249 result_loc = get_async_call_result_loc(ira, call_instruction, return_type);
16250 if (result_loc != nullptr && type_is_invalid(result_loc->value.type))
16251 return ira->codegen->invalid_instruction;
1603016252 } else {
1603116253 result_loc = nullptr;
1603216254 }
1603316255
1603416256 IrInstructionCallGen *new_call_instruction = ir_build_call_gen(ira, &call_instruction->base, fn_entry, fn_ref,
1603516257 call_param_count, casted_args, fn_inline, false, casted_new_stack,
16036 result_loc, return_type);
16037 parent_fn_entry->call_list.append(new_call_instruction);
16258 call_instruction->is_async_call_builtin, result_loc, return_type);
16259 if (get_scope_typeof(call_instruction->base.scope) == nullptr) {
16260 parent_fn_entry->call_list.append(new_call_instruction);
16261 }
1603816262 return ir_finish_anal(ira, &new_call_instruction->base);
1603916263}
1604016264
......@@ -16810,12 +17034,6 @@ static IrInstruction *ir_analyze_instruction_elem_ptr(IrAnalyze *ira, IrInstruct
1681017034 return ira->codegen->invalid_instruction;
1681117035
1681217036 bool safety_check_on = elem_ptr_instruction->safety_check_on;
16813 if ((err = type_resolve(ira->codegen, return_type->data.pointer.child_type, ResolveStatusSizeKnown)))
16814 return ira->codegen->invalid_instruction;
16815
16816 uint64_t elem_size = type_size(ira->codegen, return_type->data.pointer.child_type);
16817 uint64_t abi_align = get_abi_alignment(ira->codegen, return_type->data.pointer.child_type);
16818 uint64_t ptr_align = get_ptr_align(ira->codegen, return_type);
1681917037 if (instr_is_comptime(casted_elem_index)) {
1682017038 uint64_t index = bigint_as_u64(&casted_elem_index->value.data.x_bigint);
1682117039 if (array_type->id == ZigTypeIdArray) {
......@@ -16829,8 +17047,16 @@ static IrInstruction *ir_analyze_instruction_elem_ptr(IrAnalyze *ira, IrInstruct
1682917047 safety_check_on = false;
1683017048 }
1683117049
16832 {
17050 if (return_type->data.pointer.explicit_alignment != 0) {
1683317051 // figure out the largest alignment possible
17052
17053 if ((err = type_resolve(ira->codegen, return_type->data.pointer.child_type, ResolveStatusSizeKnown)))
17054 return ira->codegen->invalid_instruction;
17055
17056 uint64_t elem_size = type_size(ira->codegen, return_type->data.pointer.child_type);
17057 uint64_t abi_align = get_abi_alignment(ira->codegen, return_type->data.pointer.child_type);
17058 uint64_t ptr_align = get_ptr_align(ira->codegen, return_type);
17059
1683417060 uint64_t chosen_align = abi_align;
1683517061 if (ptr_align >= abi_align) {
1683617062 while (ptr_align > abi_align) {
......@@ -17059,15 +17285,24 @@ static IrInstruction *ir_analyze_instruction_elem_ptr(IrAnalyze *ira, IrInstruct
1705917285 case ReqCompTimeNo:
1706017286 break;
1706117287 }
17062 if (ptr_align < abi_align) {
17063 if (elem_size >= ptr_align && elem_size % ptr_align == 0) {
17064 return_type = adjust_ptr_align(ira->codegen, return_type, ptr_align);
17288
17289 if (return_type->data.pointer.explicit_alignment != 0) {
17290 if ((err = type_resolve(ira->codegen, return_type->data.pointer.child_type, ResolveStatusSizeKnown)))
17291 return ira->codegen->invalid_instruction;
17292
17293 uint64_t elem_size = type_size(ira->codegen, return_type->data.pointer.child_type);
17294 uint64_t abi_align = get_abi_alignment(ira->codegen, return_type->data.pointer.child_type);
17295 uint64_t ptr_align = get_ptr_align(ira->codegen, return_type);
17296 if (ptr_align < abi_align) {
17297 if (elem_size >= ptr_align && elem_size % ptr_align == 0) {
17298 return_type = adjust_ptr_align(ira->codegen, return_type, ptr_align);
17299 } else {
17300 // can't get here because guaranteed elem_size >= abi_align
17301 zig_unreachable();
17302 }
1706517303 } else {
17066 // can't get here because guaranteed elem_size >= abi_align
17067 zig_unreachable();
17304 return_type = adjust_ptr_align(ira->codegen, return_type, abi_align);
1706817305 }
17069 } else {
17070 return_type = adjust_ptr_align(ira->codegen, return_type, abi_align);
1707117306 }
1707217307 }
1707317308
......@@ -17475,6 +17710,11 @@ static IrInstruction *ir_analyze_instruction_field_ptr(IrAnalyze *ira, IrInstruc
1747517710 ConstExprValue *child_val = const_ptr_pointee(ira, ira->codegen, container_ptr_val, source_node);
1747617711 if (child_val == nullptr)
1747717712 return ira->codegen->invalid_instruction;
17713 if ((err = ir_resolve_const_val(ira->codegen, ira->new_irb.exec,
17714 field_ptr_instruction->base.source_node, child_val, UndefBad)))
17715 {
17716 return ira->codegen->invalid_instruction;
17717 }
1747817718 ZigType *child_type = child_val->data.x_type;
1747917719
1748017720 if (type_is_invalid(child_type)) {
......@@ -18066,54 +18306,20 @@ static IrInstruction *ir_analyze_instruction_array_type(IrAnalyze *ira,
1806618306 zig_unreachable();
1806718307}
1806818308
18069static IrInstruction *ir_analyze_instruction_size_of(IrAnalyze *ira,
18070 IrInstructionSizeOf *size_of_instruction)
18071{
18072 Error err;
18073 IrInstruction *type_value = size_of_instruction->type_value->child;
18074 ZigType *type_entry = ir_resolve_type(ira, type_value);
18309static IrInstruction *ir_analyze_instruction_size_of(IrAnalyze *ira, IrInstructionSizeOf *instruction) {
18310 IrInstruction *result = ir_const(ira, &instruction->base, ira->codegen->builtin_types.entry_num_lit_int);
18311 result->value.special = ConstValSpecialLazy;
1807518312
18076 if ((err = type_resolve(ira->codegen, type_entry, ResolveStatusSizeKnown)))
18313 LazyValueSizeOf *lazy_size_of = allocate<LazyValueSizeOf>(1);
18314 lazy_size_of->ira = ira;
18315 result->value.data.x_lazy = &lazy_size_of->base;
18316 lazy_size_of->base.id = LazyValueIdSizeOf;
18317
18318 lazy_size_of->target_type = instruction->type_value->child;
18319 if (ir_resolve_type_lazy(ira, lazy_size_of->target_type) == nullptr)
1807718320 return ira->codegen->invalid_instruction;
1807818321
18079 switch (type_entry->id) {
18080 case ZigTypeIdInvalid: // handled above
18081 zig_unreachable();
18082 case ZigTypeIdUnreachable:
18083 case ZigTypeIdUndefined:
18084 case ZigTypeIdNull:
18085 case ZigTypeIdBoundFn:
18086 case ZigTypeIdArgTuple:
18087 case ZigTypeIdOpaque:
18088 ir_add_error_node(ira, type_value->source_node,
18089 buf_sprintf("no size available for type '%s'", buf_ptr(&type_entry->name)));
18090 return ira->codegen->invalid_instruction;
18091 case ZigTypeIdMetaType:
18092 case ZigTypeIdEnumLiteral:
18093 case ZigTypeIdComptimeFloat:
18094 case ZigTypeIdComptimeInt:
18095 case ZigTypeIdVoid:
18096 case ZigTypeIdBool:
18097 case ZigTypeIdInt:
18098 case ZigTypeIdFloat:
18099 case ZigTypeIdPointer:
18100 case ZigTypeIdArray:
18101 case ZigTypeIdStruct:
18102 case ZigTypeIdOptional:
18103 case ZigTypeIdErrorUnion:
18104 case ZigTypeIdErrorSet:
18105 case ZigTypeIdEnum:
18106 case ZigTypeIdUnion:
18107 case ZigTypeIdFn:
18108 case ZigTypeIdVector:
18109 case ZigTypeIdFnFrame:
18110 case ZigTypeIdAnyFrame:
18111 {
18112 uint64_t size_in_bytes = type_size(ira->codegen, type_entry);
18113 return ir_const_unsigned(ira, &size_of_instruction->base, size_in_bytes);
18114 }
18115 }
18116 zig_unreachable();
18322 return result;
1811718323}
1811818324
1811918325static IrInstruction *ir_analyze_test_non_null(IrAnalyze *ira, IrInstruction *source_inst, IrInstruction *value) {
......@@ -21208,8 +21414,10 @@ static IrInstruction *ir_analyze_instruction_from_bytes(IrAnalyze *ira, IrInstru
2120821414 src_ptr_align = get_abi_alignment(ira->codegen, target->value.type);
2120921415 }
2121021416
21211 if ((err = type_resolve(ira->codegen, dest_child_type, ResolveStatusSizeKnown)))
21212 return ira->codegen->invalid_instruction;
21417 if (src_ptr_align != 0) {
21418 if ((err = type_resolve(ira->codegen, dest_child_type, ResolveStatusAlignmentKnown)))
21419 return ira->codegen->invalid_instruction;
21420 }
2121321421
2121421422 ZigType *dest_ptr_type = get_pointer_to_type_extra(ira->codegen, dest_child_type,
2121521423 src_ptr_const, src_ptr_volatile, PtrLenUnknown,
......@@ -21252,6 +21460,8 @@ static IrInstruction *ir_analyze_instruction_from_bytes(IrAnalyze *ira, IrInstru
2125221460 }
2125321461
2125421462 if (have_known_len) {
21463 if ((err = type_resolve(ira->codegen, dest_child_type, ResolveStatusSizeKnown)))
21464 return ira->codegen->invalid_instruction;
2125521465 uint64_t child_type_size = type_size(ira->codegen, dest_child_type);
2125621466 uint64_t remainder = known_len % child_type_size;
2125721467 if (remainder != 0) {
......@@ -23878,15 +24088,23 @@ static IrInstruction *ir_analyze_instruction_ptr_type(IrAnalyze *ira, IrInstruct
2387824088}
2387924089
2388024090static IrInstruction *ir_analyze_instruction_align_cast(IrAnalyze *ira, IrInstructionAlignCast *instruction) {
23881 uint32_t align_bytes;
23882 IrInstruction *align_bytes_inst = instruction->align_bytes->child;
23883 if (!ir_resolve_align(ira, align_bytes_inst, &align_bytes))
23884 return ira->codegen->invalid_instruction;
23885
2388624091 IrInstruction *target = instruction->target->child;
2388724092 if (type_is_invalid(target->value.type))
2388824093 return ira->codegen->invalid_instruction;
2388924094
24095 ZigType *elem_type = nullptr;
24096 if (is_slice(target->value.type)) {
24097 ZigType *slice_ptr_type = target->value.type->data.structure.fields[slice_ptr_index].type_entry;
24098 elem_type = slice_ptr_type->data.pointer.child_type;
24099 } else if (target->value.type->id == ZigTypeIdPointer) {
24100 elem_type = target->value.type->data.pointer.child_type;
24101 }
24102
24103 uint32_t align_bytes;
24104 IrInstruction *align_bytes_inst = instruction->align_bytes->child;
24105 if (!ir_resolve_align(ira, align_bytes_inst, elem_type, &align_bytes))
24106 return ira->codegen->invalid_instruction;
24107
2389024108 IrInstruction *result = ir_align_cast(ira, target, align_bytes, true);
2389124109 if (type_is_invalid(result->value.type))
2389224110 return ira->codegen->invalid_instruction;
......@@ -23906,7 +24124,7 @@ static IrInstruction *ir_analyze_instruction_opaque_type(IrAnalyze *ira, IrInstr
2390624124static IrInstruction *ir_analyze_instruction_set_align_stack(IrAnalyze *ira, IrInstructionSetAlignStack *instruction) {
2390724125 uint32_t align_bytes;
2390824126 IrInstruction *align_bytes_inst = instruction->align_bytes->child;
23909 if (!ir_resolve_align(ira, align_bytes_inst, &align_bytes))
24127 if (!ir_resolve_align(ira, align_bytes_inst, nullptr, &align_bytes))
2391024128 return ira->codegen->invalid_instruction;
2391124129
2391224130 if (align_bytes > 256) {
......@@ -24697,18 +24915,22 @@ static IrInstruction *ir_analyze_instruction_suspend_finish(IrAnalyze *ira,
2469724915}
2469824916
2469924917static IrInstruction *analyze_frame_ptr_to_anyframe_T(IrAnalyze *ira, IrInstruction *source_instr,
24700 IrInstruction *frame_ptr)
24918 IrInstruction *frame_ptr, ZigFn **target_fn)
2470124919{
2470224920 if (type_is_invalid(frame_ptr->value.type))
2470324921 return ira->codegen->invalid_instruction;
2470424922
24923 *target_fn = nullptr;
24924
2470524925 ZigType *result_type;
2470624926 IrInstruction *frame;
2470724927 if (frame_ptr->value.type->id == ZigTypeIdPointer &&
2470824928 frame_ptr->value.type->data.pointer.ptr_len == PtrLenSingle &&
2470924929 frame_ptr->value.type->data.pointer.child_type->id == ZigTypeIdFnFrame)
2471024930 {
24711 result_type = frame_ptr->value.type->data.pointer.child_type->data.frame.fn->type_entry->data.fn.fn_type_id.return_type;
24931 ZigFn *func = frame_ptr->value.type->data.pointer.child_type->data.frame.fn;
24932 result_type = func->type_entry->data.fn.fn_type_id.return_type;
24933 *target_fn = func;
2471224934 frame = frame_ptr;
2471324935 } else {
2471424936 frame = ir_get_deref(ira, source_instr, frame_ptr, nullptr);
......@@ -24716,7 +24938,9 @@ static IrInstruction *analyze_frame_ptr_to_anyframe_T(IrAnalyze *ira, IrInstruct
2471624938 frame->value.type->data.pointer.ptr_len == PtrLenSingle &&
2471724939 frame->value.type->data.pointer.child_type->id == ZigTypeIdFnFrame)
2471824940 {
24719 result_type = frame->value.type->data.pointer.child_type->data.frame.fn->type_entry->data.fn.fn_type_id.return_type;
24941 ZigFn *func = frame->value.type->data.pointer.child_type->data.frame.fn;
24942 result_type = func->type_entry->data.fn.fn_type_id.return_type;
24943 *target_fn = func;
2472024944 } else if (frame->value.type->id != ZigTypeIdAnyFrame ||
2472124945 frame->value.type->data.any_frame.result_type == nullptr)
2472224946 {
......@@ -24737,7 +24961,11 @@ static IrInstruction *analyze_frame_ptr_to_anyframe_T(IrAnalyze *ira, IrInstruct
2473724961}
2473824962
2473924963static IrInstruction *ir_analyze_instruction_await(IrAnalyze *ira, IrInstructionAwaitSrc *instruction) {
24740 IrInstruction *frame = analyze_frame_ptr_to_anyframe_T(ira, &instruction->base, instruction->frame->child);
24964 IrInstruction *operand = instruction->frame->child;
24965 if (type_is_invalid(operand->value.type))
24966 return ira->codegen->invalid_instruction;
24967 ZigFn *target_fn;
24968 IrInstruction *frame = analyze_frame_ptr_to_anyframe_T(ira, &instruction->base, operand, &target_fn);
2474124969 if (type_is_invalid(frame->value.type))
2474224970 return ira->codegen->invalid_instruction;
2474324971
......@@ -24746,8 +24974,11 @@ static IrInstruction *ir_analyze_instruction_await(IrAnalyze *ira, IrInstruction
2474624974 ZigFn *fn_entry = exec_fn_entry(ira->new_irb.exec);
2474724975 ir_assert(fn_entry != nullptr, &instruction->base);
2474824976
24749 if (fn_entry->inferred_async_node == nullptr) {
24750 fn_entry->inferred_async_node = instruction->base.source_node;
24977 // If it's not @Frame(func) then it's definitely a suspend point
24978 if (target_fn == nullptr) {
24979 if (fn_entry->inferred_async_node == nullptr) {
24980 fn_entry->inferred_async_node = instruction->base.source_node;
24981 }
2475124982 }
2475224983
2475324984 if (type_can_fail(result_type)) {
......@@ -24764,8 +24995,10 @@ static IrInstruction *ir_analyze_instruction_await(IrAnalyze *ira, IrInstruction
2476424995 result_loc = nullptr;
2476524996 }
2476624997
24767 IrInstruction *result = ir_build_await_gen(ira, &instruction->base, frame, result_type, result_loc);
24768 return ir_finish_anal(ira, result);
24998 IrInstructionAwaitGen *result = ir_build_await_gen(ira, &instruction->base, frame, result_type, result_loc);
24999 result->target_fn = target_fn;
25000 fn_entry->await_list.append(result);
25001 return ir_finish_anal(ira, &result->base);
2476925002}
2477025003
2477125004static IrInstruction *ir_analyze_instruction_resume(IrAnalyze *ira, IrInstructionResume *instruction) {
......@@ -25472,7 +25705,7 @@ static ZigType *ir_resolve_lazy_fn_type(IrAnalyze *ira, AstNode *source_node, La
2547225705 }
2547325706
2547425707 if (lazy_fn_type->align_inst != nullptr) {
25475 if (!ir_resolve_align(ira, lazy_fn_type->align_inst, &fn_type_id.alignment))
25708 if (!ir_resolve_align(ira, lazy_fn_type->align_inst, nullptr, &fn_type_id.alignment))
2547625709 return nullptr;
2547725710 }
2547825711
......@@ -25544,22 +25777,78 @@ static Error ir_resolve_lazy_raw(AstNode *source_node, ConstExprValue *val) {
2554425777 }
2554525778
2554625779 val->special = ConstValSpecialStatic;
25547 assert(val->type->id == ZigTypeIdComptimeInt);
25780 assert(val->type->id == ZigTypeIdComptimeInt || val->type->id == ZigTypeIdInt);
2554825781 bigint_init_unsigned(&val->data.x_bigint, align_in_bytes);
2554925782 return ErrorNone;
2555025783 }
25784 case LazyValueIdSizeOf: {
25785 LazyValueSizeOf *lazy_size_of = reinterpret_cast<LazyValueSizeOf *>(val->data.x_lazy);
25786 IrAnalyze *ira = lazy_size_of->ira;
25787
25788 if (lazy_size_of->target_type->value.special == ConstValSpecialStatic) {
25789 switch (lazy_size_of->target_type->value.data.x_type->id) {
25790 case ZigTypeIdInvalid: // handled above
25791 zig_unreachable();
25792 case ZigTypeIdUnreachable:
25793 case ZigTypeIdUndefined:
25794 case ZigTypeIdNull:
25795 case ZigTypeIdBoundFn:
25796 case ZigTypeIdArgTuple:
25797 case ZigTypeIdOpaque:
25798 ir_add_error(ira, lazy_size_of->target_type,
25799 buf_sprintf("no size available for type '%s'",
25800 buf_ptr(&lazy_size_of->target_type->value.data.x_type->name)));
25801 return ErrorSemanticAnalyzeFail;
25802 case ZigTypeIdMetaType:
25803 case ZigTypeIdEnumLiteral:
25804 case ZigTypeIdComptimeFloat:
25805 case ZigTypeIdComptimeInt:
25806 case ZigTypeIdVoid:
25807 case ZigTypeIdBool:
25808 case ZigTypeIdInt:
25809 case ZigTypeIdFloat:
25810 case ZigTypeIdPointer:
25811 case ZigTypeIdArray:
25812 case ZigTypeIdStruct:
25813 case ZigTypeIdOptional:
25814 case ZigTypeIdErrorUnion:
25815 case ZigTypeIdErrorSet:
25816 case ZigTypeIdEnum:
25817 case ZigTypeIdUnion:
25818 case ZigTypeIdFn:
25819 case ZigTypeIdVector:
25820 case ZigTypeIdFnFrame:
25821 case ZigTypeIdAnyFrame:
25822 break;
25823 }
25824 }
25825
25826 size_t abi_size;
25827 size_t size_in_bits;
25828 if ((err = type_val_resolve_abi_size(ira->codegen, source_node, &lazy_size_of->target_type->value,
25829 &abi_size, &size_in_bits)))
25830 {
25831 return err;
25832 }
25833
25834 val->special = ConstValSpecialStatic;
25835 assert(val->type->id == ZigTypeIdComptimeInt || val->type->id == ZigTypeIdInt);
25836 bigint_init_unsigned(&val->data.x_bigint, abi_size);
25837 return ErrorNone;
25838 }
2555125839 case LazyValueIdSliceType: {
2555225840 LazyValueSliceType *lazy_slice_type = reinterpret_cast<LazyValueSliceType *>(val->data.x_lazy);
2555325841 IrAnalyze *ira = lazy_slice_type->ira;
2555425842
25843 ZigType *elem_type = ir_resolve_type(ira, lazy_slice_type->elem_type);
25844 if (type_is_invalid(elem_type))
25845 return ErrorSemanticAnalyzeFail;
25846
2555525847 uint32_t align_bytes = 0;
2555625848 if (lazy_slice_type->align_inst != nullptr) {
25557 if (!ir_resolve_align(ira, lazy_slice_type->align_inst, &align_bytes))
25849 if (!ir_resolve_align(ira, lazy_slice_type->align_inst, elem_type, &align_bytes))
2555825850 return ErrorSemanticAnalyzeFail;
2555925851 }
25560 ZigType *elem_type = ir_resolve_type(ira, lazy_slice_type->elem_type);
25561 if (type_is_invalid(elem_type))
25562 return ErrorSemanticAnalyzeFail;
2556325852
2556425853 switch (elem_type->id) {
2556525854 case ZigTypeIdInvalid: // handled above
......@@ -25612,14 +25901,15 @@ static Error ir_resolve_lazy_raw(AstNode *source_node, ConstExprValue *val) {
2561225901 LazyValuePtrType *lazy_ptr_type = reinterpret_cast<LazyValuePtrType *>(val->data.x_lazy);
2561325902 IrAnalyze *ira = lazy_ptr_type->ira;
2561425903
25904 ZigType *elem_type = ir_resolve_type(ira, lazy_ptr_type->elem_type);
25905 if (type_is_invalid(elem_type))
25906 return ErrorSemanticAnalyzeFail;
25907
2561525908 uint32_t align_bytes = 0;
2561625909 if (lazy_ptr_type->align_inst != nullptr) {
25617 if (!ir_resolve_align(ira, lazy_ptr_type->align_inst, &align_bytes))
25910 if (!ir_resolve_align(ira, lazy_ptr_type->align_inst, elem_type, &align_bytes))
2561825911 return ErrorSemanticAnalyzeFail;
2561925912 }
25620 ZigType *elem_type = ir_resolve_type(ira, lazy_ptr_type->elem_type);
25621 if (type_is_invalid(elem_type))
25622 return ErrorSemanticAnalyzeFail;
2562325913
2562425914 if (elem_type->id == ZigTypeIdUnreachable) {
2562525915 ir_add_error(ira, lazy_ptr_type->elem_type,
......@@ -25728,7 +26018,7 @@ static Error ir_resolve_lazy_raw(AstNode *source_node, ConstExprValue *val) {
2572826018Error ir_resolve_lazy(CodeGen *codegen, AstNode *source_node, ConstExprValue *val) {
2572926019 Error err;
2573026020 if ((err = ir_resolve_lazy_raw(source_node, val))) {
25731 if (codegen->trace_err != nullptr && !source_node->already_traced_this_node) {
26021 if (codegen->trace_err != nullptr && source_node != nullptr && !source_node->already_traced_this_node) {
2573226022 source_node->already_traced_this_node = true;
2573326023 codegen->trace_err = add_error_note(codegen, codegen->trace_err, source_node,
2573426024 buf_create_from_str("referenced here"));
src/ir_print.cpp+377-8
......@@ -10,27 +10,374 @@
1010#include "ir_print.hpp"
1111#include "os.hpp"
1212
13static uint32_t hash_instruction_ptr(IrInstruction* instruction) {
14 return (uint32_t)(uintptr_t)instruction;
15}
16
17static bool instruction_ptr_equal(IrInstruction* a, IrInstruction* b) {
18 return a == b;
19}
20
21using InstructionSet = HashMap<IrInstruction*, uint8_t, hash_instruction_ptr, instruction_ptr_equal>;
22using InstructionList = ZigList<IrInstruction*>;
23
1324struct IrPrint {
25 size_t pass_num;
1426 CodeGen *codegen;
1527 FILE *f;
1628 int indent;
1729 int indent_size;
30
31 // When printing pass 2 instructions referenced var instructions are not
32 // present in the instruction list. Thus we track which instructions
33 // are printed (per executable) and after each pass 2 instruction those
34 // var instructions are rendered in a trailing fashion.
35 InstructionSet printed;
36 InstructionList pending;
1837};
1938
2039static void ir_print_other_instruction(IrPrint *irp, IrInstruction *instruction);
2140
41static const char* ir_instruction_type_str(IrInstruction* instruction) {
42 switch (instruction->id) {
43 case IrInstructionIdInvalid:
44 return "Invalid";
45 case IrInstructionIdDeclVarSrc:
46 return "DeclVarSrc";
47 case IrInstructionIdDeclVarGen:
48 return "DeclVarGen";
49 case IrInstructionIdBr:
50 return "Br";
51 case IrInstructionIdCondBr:
52 return "CondBr";
53 case IrInstructionIdSwitchBr:
54 return "SwitchBr";
55 case IrInstructionIdSwitchVar:
56 return "SwitchVar";
57 case IrInstructionIdSwitchElseVar:
58 return "SwitchElseVar";
59 case IrInstructionIdSwitchTarget:
60 return "SwitchTarget";
61 case IrInstructionIdPhi:
62 return "Phi";
63 case IrInstructionIdUnOp:
64 return "UnOp";
65 case IrInstructionIdBinOp:
66 return "BinOp";
67 case IrInstructionIdLoadPtr:
68 return "LoadPtr";
69 case IrInstructionIdLoadPtrGen:
70 return "LoadPtrGen";
71 case IrInstructionIdStorePtr:
72 return "StorePtr";
73 case IrInstructionIdFieldPtr:
74 return "FieldPtr";
75 case IrInstructionIdStructFieldPtr:
76 return "StructFieldPtr";
77 case IrInstructionIdUnionFieldPtr:
78 return "UnionFieldPtr";
79 case IrInstructionIdElemPtr:
80 return "ElemPtr";
81 case IrInstructionIdVarPtr:
82 return "VarPtr";
83 case IrInstructionIdReturnPtr:
84 return "ReturnPtr";
85 case IrInstructionIdCallSrc:
86 return "CallSrc";
87 case IrInstructionIdCallGen:
88 return "CallGen";
89 case IrInstructionIdConst:
90 return "Const";
91 case IrInstructionIdReturn:
92 return "Return";
93 case IrInstructionIdCast:
94 return "Cast";
95 case IrInstructionIdResizeSlice:
96 return "ResizeSlice";
97 case IrInstructionIdContainerInitList:
98 return "ContainerInitList";
99 case IrInstructionIdContainerInitFields:
100 return "ContainerInitFields";
101 case IrInstructionIdUnreachable:
102 return "Unreachable";
103 case IrInstructionIdTypeOf:
104 return "TypeOf";
105 case IrInstructionIdSetCold:
106 return "SetCold";
107 case IrInstructionIdSetRuntimeSafety:
108 return "SetRuntimeSafety";
109 case IrInstructionIdSetFloatMode:
110 return "SetFloatMode";
111 case IrInstructionIdArrayType:
112 return "ArrayType";
113 case IrInstructionIdAnyFrameType:
114 return "AnyFrameType";
115 case IrInstructionIdSliceType:
116 return "SliceType";
117 case IrInstructionIdGlobalAsm:
118 return "GlobalAsm";
119 case IrInstructionIdAsm:
120 return "Asm";
121 case IrInstructionIdSizeOf:
122 return "SizeOf";
123 case IrInstructionIdTestNonNull:
124 return "TestNonNull";
125 case IrInstructionIdOptionalUnwrapPtr:
126 return "OptionalUnwrapPtr";
127 case IrInstructionIdOptionalWrap:
128 return "OptionalWrap";
129 case IrInstructionIdUnionTag:
130 return "UnionTag";
131 case IrInstructionIdClz:
132 return "Clz";
133 case IrInstructionIdCtz:
134 return "Ctz";
135 case IrInstructionIdPopCount:
136 return "PopCount";
137 case IrInstructionIdBswap:
138 return "Bswap";
139 case IrInstructionIdBitReverse:
140 return "BitReverse";
141 case IrInstructionIdImport:
142 return "Import";
143 case IrInstructionIdCImport:
144 return "CImport";
145 case IrInstructionIdCInclude:
146 return "CInclude";
147 case IrInstructionIdCDefine:
148 return "CDefine";
149 case IrInstructionIdCUndef:
150 return "CUndef";
151 case IrInstructionIdRef:
152 return "Ref";
153 case IrInstructionIdRefGen:
154 return "RefGen";
155 case IrInstructionIdCompileErr:
156 return "CompileErr";
157 case IrInstructionIdCompileLog:
158 return "CompileLog";
159 case IrInstructionIdErrName:
160 return "ErrName";
161 case IrInstructionIdEmbedFile:
162 return "EmbedFile";
163 case IrInstructionIdCmpxchgSrc:
164 return "CmpxchgSrc";
165 case IrInstructionIdCmpxchgGen:
166 return "CmpxchgGen";
167 case IrInstructionIdFence:
168 return "Fence";
169 case IrInstructionIdTruncate:
170 return "Truncate";
171 case IrInstructionIdIntCast:
172 return "IntCast";
173 case IrInstructionIdFloatCast:
174 return "FloatCast";
175 case IrInstructionIdIntToFloat:
176 return "IntToFloat";
177 case IrInstructionIdFloatToInt:
178 return "FloatToInt";
179 case IrInstructionIdBoolToInt:
180 return "BoolToInt";
181 case IrInstructionIdIntType:
182 return "IntType";
183 case IrInstructionIdVectorType:
184 return "VectorType";
185 case IrInstructionIdBoolNot:
186 return "BoolNot";
187 case IrInstructionIdMemset:
188 return "Memset";
189 case IrInstructionIdMemcpy:
190 return "Memcpy";
191 case IrInstructionIdSliceSrc:
192 return "SliceSrc";
193 case IrInstructionIdSliceGen:
194 return "SliceGen";
195 case IrInstructionIdMemberCount:
196 return "MemberCount";
197 case IrInstructionIdMemberType:
198 return "MemberType";
199 case IrInstructionIdMemberName:
200 return "MemberName";
201 case IrInstructionIdBreakpoint:
202 return "Breakpoint";
203 case IrInstructionIdReturnAddress:
204 return "ReturnAddress";
205 case IrInstructionIdFrameAddress:
206 return "FrameAddress";
207 case IrInstructionIdFrameHandle:
208 return "FrameHandle";
209 case IrInstructionIdFrameType:
210 return "FrameType";
211 case IrInstructionIdFrameSizeSrc:
212 return "FrameSizeSrc";
213 case IrInstructionIdFrameSizeGen:
214 return "FrameSizeGen";
215 case IrInstructionIdAlignOf:
216 return "AlignOf";
217 case IrInstructionIdOverflowOp:
218 return "OverflowOp";
219 case IrInstructionIdTestErrSrc:
220 return "TestErrSrc";
221 case IrInstructionIdTestErrGen:
222 return "TestErrGen";
223 case IrInstructionIdMulAdd:
224 return "MulAdd";
225 case IrInstructionIdFloatOp:
226 return "FloatOp";
227 case IrInstructionIdUnwrapErrCode:
228 return "UnwrapErrCode";
229 case IrInstructionIdUnwrapErrPayload:
230 return "UnwrapErrPayload";
231 case IrInstructionIdErrWrapCode:
232 return "ErrWrapCode";
233 case IrInstructionIdErrWrapPayload:
234 return "ErrWrapPayload";
235 case IrInstructionIdFnProto:
236 return "FnProto";
237 case IrInstructionIdTestComptime:
238 return "TestComptime";
239 case IrInstructionIdPtrCastSrc:
240 return "PtrCastSrc";
241 case IrInstructionIdPtrCastGen:
242 return "PtrCastGen";
243 case IrInstructionIdBitCastSrc:
244 return "BitCastSrc";
245 case IrInstructionIdBitCastGen:
246 return "BitCastGen";
247 case IrInstructionIdWidenOrShorten:
248 return "WidenOrShorten";
249 case IrInstructionIdIntToPtr:
250 return "IntToPtr";
251 case IrInstructionIdPtrToInt:
252 return "PtrToInt";
253 case IrInstructionIdIntToEnum:
254 return "IntToEnum";
255 case IrInstructionIdEnumToInt:
256 return "EnumToInt";
257 case IrInstructionIdIntToErr:
258 return "IntToErr";
259 case IrInstructionIdErrToInt:
260 return "ErrToInt";
261 case IrInstructionIdCheckSwitchProngs:
262 return "CheckSwitchProngs";
263 case IrInstructionIdCheckStatementIsVoid:
264 return "CheckStatementIsVoid";
265 case IrInstructionIdTypeName:
266 return "TypeName";
267 case IrInstructionIdDeclRef:
268 return "DeclRef";
269 case IrInstructionIdPanic:
270 return "Panic";
271 case IrInstructionIdTagName:
272 return "TagName";
273 case IrInstructionIdTagType:
274 return "TagType";
275 case IrInstructionIdFieldParentPtr:
276 return "FieldParentPtr";
277 case IrInstructionIdByteOffsetOf:
278 return "ByteOffsetOf";
279 case IrInstructionIdBitOffsetOf:
280 return "BitOffsetOf";
281 case IrInstructionIdTypeInfo:
282 return "TypeInfo";
283 case IrInstructionIdHasField:
284 return "HasField";
285 case IrInstructionIdTypeId:
286 return "TypeId";
287 case IrInstructionIdSetEvalBranchQuota:
288 return "SetEvalBranchQuota";
289 case IrInstructionIdPtrType:
290 return "PtrType";
291 case IrInstructionIdAlignCast:
292 return "AlignCast";
293 case IrInstructionIdImplicitCast:
294 return "ImplicitCast";
295 case IrInstructionIdResolveResult:
296 return "ResolveResult";
297 case IrInstructionIdResetResult:
298 return "ResetResult";
299 case IrInstructionIdOpaqueType:
300 return "OpaqueType";
301 case IrInstructionIdSetAlignStack:
302 return "SetAlignStack";
303 case IrInstructionIdArgType:
304 return "ArgType";
305 case IrInstructionIdExport:
306 return "Export";
307 case IrInstructionIdErrorReturnTrace:
308 return "ErrorReturnTrace";
309 case IrInstructionIdErrorUnion:
310 return "ErrorUnion";
311 case IrInstructionIdAtomicRmw:
312 return "AtomicRmw";
313 case IrInstructionIdAtomicLoad:
314 return "AtomicLoad";
315 case IrInstructionIdSaveErrRetAddr:
316 return "SaveErrRetAddr";
317 case IrInstructionIdAddImplicitReturnType:
318 return "AddImplicitReturnType";
319 case IrInstructionIdErrSetCast:
320 return "ErrSetCast";
321 case IrInstructionIdToBytes:
322 return "ToBytes";
323 case IrInstructionIdFromBytes:
324 return "FromBytes";
325 case IrInstructionIdCheckRuntimeScope:
326 return "CheckRuntimeScope";
327 case IrInstructionIdVectorToArray:
328 return "VectorToArray";
329 case IrInstructionIdArrayToVector:
330 return "ArrayToVector";
331 case IrInstructionIdAssertZero:
332 return "AssertZero";
333 case IrInstructionIdAssertNonNull:
334 return "AssertNonNull";
335 case IrInstructionIdHasDecl:
336 return "HasDecl";
337 case IrInstructionIdUndeclaredIdent:
338 return "UndeclaredIdent";
339 case IrInstructionIdAllocaSrc:
340 return "AllocaSrc";
341 case IrInstructionIdAllocaGen:
342 return "AllocaGen";
343 case IrInstructionIdEndExpr:
344 return "EndExpr";
345 case IrInstructionIdPtrOfArrayToSlice:
346 return "PtrOfArrayToSlice";
347 case IrInstructionIdUnionInitNamedField:
348 return "UnionInitNamedField";
349 case IrInstructionIdSuspendBegin:
350 return "SuspendBegin";
351 case IrInstructionIdSuspendFinish:
352 return "SuspendFinish";
353 case IrInstructionIdAwaitSrc:
354 return "AwaitSrc";
355 case IrInstructionIdAwaitGen:
356 return "AwaitGen";
357 case IrInstructionIdResume:
358 return "Resume";
359 case IrInstructionIdSpillBegin:
360 return "SpillBegin";
361 case IrInstructionIdSpillEnd:
362 return "SpillEnd";
363 }
364 zig_unreachable();
365}
366
22367static void ir_print_indent(IrPrint *irp) {
23368 for (int i = 0; i < irp->indent; i += 1) {
24369 fprintf(irp->f, " ");
25370 }
26371}
27372
28static void ir_print_prefix(IrPrint *irp, IrInstruction *instruction) {
373static void ir_print_prefix(IrPrint *irp, IrInstruction *instruction, bool trailing) {
29374 ir_print_indent(irp);
375 const char mark = trailing ? ':' : '#';
30376 const char *type_name = instruction->value.type ? buf_ptr(&instruction->value.type->name) : "(unknown)";
31377 const char *ref_count = ir_has_side_effects(instruction) ?
32378 "-" : buf_ptr(buf_sprintf("%" ZIG_PRI_usize "", instruction->ref_count));
33 fprintf(irp->f, "#%-3zu| %-12s| %-2s| ", instruction->debug_id, type_name, ref_count);
379 fprintf(irp->f, "%c%-3zu| %-22s| %-12s| %-2s| ", mark, instruction->debug_id,
380 ir_instruction_type_str(instruction), type_name, ref_count);
34381}
35382
36383static void ir_print_const_value(IrPrint *irp, ConstExprValue *const_val) {
......@@ -42,6 +389,10 @@ static void ir_print_const_value(IrPrint *irp, ConstExprValue *const_val) {
42389
43390static void ir_print_var_instruction(IrPrint *irp, IrInstruction *instruction) {
44391 fprintf(irp->f, "#%" ZIG_PRI_usize "", instruction->debug_id);
392 if (irp->pass_num == 2 && irp->printed.maybe_get(instruction) == nullptr) {
393 irp->printed.put(instruction, 0);
394 irp->pending.append(instruction);
395 }
45396}
46397
47398static void ir_print_other_instruction(IrPrint *irp, IrInstruction *instruction) {
......@@ -49,6 +400,7 @@ static void ir_print_other_instruction(IrPrint *irp, IrInstruction *instruction)
49400 fprintf(irp->f, "(null)");
50401 return;
51402 }
403
52404 if (instruction->value.special != ConstValSpecialRuntime) {
53405 ir_print_const_value(irp, &instruction->value);
54406 } else {
......@@ -1550,8 +1902,8 @@ static void ir_print_spill_end(IrPrint *irp, IrInstructionSpillEnd *instruction)
15501902 fprintf(irp->f, ")");
15511903}
15521904
1553static void ir_print_instruction(IrPrint *irp, IrInstruction *instruction) {
1554 ir_print_prefix(irp, instruction);
1905static void ir_print_instruction(IrPrint *irp, IrInstruction *instruction, bool trailing) {
1906 ir_print_prefix(irp, instruction, trailing);
15551907 switch (instruction->id) {
15561908 case IrInstructionIdInvalid:
15571909 zig_unreachable();
......@@ -2036,31 +2388,48 @@ static void ir_print_instruction(IrPrint *irp, IrInstruction *instruction) {
20362388 fprintf(irp->f, "\n");
20372389}
20382390
2039void ir_print(CodeGen *codegen, FILE *f, IrExecutable *executable, int indent_size) {
2391void ir_print(CodeGen *codegen, FILE *f, IrExecutable *executable, int indent_size, size_t pass_num) {
20402392 IrPrint ir_print = {};
20412393 IrPrint *irp = &ir_print;
2394 irp->pass_num = pass_num;
20422395 irp->codegen = codegen;
20432396 irp->f = f;
20442397 irp->indent = indent_size;
20452398 irp->indent_size = indent_size;
2399 irp->printed = {};
2400 irp->printed.init(64);
2401 irp->pending = {};
20462402
20472403 for (size_t bb_i = 0; bb_i < executable->basic_block_list.length; bb_i += 1) {
20482404 IrBasicBlock *current_block = executable->basic_block_list.at(bb_i);
20492405 fprintf(irp->f, "%s_%" ZIG_PRI_usize ":\n", current_block->name_hint, current_block->debug_id);
20502406 for (size_t instr_i = 0; instr_i < current_block->instruction_list.length; instr_i += 1) {
20512407 IrInstruction *instruction = current_block->instruction_list.at(instr_i);
2052 ir_print_instruction(irp, instruction);
2408 if (irp->pass_num == 2) {
2409 irp->printed.put(instruction, 0);
2410 irp->pending.clear();
2411 }
2412 ir_print_instruction(irp, instruction, false);
2413 for (size_t j = 0; j < irp->pending.length; ++j)
2414 ir_print_instruction(irp, irp->pending.at(j), true);
20532415 }
20542416 }
2417
2418 irp->pending.deinit();
2419 irp->printed.deinit();
20552420}
20562421
2057void ir_print_instruction(CodeGen *codegen, FILE *f, IrInstruction *instruction, int indent_size) {
2422void ir_print_instruction(CodeGen *codegen, FILE *f, IrInstruction *instruction, int indent_size, size_t pass_num) {
20582423 IrPrint ir_print = {};
20592424 IrPrint *irp = &ir_print;
2425 irp->pass_num = pass_num;
20602426 irp->codegen = codegen;
20612427 irp->f = f;
20622428 irp->indent = indent_size;
20632429 irp->indent_size = indent_size;
2430 irp->printed = {};
2431 irp->printed.init(4);
2432 irp->pending = {};
20642433
2065 ir_print_instruction(irp, instruction);
2434 ir_print_instruction(irp, instruction, false);
20662435}
src/ir_print.hpp+2-2
......@@ -12,7 +12,7 @@
1212
1313#include <stdio.h>
1414
15void ir_print(CodeGen *codegen, FILE *f, IrExecutable *executable, int indent_size);
16void ir_print_instruction(CodeGen *codegen, FILE *f, IrInstruction *instruction, int indent_size);
15void ir_print(CodeGen *codegen, FILE *f, IrExecutable *executable, int indent_size, size_t pass_num);
16void ir_print_instruction(CodeGen *codegen, FILE *f, IrInstruction *instruction, int indent_size, size_t pass_num);
1717
1818#endif
src/link.cpp+6
......@@ -2512,6 +2512,12 @@ static void construct_linker_job_macho(LinkJob *lj) {
25122512 lj->args.append("dynamic_lookup");
25132513 }
25142514
2515 for (size_t i = 0; i < g->framework_dirs.length; i += 1) {
2516 const char *framework_dir = g->framework_dirs.at(i);
2517 lj->args.append("-F");
2518 lj->args.append(framework_dir);
2519 }
2520
25152521 for (size_t i = 0; i < g->darwin_frameworks.length; i += 1) {
25162522 lj->args.append("-framework");
25172523 lj->args.append(buf_ptr(g->darwin_frameworks.at(i)));
src/main.cpp+9
......@@ -104,6 +104,7 @@ static int print_full_usage(const char *arg0, FILE *file, int return_code) {
104104 " -rdynamic add all symbols to the dynamic symbol table\n"
105105 " -rpath [path] add directory to the runtime library search path\n"
106106 " --subsystem [subsystem] (windows) /SUBSYSTEM:<subsystem> to the linker\n"
107 " -F[dir] (darwin) add search path for frameworks\n"
107108 " -framework [name] (darwin) link against framework\n"
108109 " -mios-version-min [ver] (darwin) set iOS deployment target\n"
109110 " -mmacosx-version-min [ver] (darwin) set Mac OS X deployment target\n"
......@@ -454,6 +455,7 @@ int main(int argc, char **argv) {
454455 ZigList<const char *> lib_dirs = {0};
455456 ZigList<const char *> link_libs = {0};
456457 ZigList<const char *> forbidden_link_libs = {0};
458 ZigList<const char *> framework_dirs = {0};
457459 ZigList<const char *> frameworks = {0};
458460 bool have_libc = false;
459461 const char *target_string = nullptr;
......@@ -686,6 +688,8 @@ int main(int argc, char **argv) {
686688 } else if (arg[1] == 'L' && arg[2] != 0) {
687689 // alias for --library-path
688690 lib_dirs.append(&arg[2]);
691 } else if (arg[1] == 'F' && arg[2] != 0) {
692 framework_dirs.append(&arg[2]);
689693 } else if (strcmp(arg, "--pkg-begin") == 0) {
690694 if (i + 2 >= argc) {
691695 fprintf(stderr, "Expected 2 arguments after --pkg-begin\n");
......@@ -772,6 +776,8 @@ int main(int argc, char **argv) {
772776 main_pkg_path = buf_create_from_str(argv[i]);
773777 } else if (strcmp(arg, "--library-path") == 0 || strcmp(arg, "-L") == 0) {
774778 lib_dirs.append(argv[i]);
779 } else if (strcmp(arg, "-F") == 0) {
780 framework_dirs.append(argv[i]);
775781 } else if (strcmp(arg, "--library") == 0) {
776782 if (strcmp(argv[i], "c") == 0)
777783 have_libc = true;
......@@ -1153,6 +1159,9 @@ int main(int argc, char **argv) {
11531159 for (size_t i = 0; i < lib_dirs.length; i += 1) {
11541160 codegen_add_lib_dir(g, lib_dirs.at(i));
11551161 }
1162 for (size_t i = 0; i < framework_dirs.length; i += 1) {
1163 g->framework_dirs.append(framework_dirs.at(i));
1164 }
11561165 for (size_t i = 0; i < link_libs.length; i += 1) {
11571166 LinkLib *link_lib = codegen_add_link_lib(g, buf_create_from_str(link_libs.at(i)));
11581167 link_lib->provided_explicitly = true;
src/os.cpp+15-15
......@@ -1125,27 +1125,29 @@ Error os_get_cwd(Buf *out_cwd) {
11251125#endif
11261126}
11271127
1128#if defined(ZIG_OS_WINDOWS)
11281129#define is_wprefix(s, prefix) \
11291130 (wcsncmp((s), (prefix), sizeof(prefix) / sizeof(WCHAR) - 1) == 0)
1130bool ATTRIBUTE_MUST_USE os_is_cygwin_pty(int fd) {
1131#if defined(ZIG_OS_WINDOWS)
1132 HANDLE handle = (HANDLE)_get_osfhandle(fd);
1133
1134 // Cygwin/msys's pty is a pipe.
1135 if (handle == INVALID_HANDLE_VALUE || GetFileType(handle) != FILE_TYPE_PIPE) {
1131static bool is_stderr_cyg_pty(void) {
1132 HANDLE stderr_handle = GetStdHandle(STD_ERROR_HANDLE);
1133 if (stderr_handle == INVALID_HANDLE_VALUE)
11361134 return false;
1137 }
11381135
11391136 int size = sizeof(FILE_NAME_INFO) + sizeof(WCHAR) * MAX_PATH;
1137 FILE_NAME_INFO *nameinfo;
11401138 WCHAR *p = NULL;
11411139
1142 FILE_NAME_INFO *nameinfo = (FILE_NAME_INFO *)allocate<char>(size);
1140 // Cygwin/msys's pty is a pipe.
1141 if (GetFileType(stderr_handle) != FILE_TYPE_PIPE) {
1142 return 0;
1143 }
1144 nameinfo = (FILE_NAME_INFO *)allocate<char>(size);
11431145 if (nameinfo == NULL) {
1144 return false;
1146 return 0;
11451147 }
11461148 // Check the name of the pipe:
11471149 // '\{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master'
1148 if (GetFileInformationByHandleEx(handle, FileNameInfo, nameinfo, size)) {
1150 if (GetFileInformationByHandleEx(stderr_handle, FileNameInfo, nameinfo, size)) {
11491151 nameinfo->FileName[nameinfo->FileNameLength / sizeof(WCHAR)] = L'\0';
11501152 p = nameinfo->FileName;
11511153 if (is_wprefix(p, L"\\cygwin-")) { /* Cygwin */
......@@ -1178,14 +1180,12 @@ bool ATTRIBUTE_MUST_USE os_is_cygwin_pty(int fd) {
11781180 }
11791181 free(nameinfo);
11801182 return (p != NULL);
1181#else
1182 return false;
1183#endif
11841183}
1184#endif
11851185
11861186bool os_stderr_tty(void) {
11871187#if defined(ZIG_OS_WINDOWS)
1188 return _isatty(fileno(stderr)) != 0 || os_is_cygwin_pty(fileno(stderr));
1188 return _isatty(_fileno(stderr)) != 0 || is_stderr_cyg_pty();
11891189#elif defined(ZIG_OS_POSIX)
11901190 return isatty(STDERR_FILENO) != 0;
11911191#else
......@@ -1486,7 +1486,7 @@ WORD original_console_attributes = FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BL
14861486
14871487void os_stderr_set_color(TermColor color) {
14881488#if defined(ZIG_OS_WINDOWS)
1489 if (os_stderr_tty()) {
1489 if (is_stderr_cyg_pty()) {
14901490 set_color_posix(color);
14911491 return;
14921492 }
src/os.hpp-8
......@@ -11,7 +11,6 @@
1111#include "list.hpp"
1212#include "buffer.hpp"
1313#include "error.hpp"
14#include "target.hpp"
1514#include "zig_llvm.h"
1615#include "windows_sdk.h"
1716
......@@ -89,11 +88,6 @@ struct Termination {
8988#define OsFile int
9089#endif
9190
92#if defined(ZIG_OS_WINDOWS)
93#undef fileno
94#define fileno _fileno
95#endif
96
9791struct OsTimeStamp {
9892 uint64_t sec;
9993 uint64_t nsec;
......@@ -158,8 +152,6 @@ Error ATTRIBUTE_MUST_USE os_get_win32_ucrt_include_path(ZigWindowsSDK *sdk, Buf
158152Error ATTRIBUTE_MUST_USE os_get_win32_ucrt_lib_path(ZigWindowsSDK *sdk, Buf *output_buf, ZigLLVM_ArchType platform_type);
159153Error ATTRIBUTE_MUST_USE os_get_win32_kern32_path(ZigWindowsSDK *sdk, Buf *output_buf, ZigLLVM_ArchType platform_type);
160154
161bool ATTRIBUTE_MUST_USE os_is_cygwin_pty(int fd);
162
163155Error ATTRIBUTE_MUST_USE os_self_exe_shared_libs(ZigList<Buf *> &paths);
164156
165157#endif
src/parser.cpp+1-1
......@@ -2075,7 +2075,7 @@ static AstNode *ast_parse_param_decl(ParseContext *pc) {
20752075 res->column = first->start_column;
20762076 res->data.param_decl.name = token_buf(name);
20772077 res->data.param_decl.is_noalias = first->id == TokenIdKeywordNoAlias;
2078 res->data.param_decl.is_inline = first->id == TokenIdKeywordCompTime;
2078 res->data.param_decl.is_comptime = first->id == TokenIdKeywordCompTime;
20792079 return res;
20802080}
20812081
src/target.cpp+1-14
......@@ -504,16 +504,6 @@ Error target_parse_glibc_version(ZigGLibCVersion *glibc_ver, const char *text) {
504504 return ErrorNone;
505505}
506506
507static ZigLLVM_EnvironmentType target_get_win32_abi() {
508 FILE* files[] = { stdin, stdout, stderr, nullptr };
509 for (int i = 0; files[i] != nullptr; i++) {
510 if (os_is_cygwin_pty(fileno(files[i]))) {
511 return ZigLLVM_GNU;
512 }
513 }
514 return ZigLLVM_MSVC;
515}
516
517507void get_native_target(ZigTarget *target) {
518508 // first zero initialize
519509 *target = {};
......@@ -528,9 +518,6 @@ void get_native_target(ZigTarget *target) {
528518 &target->abi,
529519 &oformat);
530520 target->os = get_zig_os_type(os_type);
531 if (target->os == OsWindows) {
532 target->abi = target_get_win32_abi();
533 }
534521 target->is_native = true;
535522 if (target->abi == ZigLLVM_UnknownEnvironment) {
536523 target->abi = target_default_abi(target->arch, target->os);
......@@ -1664,7 +1651,7 @@ ZigLLVM_EnvironmentType target_default_abi(ZigLLVM_ArchType arch, Os os) {
16641651 return ZigLLVM_GNU;
16651652 case OsUefi:
16661653 case OsWindows:
1667 return ZigLLVM_MSVC;
1654 return ZigLLVM_MSVC;
16681655 case OsLinux:
16691656 case OsWASI:
16701657 case OsEmscripten:
src/userland.h+2
......@@ -75,6 +75,8 @@ enum Error {
7575 ErrorOperationAborted,
7676 ErrorBrokenPipe,
7777 ErrorNoSpaceLeft,
78 ErrorNotLazy,
79 ErrorIsAsync,
7880};
7981
8082// ABI warning
std/array_list.zig+5
......@@ -10,6 +10,11 @@ pub fn ArrayList(comptime T: type) type {
1010}
1111
1212pub fn AlignedArrayList(comptime T: type, comptime alignment: ?u29) type {
13 if (alignment) |a| {
14 if (a == @alignOf(T)) {
15 return AlignedArrayList(T, null);
16 }
17 }
1318 return struct {
1419 const Self = @This();
1520
std/build.zig+13-2
......@@ -1228,6 +1228,7 @@ pub const LibExeObjStep = struct {
12281228 name_only_filename: []const u8,
12291229 strip: bool,
12301230 lib_paths: ArrayList([]const u8),
1231 framework_dirs: ArrayList([]const u8),
12311232 frameworks: BufSet,
12321233 verbose_link: bool,
12331234 verbose_cc: bool,
......@@ -1341,6 +1342,7 @@ pub const LibExeObjStep = struct {
13411342 .include_dirs = ArrayList(IncludeDir).init(builder.allocator),
13421343 .link_objects = ArrayList(LinkObject).init(builder.allocator),
13431344 .lib_paths = ArrayList([]const u8).init(builder.allocator),
1345 .framework_dirs = ArrayList([]const u8).init(builder.allocator),
13441346 .object_src = undefined,
13451347 .build_options_contents = std.Buffer.initSize(builder.allocator, 0) catch unreachable,
13461348 .c_std = Builder.CStd.C99,
......@@ -1614,6 +1616,10 @@ pub const LibExeObjStep = struct {
16141616 self.lib_paths.append(path) catch unreachable;
16151617 }
16161618
1619 pub fn addFrameworkDir(self: *LibExeObjStep, dir_path: []const u8) void {
1620 self.framework_dirs.append(dir_path) catch unreachable;
1621 }
1622
16171623 pub fn addPackagePath(self: *LibExeObjStep, name: []const u8, pkg_index_path: []const u8) void {
16181624 self.packages.append(Pkg{
16191625 .name = name,
......@@ -1860,8 +1866,8 @@ pub const LibExeObjStep = struct {
18601866 }
18611867
18621868 for (self.lib_paths.toSliceConst()) |lib_path| {
1863 zig_args.append("--library-path") catch unreachable;
1864 zig_args.append(lib_path) catch unreachable;
1869 try zig_args.append("-L");
1870 try zig_args.append(lib_path);
18651871 }
18661872
18671873 if (self.need_system_paths and self.target == Target.Native) {
......@@ -1882,6 +1888,11 @@ pub const LibExeObjStep = struct {
18821888 }
18831889
18841890 if (self.target.isDarwin()) {
1891 for (self.framework_dirs.toSliceConst()) |dir| {
1892 try zig_args.append("-F");
1893 try zig_args.append(dir);
1894 }
1895
18851896 var it = self.frameworks.iterator();
18861897 while (it.next()) |entry| {
18871898 zig_args.append("-framework") catch unreachable;
std/mem.zig+25-10
......@@ -75,15 +75,16 @@ pub const Allocator = struct {
7575 new_alignment: u29,
7676 ) []u8,
7777
78 /// Call `destroy` with the result.
79 /// Returns undefined memory.
78 /// Returns a pointer to undefined memory.
79 /// Call `destroy` with the result to free the memory.
8080 pub fn create(self: *Allocator, comptime T: type) Error!*T {
8181 if (@sizeOf(T) == 0) return &(T{});
8282 const slice = try self.alloc(T, 1);
8383 return &slice[0];
8484 }
8585
86 /// `ptr` should be the return value of `create`
86 /// `ptr` should be the return value of `create`, or otherwise
87 /// have the same address and alignment property.
8788 pub fn destroy(self: *Allocator, ptr: var) void {
8889 const T = @typeOf(ptr).Child;
8990 if (@sizeOf(T) == 0) return;
......@@ -92,25 +93,39 @@ pub const Allocator = struct {
9293 assert(shrink_result.len == 0);
9394 }
9495
95 pub fn alloc(self: *Allocator, comptime T: type, n: usize) ![]T {
96 return self.alignedAlloc(T, @alignOf(T), n);
96 pub fn alloc(self: *Allocator, comptime T: type, n: usize) Error![]T {
97 return self.alignedAlloc(T, null, n);
9798 }
9899
99100 pub fn alignedAlloc(
100101 self: *Allocator,
101102 comptime T: type,
102 comptime alignment: u29,
103 /// null means naturally aligned
104 comptime alignment: ?u29,
103105 n: usize,
104 ) ![]align(alignment) T {
106 ) Error![]align(alignment orelse @alignOf(T)) T {
107 const a = if (alignment) |a| blk: {
108 if (a == @alignOf(T)) return alignedAlloc(self, T, null, n);
109 break :blk a;
110 } else @alignOf(T);
111
105112 if (n == 0) {
106 return ([*]align(alignment) T)(undefined)[0..0];
113 return ([*]align(a) T)(undefined)[0..0];
107114 }
108115
109116 const byte_count = math.mul(usize, @sizeOf(T), n) catch return Error.OutOfMemory;
110 const byte_slice = try self.reallocFn(self, ([*]u8)(undefined)[0..0], undefined, byte_count, alignment);
117 const byte_slice = try self.reallocFn(self, ([*]u8)(undefined)[0..0], undefined, byte_count, a);
111118 assert(byte_slice.len == byte_count);
112119 @memset(byte_slice.ptr, undefined, byte_slice.len);
113 return @bytesToSlice(T, @alignCast(alignment, byte_slice));
120 if (alignment == null) {
121 // TODO This is a workaround for zig not being able to successfully do
122 // @bytesToSlice(T, @alignCast(a, byte_slice)) without resolving alignment of T,
123 // which causes a circular dependency in async functions which try to heap-allocate
124 // their own frame with @Frame(func).
125 return @intToPtr([*]T, @ptrToInt(byte_slice.ptr))[0..n];
126 } else {
127 return @bytesToSlice(T, @alignCast(a, byte_slice));
128 }
114129 }
115130
116131 /// This function requests a new byte size for an existing allocation,
std/os/windows.zig+4-3
......@@ -65,7 +65,7 @@ pub const CreateFileError = error{
6565 InvalidUtf8,
6666
6767 /// On Windows, file paths cannot contain these characters:
68 /// '*', '?', '"', '<', '>', '|', and '/' (when the ABI is not GNU)
68 /// '/', '*', '?', '"', '<', '>', '|'
6969 BadPathName,
7070
7171 Unexpected,
......@@ -836,10 +836,11 @@ pub fn sliceToPrefixedSuffixedFileW(s: []const u8, comptime suffix: []const u16)
836836 // > converting the name to an NT-style name, except when using the "\\?\"
837837 // > prefix as detailed in the following sections.
838838 // from https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#maximum-path-length-limitation
839 // Because we want the larger maximum path length for absolute paths, we
840 // disallow forward slashes in zig std lib file functions on Windows.
839841 for (s) |byte| {
840842 switch (byte) {
841 '*', '?', '"', '<', '>', '|' => return error.BadPathName,
842 '/' => if (builtin.abi == .msvc) return error.BadPathName,
843 '/', '*', '?', '"', '<', '>', '|' => return error.BadPathName,
843844 else => {},
844845 }
845846 }
std/special/compiler_rt/comparetf2.zig+7-6
......@@ -38,12 +38,14 @@ pub extern fn __letf2(a: f128, b: f128) c_int {
3838
3939 // If at least one of a and b is positive, we get the same result comparing
4040 // a and b as signed integers as we would with a floating-point compare.
41 return if ((aInt & bInt) >= 0) if (aInt < bInt)
42 LE_LESS
43 else if (aInt == bInt)
44 LE_EQUAL
41 return if ((aInt & bInt) >= 0)
42 if (aInt < bInt)
43 LE_LESS
44 else if (aInt == bInt)
45 LE_EQUAL
46 else
47 LE_GREATER
4548 else
46 LE_GREATER else
4749 // Otherwise, both are negative, so we need to flip the sense of the
4850 // comparison to get the correct result. (This assumes a twos- or ones-
4951 // complement integer representation; if integers are represented in a
......@@ -73,7 +75,6 @@ pub extern fn __getf2(a: f128, b: f128) c_int {
7375
7476 if (aAbs > infRep or bAbs > infRep) return GE_UNORDERED;
7577 if ((aAbs | bAbs) == 0) return GE_EQUAL;
76 // zig fmt issue here, see https://github.com/ziglang/zig/issues/2661
7778 return if ((aInt & bInt) >= 0)
7879 if (aInt < bInt)
7980 GE_LESS
std/zig/parser_test.zig+21
......@@ -482,6 +482,27 @@ test "zig fmt: if-else with comment before else" {
482482 );
483483}
484484
485test "zig fmt: if nested" {
486 try testCanonical(
487 \\pub fn foo() void {
488 \\ return if ((aInt & bInt) >= 0)
489 \\ if (aInt < bInt)
490 \\ GE_LESS
491 \\ else if (aInt == bInt)
492 \\ GE_EQUAL
493 \\ else
494 \\ GE_GREATER
495 \\ else if (aInt > bInt)
496 \\ GE_LESS
497 \\ else if (aInt == bInt)
498 \\ GE_EQUAL
499 \\ else
500 \\ GE_GREATER;
501 \\}
502 \\
503 );
504}
505
485506test "zig fmt: respect line breaks in if-else" {
486507 try testCanonical(
487508 \\comptime {
std/zig/render.zig+4-2
......@@ -276,7 +276,6 @@ fn renderTopLevelDecl(allocator: *mem.Allocator, stream: var, tree: *ast.Tree, i
276276 } else {
277277 try renderExpression(allocator, stream, tree, indent, start_col, field.type_expr.?, Space.Comma); // type,
278278 }
279
280279 } else if (field.type_expr == null and field.value_expr != null) {
281280 try renderToken(tree, stream, field.name_token, indent, start_col, Space.Space); // name
282281 try renderToken(tree, stream, tree.nextToken(field.name_token), indent, start_col, Space.Space); // =
......@@ -1521,9 +1520,12 @@ fn renderExpression(
15211520
15221521 try renderExpression(allocator, stream, tree, indent, start_col, if_node.condition, Space.None); // condition
15231522
1523 const body_is_if_block = if_node.body.id == ast.Node.Id.If;
15241524 const body_is_block = nodeIsBlock(if_node.body);
15251525
1526 if (body_is_block) {
1526 if (body_is_if_block) {
1527 try renderExtraNewline(tree, stream, start_col, if_node.body);
1528 } else if (body_is_block) {
15271529 const after_rparen_space = if (if_node.payload == null) Space.BlockStart else Space.Space;
15281530 try renderToken(tree, stream, rparen, indent, start_col, after_rparen_space); // )
15291531
test/compile_errors.zig+22-4
......@@ -2,6 +2,22 @@ const tests = @import("tests.zig");
22const builtin = @import("builtin");
33
44pub fn addCases(cases: *tests.CompileErrorContext) void {
5 cases.add(
6 "wrong type for result ptr to @asyncCall",
7 \\export fn entry() void {
8 \\ _ = async amain();
9 \\}
10 \\fn amain() i32 {
11 \\ var frame: @Frame(foo) = undefined;
12 \\ return await @asyncCall(&frame, false, foo);
13 \\}
14 \\fn foo() i32 {
15 \\ return 1234;
16 \\}
17 ,
18 "tmp.zig:6:37: error: expected type '*i32', found 'bool'",
19 );
20
521 cases.add(
622 "struct depends on itself via optional field",
723 \\const LhsExpr = struct {
......@@ -273,7 +289,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
273289 \\}
274290 ,
275291 "tmp.zig:1:1: error: function with calling convention 'ccc' cannot be async",
276 "tmp.zig:3:18: note: await is a suspend point",
292 "tmp.zig:3:18: note: await here is a suspend point",
277293 );
278294
279295 cases.add(
......@@ -507,11 +523,11 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
507523
508524 cases.add(
509525 "@sizeOf bad type",
510 \\export fn entry() void {
511 \\ _ = @sizeOf(@typeOf(null));
526 \\export fn entry() usize {
527 \\ return @sizeOf(@typeOf(null));
512528 \\}
513529 ,
514 "tmp.zig:2:17: error: no size available for type '(null)'",
530 "tmp.zig:2:20: error: no size available for type '(null)'",
515531 );
516532
517533 cases.add(
......@@ -1051,6 +1067,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
10511067 \\const Foo = struct {};
10521068 \\export fn a() void {
10531069 \\ const T = [*c]Foo;
1070 \\ var t: T = undefined;
10541071 \\}
10551072 ,
10561073 "tmp.zig:3:19: error: C pointers cannot point to non-C-ABI-compatible type 'Foo'",
......@@ -2290,6 +2307,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
22902307 "error union operator with non error set LHS",
22912308 \\comptime {
22922309 \\ const z = i32!i32;
2310 \\ var x: z = undefined;
22932311 \\}
22942312 ,
22952313 "tmp.zig:2:15: error: expected error set type, found type 'i32'",
test/stage1/behavior.zig+1
......@@ -30,6 +30,7 @@ comptime {
3030 _ = @import("behavior/bugs/2114.zig");
3131 _ = @import("behavior/bugs/2346.zig");
3232 _ = @import("behavior/bugs/2578.zig");
33 _ = @import("behavior/bugs/2692.zig");
3334 _ = @import("behavior/bugs/3112.zig");
3435 _ = @import("behavior/bugs/394.zig");
3536 _ = @import("behavior/bugs/421.zig");
test/stage1/behavior/align.zig+24-1
......@@ -1,4 +1,5 @@
1const expect = @import("std").testing.expect;
1const std = @import("std");
2const expect = std.testing.expect;
23const builtin = @import("builtin");
34
45var foo: u8 align(4) = 100;
......@@ -305,3 +306,25 @@ test "struct field explicit alignment" {
305306 comptime expect(@typeOf(&node.massive_byte) == *align(64) u8);
306307 expect(@ptrToInt(&node.massive_byte) % 64 == 0);
307308}
309
310test "align(@alignOf(T)) T does not force resolution of T" {
311 const S = struct {
312 const A = struct {
313 a: *align(@alignOf(A)) A,
314 };
315 fn doTheTest() void {
316 suspend {
317 resume @frame();
318 }
319 _ = bar(@Frame(doTheTest));
320 }
321 fn bar(comptime T: type) *align(@alignOf(T)) T {
322 ok = true;
323 return undefined;
324 }
325
326 var ok = false;
327 };
328 _ = async S.doTheTest();
329 expect(S.ok);
330}
test/stage1/behavior/async_fn.zig+250-2
......@@ -331,8 +331,9 @@ test "async fn with inferred error set" {
331331
332332 fn doTheTest() void {
333333 var frame: [1]@Frame(middle) = undefined;
334 var result: anyerror!void = undefined;
335 _ = @asyncCall(@sliceToBytes(frame[0..]), &result, middle);
334 var fn_ptr = middle;
335 var result: @typeOf(fn_ptr).ReturnType.ErrorSet!void = undefined;
336 _ = @asyncCall(@sliceToBytes(frame[0..]), &result, fn_ptr);
336337 resume global_frame;
337338 std.testing.expectError(error.Fail, result);
338339 }
......@@ -819,6 +820,34 @@ test "struct parameter to async function is copied to the frame" {
819820}
820821
821822test "cast fn to async fn when it is inferred to be async" {
823 const S = struct {
824 var frame: anyframe = undefined;
825 var ok = false;
826
827 fn doTheTest() void {
828 var ptr: async fn () i32 = undefined;
829 ptr = func;
830 var buf: [100]u8 align(16) = undefined;
831 var result: i32 = undefined;
832 const f = @asyncCall(&buf, &result, ptr);
833 _ = await f;
834 expect(result == 1234);
835 ok = true;
836 }
837
838 fn func() i32 {
839 suspend {
840 frame = @frame();
841 }
842 return 1234;
843 }
844 };
845 _ = async S.doTheTest();
846 resume S.frame;
847 expect(S.ok);
848}
849
850test "cast fn to async fn when it is inferred to be async, awaited directly" {
822851 const S = struct {
823852 var frame: anyframe = undefined;
824853 var ok = false;
......@@ -844,3 +873,222 @@ test "cast fn to async fn when it is inferred to be async" {
844873 resume S.frame;
845874 expect(S.ok);
846875}
876
877test "await does not force async if callee is blocking" {
878 const S = struct {
879 fn simple() i32 {
880 return 1234;
881 }
882 };
883 var x = async S.simple();
884 expect(await x == 1234);
885}
886
887test "recursive async function" {
888 expect(recursiveAsyncFunctionTest(false).doTheTest() == 55);
889 expect(recursiveAsyncFunctionTest(true).doTheTest() == 55);
890}
891
892fn recursiveAsyncFunctionTest(comptime suspending_implementation: bool) type {
893 return struct {
894 fn fib(allocator: *std.mem.Allocator, x: u32) error{OutOfMemory}!u32 {
895 if (x <= 1) return x;
896
897 if (suspending_implementation) {
898 suspend {
899 resume @frame();
900 }
901 }
902
903 const f1 = try allocator.create(@Frame(fib));
904 defer allocator.destroy(f1);
905
906 const f2 = try allocator.create(@Frame(fib));
907 defer allocator.destroy(f2);
908
909 f1.* = async fib(allocator, x - 1);
910 var f1_awaited = false;
911 errdefer if (!f1_awaited) {
912 _ = await f1;
913 };
914
915 f2.* = async fib(allocator, x - 2);
916 var f2_awaited = false;
917 errdefer if (!f2_awaited) {
918 _ = await f2;
919 };
920
921 var sum: u32 = 0;
922
923 f1_awaited = true;
924 const result_f1 = await f1; // TODO https://github.com/ziglang/zig/issues/3077
925 sum += try result_f1;
926
927 f2_awaited = true;
928 const result_f2 = await f2; // TODO https://github.com/ziglang/zig/issues/3077
929 sum += try result_f2;
930
931 return sum;
932 }
933
934 fn doTheTest() u32 {
935 if (suspending_implementation) {
936 var result: u32 = undefined;
937 _ = async amain(&result);
938 return result;
939 } else {
940 return fib(std.heap.direct_allocator, 10) catch unreachable;
941 }
942 }
943
944 fn amain(result: *u32) void {
945 var x = async fib(std.heap.direct_allocator, 10);
946 const res = await x; // TODO https://github.com/ziglang/zig/issues/3077
947 result.* = res catch unreachable;
948 }
949 };
950}
951
952test "@asyncCall with comptime-known function, but not awaited directly" {
953 const S = struct {
954 var global_frame: anyframe = undefined;
955
956 fn doTheTest() void {
957 var frame: [1]@Frame(middle) = undefined;
958 var result: @typeOf(middle).ReturnType.ErrorSet!void = undefined;
959 _ = @asyncCall(@sliceToBytes(frame[0..]), &result, middle);
960 resume global_frame;
961 std.testing.expectError(error.Fail, result);
962 }
963
964 async fn middle() !void {
965 var f = async middle2();
966 return await f;
967 }
968
969 fn middle2() !void {
970 return failing();
971 }
972
973 fn failing() !void {
974 global_frame = @frame();
975 suspend;
976 return error.Fail;
977 }
978 };
979 S.doTheTest();
980}
981
982test "@asyncCall with actual frame instead of byte buffer" {
983 const S = struct {
984 fn func() i32 {
985 suspend;
986 return 1234;
987 }
988 };
989 var frame: @Frame(S.func) = undefined;
990 var result: i32 = undefined;
991 const ptr = @asyncCall(&frame, &result, S.func);
992 resume ptr;
993 expect(result == 1234);
994}
995
996test "@asyncCall using the result location inside the frame" {
997 const S = struct {
998 async fn simple2(y: *i32) i32 {
999 defer y.* += 2;
1000 y.* += 1;
1001 suspend;
1002 return 1234;
1003 }
1004 fn getAnswer(f: anyframe->i32, out: *i32) void {
1005 var res = await f; // TODO https://github.com/ziglang/zig/issues/3077
1006 out.* = res;
1007 }
1008 };
1009 var data: i32 = 1;
1010 const Foo = struct {
1011 bar: async fn (*i32) i32,
1012 };
1013 var foo = Foo{ .bar = S.simple2 };
1014 var bytes: [64]u8 align(16) = undefined;
1015 const f = @asyncCall(&bytes, {}, foo.bar, &data);
1016 comptime expect(@typeOf(f) == anyframe->i32);
1017 expect(data == 2);
1018 resume f;
1019 expect(data == 4);
1020 _ = async S.getAnswer(f, &data);
1021 expect(data == 1234);
1022}
1023
1024test "@typeOf an async function call of generic fn with error union type" {
1025 const S = struct {
1026 fn func(comptime x: var) anyerror!i32 {
1027 const T = @typeOf(async func(x));
1028 comptime expect(T == @typeOf(@frame()).Child);
1029 return undefined;
1030 }
1031 };
1032 _ = async S.func(i32);
1033}
1034
1035test "using @typeOf on a generic function call" {
1036 const S = struct {
1037 var global_frame: anyframe = undefined;
1038 var global_ok = false;
1039
1040 var buf: [100]u8 align(16) = undefined;
1041
1042 fn amain(x: var) void {
1043 if (x == 0) {
1044 global_ok = true;
1045 return;
1046 }
1047 suspend {
1048 global_frame = @frame();
1049 }
1050 const F = @typeOf(async amain(x - 1));
1051 const frame = @intToPtr(*F, @ptrToInt(&buf));
1052 return await @asyncCall(frame, {}, amain, x - 1);
1053 }
1054 };
1055 _ = async S.amain(u32(1));
1056 resume S.global_frame;
1057 expect(S.global_ok);
1058}
1059
1060test "recursive call of await @asyncCall with struct return type" {
1061 const S = struct {
1062 var global_frame: anyframe = undefined;
1063 var global_ok = false;
1064
1065 var buf: [100]u8 align(16) = undefined;
1066
1067 fn amain(x: var) Foo {
1068 if (x == 0) {
1069 global_ok = true;
1070 return Foo{ .x = 1, .y = 2, .z = 3 };
1071 }
1072 suspend {
1073 global_frame = @frame();
1074 }
1075 const F = @typeOf(async amain(x - 1));
1076 const frame = @intToPtr(*F, @ptrToInt(&buf));
1077 return await @asyncCall(frame, {}, amain, x - 1);
1078 }
1079
1080 const Foo = struct {
1081 x: u64,
1082 y: u64,
1083 z: u64,
1084 };
1085 };
1086 var res: S.Foo = undefined;
1087 var frame: @typeOf(async S.amain(u32(1))) = undefined;
1088 _ = @asyncCall(&frame, &res, S.amain, u32(1));
1089 resume S.global_frame;
1090 expect(S.global_ok);
1091 expect(res.x == 1);
1092 expect(res.y == 2);
1093 expect(res.z == 3);
1094}
test/stage1/behavior/bugs/2692.zig created+6
......@@ -0,0 +1,6 @@
1fn foo(a: []u8) void {}
2
3test "address of 0 length array" {
4 var pt: [0]u8 = undefined;
5 foo(&pt);
6}
test/stage1/behavior/if.zig+11
......@@ -63,3 +63,14 @@ test "labeled break inside comptime if inside runtime if" {
6363 }
6464 expect(answer == 42);
6565}
66
67test "const result loc, runtime if cond, else unreachable" {
68 const Num = enum {
69 One,
70 Two,
71 };
72
73 var t = true;
74 const x = if (t) Num.Two else unreachable;
75 if (x != .Two) @compileError("bad");
76}
test/stage1/behavior/sizeof_and_typeof.zig+41
......@@ -74,3 +74,44 @@ test "@sizeOf on compile-time types" {
7474 expect(@sizeOf(@typeOf(.hi)) == 0);
7575 expect(@sizeOf(@typeOf(type)) == 0);
7676}
77
78test "@sizeOf(T) == 0 doesn't force resolving struct size" {
79 const S = struct {
80 const Foo = struct {
81 y: if (@sizeOf(Foo) == 0) u64 else u32,
82 };
83 const Bar = struct {
84 x: i32,
85 y: if (0 == @sizeOf(Bar)) u64 else u32,
86 };
87 };
88
89 expect(@sizeOf(S.Foo) == 4);
90 expect(@sizeOf(S.Bar) == 8);
91}
92
93test "@typeOf() has no runtime side effects" {
94 const S = struct {
95 fn foo(comptime T: type, ptr: *T) T {
96 ptr.* += 1;
97 return ptr.*;
98 }
99 };
100 var data: i32 = 0;
101 const T = @typeOf(S.foo(i32, &data));
102 comptime expect(T == i32);
103 expect(data == 0);
104}
105
106test "branching logic inside @typeOf" {
107 const S = struct {
108 var data: i32 = 0;
109 fn foo() anyerror!i32 {
110 data += 1;
111 return undefined;
112 }
113 };
114 const T = @typeOf(S.foo() catch undefined);
115 comptime expect(T == i32);
116 expect(S.data == 0);
117}
tools/process_headers.zig+2-2
......@@ -585,10 +585,10 @@ pub fn main() !void {
585585 var sub_path: []const []const u8 = undefined;
586586 switch (vendor) {
587587 .musl => {
588 sub_path = [_][]const u8{ search_path, libc_target.name, "usr", "local", "musl", "include" };
588 sub_path = &[_][]const u8{ search_path, libc_target.name, "usr", "local", "musl", "include" };
589589 },
590590 .glibc => {
591 sub_path = [_][]const u8{ search_path, libc_target.name, "usr", "include" };
591 sub_path = &[_][]const u8{ search_path, libc_target.name, "usr", "include" };
592592 },
593593 }
594594 const target_include_dir = try std.fs.path.join(allocator, sub_path);