Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Musl
提交
664cd341
T
Third Party Musl
项目概览
OpenHarmony
/
Third Party Musl
1 年多 前同步成功
通知
37
Star
125
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Musl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
664cd341
编写于
1月 07, 2014
作者:
R
rofl0r
1
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
x32 port (diff against vanilla x86_64)
上级
323272db
变更
39
显示空白变更内容
内联
并排
Showing
39 changed file
with
882 addition
and
793 deletion
+882
-793
arch/x32/bits/alltypes.h.in
arch/x32/bits/alltypes.h.in
+6
-6
arch/x32/bits/ipc.h
arch/x32/bits/ipc.h
+2
-2
arch/x32/bits/limits.h
arch/x32/bits/limits.h
+2
-2
arch/x32/bits/msg.h
arch/x32/bits/msg.h
+4
-1
arch/x32/bits/reg.h
arch/x32/bits/reg.h
+1
-1
arch/x32/bits/setjmp.h
arch/x32/bits/setjmp.h
+1
-1
arch/x32/bits/shm.h
arch/x32/bits/shm.h
+14
-6
arch/x32/bits/signal.h
arch/x32/bits/signal.h
+6
-6
arch/x32/bits/stat.h
arch/x32/bits/stat.h
+1
-1
arch/x32/bits/stdint.h
arch/x32/bits/stdint.h
+6
-6
arch/x32/bits/syscall.h
arch/x32/bits/syscall.h
+609
-630
arch/x32/src/syscall_cp_fixup.c
arch/x32/src/syscall_cp_fixup.c
+34
-0
arch/x32/syscall_arch.h
arch/x32/syscall_arch.h
+76
-17
src/fenv/x32/fenv.s
src/fenv/x32/fenv.s
+26
-26
src/ldso/x32/start.s
src/ldso/x32/start.s
+15
-7
src/math/x32/acosl.s
src/math/x32/acosl.s
+1
-1
src/math/x32/asinl.s
src/math/x32/asinl.s
+1
-1
src/math/x32/atan2l.s
src/math/x32/atan2l.s
+2
-2
src/math/x32/atanl.s
src/math/x32/atanl.s
+1
-1
src/math/x32/exp2l.s
src/math/x32/exp2l.s
+21
-21
src/math/x32/expl.s
src/math/x32/expl.s
+16
-16
src/math/x32/fabsl.s
src/math/x32/fabsl.s
+1
-1
src/math/x32/floorl.s
src/math/x32/floorl.s
+9
-9
src/math/x32/fmodl.s
src/math/x32/fmodl.s
+2
-2
src/math/x32/llrintl.s
src/math/x32/llrintl.s
+3
-3
src/math/x32/log10l.s
src/math/x32/log10l.s
+1
-1
src/math/x32/log1pl.s
src/math/x32/log1pl.s
+2
-2
src/math/x32/log2l.s
src/math/x32/log2l.s
+1
-1
src/math/x32/logl.s
src/math/x32/logl.s
+1
-1
src/math/x32/lrintl.s
src/math/x32/lrintl.s
+3
-3
src/math/x32/remainderl.s
src/math/x32/remainderl.s
+2
-2
src/math/x32/rintl.s
src/math/x32/rintl.s
+1
-1
src/math/x32/sqrtl.s
src/math/x32/sqrtl.s
+1
-1
src/process/x32/vfork.s
src/process/x32/vfork.s
+1
-1
src/signal/x32/restore.s
src/signal/x32/restore.s
+1
-1
src/thread/x32/__set_thread_area.s
src/thread/x32/__set_thread_area.s
+1
-1
src/thread/x32/__unmapself.s
src/thread/x32/__unmapself.s
+2
-2
src/thread/x32/clone.s
src/thread/x32/clone.s
+2
-4
src/thread/x32/syscall_cp.s
src/thread/x32/syscall_cp.s
+3
-3
未找到文件。
arch/x32/bits/alltypes.h.in
浏览文件 @
664cd341
#define _Addr
long
#define _Int64 long
#define _Reg long
#define _Addr
int
#define _Int64 long
long
#define _Reg long
long
TYPEDEF __builtin_va_list va_list;
TYPEDEF __builtin_va_list __isoc_va_list;
#ifndef __cplusplus
TYPEDEF
int
wchar_t;
TYPEDEF
long
wchar_t;
#endif
TYPEDEF unsigned wint_t;
...
...
@@ -18,8 +18,8 @@ TYPEDEF float float_t;
TYPEDEF double double_t;
#endif
TYPEDEF long time_t;
TYPEDEF long suseconds_t;
TYPEDEF long
long
time_t;
TYPEDEF long
long
suseconds_t;
TYPEDEF struct { union { int __i[14]; unsigned long __s[7]; } __u; } pthread_attr_t;
TYPEDEF struct { union { int __i[10]; void *__p[5]; } __u; } pthread_mutex_t;
...
...
arch/x32/bits/ipc.h
浏览文件 @
664cd341
...
...
@@ -7,8 +7,8 @@ struct ipc_perm
gid_t
cgid
;
mode_t
mode
;
int
__ipc_perm_seq
;
long
__pad1
;
long
__pad2
;
long
long
__pad1
;
long
long
__pad2
;
};
#define IPC_64 0
arch/x32/bits/limits.h
浏览文件 @
664cd341
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define PAGE_SIZE 4096
#define LONG_BIT
64
#define LONG_BIT
32
#endif
#define LONG_MAX 0x7fffffff
ffffffff
L
#define LONG_MAX 0x7fffffffL
#define LLONG_MAX 0x7fffffffffffffffLL
arch/x32/bits/msg.h
浏览文件 @
664cd341
...
...
@@ -5,9 +5,12 @@ struct msqid_ds
time_t
msg_rtime
;
time_t
msg_ctime
;
unsigned
long
msg_cbytes
;
long
__unused1
;
msgqnum_t
msg_qnum
;
long
__unused2
;
msglen_t
msg_qbytes
;
long
__unused3
;
pid_t
msg_lspid
;
pid_t
msg_lrpid
;
unsigned
long
__unused
[
2
];
unsigned
long
long
__unused
[
2
];
};
arch/x32/bits/reg.h
浏览文件 @
664cd341
#undef __WORDSIZE
#define __WORDSIZE
64
#define __WORDSIZE
32
#define R15 0
#define R14 1
#define R13 2
...
...
arch/x32/bits/setjmp.h
浏览文件 @
664cd341
typedef
unsigned
long
__jmp_buf
[
8
];
typedef
unsigned
long
long
__jmp_buf
[
8
];
arch/x32/bits/shm.h
浏览文件 @
664cd341
...
...
@@ -10,16 +10,24 @@ struct shmid_ds
pid_t
shm_cpid
;
pid_t
shm_lpid
;
unsigned
long
shm_nattch
;
unsigned
long
__pad1
;
unsigned
long
__pad2
;
unsigned
long
__pad0
;
unsigned
long
long
__pad1
;
unsigned
long
long
__pad2
;
};
struct
shminfo
{
unsigned
long
shmmax
,
shmmin
,
shmmni
,
shmseg
,
shmall
,
__unused
[
4
];
unsigned
long
shmmax
,
__pad0
,
shmmin
,
__pad1
,
shmmni
,
__pad2
,
shmseg
,
__pad3
,
shmall
,
__pad4
;
unsigned
long
long
__unused
[
4
];
};
struct
shm_info
{
int
__used_ids
;
unsigned
long
shm_tot
,
shm_rss
,
shm_swp
;
unsigned
long
__swap_attempts
,
__swap_successes
;
};
int
__pad_ids
;
unsigned
long
shm_tot
,
__pad0
,
shm_rss
,
__pad1
,
shm_swp
,
__pad2
;
unsigned
long
__swap_attempts
,
__pad3
,
__swap_successes
,
__pad4
;
}
#ifdef __GNUC__
__attribute__
((
__aligned__
(
8
)))
#endif
;
arch/x32/bits/signal.h
浏览文件 @
664cd341
...
...
@@ -42,12 +42,12 @@ typedef struct _fpstate {
unsigned
padding
[
24
];
}
*
fpregset_t
;
struct
sigcontext
{
unsigned
long
r8
,
r9
,
r10
,
r11
,
r12
,
r13
,
r14
,
r15
;
unsigned
long
rdi
,
rsi
,
rbp
,
rbx
,
rdx
,
rax
,
rcx
,
rsp
,
rip
,
eflags
;
unsigned
long
long
r8
,
r9
,
r10
,
r11
,
r12
,
r13
,
r14
,
r15
;
unsigned
long
long
rdi
,
rsi
,
rbp
,
rbx
,
rdx
,
rax
,
rcx
,
rsp
,
rip
,
eflags
;
unsigned
short
cs
,
gs
,
fs
,
__pad0
;
unsigned
long
err
,
trapno
,
oldmask
,
cr2
;
unsigned
long
long
err
,
trapno
,
oldmask
,
cr2
;
struct
_fpstate
*
fpstate
;
unsigned
long
__reserved1
[
8
];
unsigned
long
long
__reserved1
[
8
];
};
typedef
struct
{
gregset_t
gregs
;
...
...
@@ -56,7 +56,7 @@ typedef struct {
}
mcontext_t
;
#else
typedef
struct
{
unsigned
long
__space
[
32
];
unsigned
long
long
__space
[
32
];
}
mcontext_t
;
#endif
...
...
@@ -66,7 +66,7 @@ typedef struct __ucontext {
stack_t
uc_stack
;
mcontext_t
uc_mcontext
;
sigset_t
uc_sigmask
;
unsigned
long
__fpregs_mem
[
64
];
unsigned
long
long
__fpregs_mem
[
64
];
}
ucontext_t
;
#define SA_NOCLDSTOP 1
...
...
arch/x32/bits/stat.h
浏览文件 @
664cd341
...
...
@@ -18,5 +18,5 @@ struct stat {
struct
timespec
st_atim
;
struct
timespec
st_mtim
;
struct
timespec
st_ctim
;
long
__unused
[
3
];
long
long
__unused
[
3
];
};
arch/x32/bits/stdint.h
浏览文件 @
664cd341
...
...
@@ -12,9 +12,9 @@ typedef uint32_t uint_fast32_t;
#define UINT_FAST16_MAX UINT32_MAX
#define UINT_FAST32_MAX UINT32_MAX
#define INTPTR_MIN INT
64
_MIN
#define INTPTR_MAX INT
64
_MAX
#define UINTPTR_MAX UINT
64
_MAX
#define PTRDIFF_MIN INT
64
_MIN
#define PTRDIFF_MAX INT
64
_MAX
#define SIZE_MAX UINT
64
_MAX
#define INTPTR_MIN INT
32
_MIN
#define INTPTR_MAX INT
32
_MAX
#define UINTPTR_MAX UINT
32
_MAX
#define PTRDIFF_MIN INT
32
_MIN
#define PTRDIFF_MAX INT
32
_MAX
#define SIZE_MAX UINT
32
_MAX
arch/x32/bits/syscall.h
浏览文件 @
664cd341
#define __NR_read 0
#define __NR_write 1
#define __NR_open 2
#define __NR_close 3
#define __NR_stat 4
#define __NR_fstat 5
#define __NR_lstat 6
#define __NR_poll 7
#define __NR_lseek 8
#define __NR_mmap 9
#define __NR_mprotect 10
#define __NR_munmap 11
#define __NR_brk 12
#define __NR_rt_sigaction 13
#define __NR_rt_sigprocmask 14
#define __NR_rt_sigreturn 15
#define __NR_ioctl 16
#define __NR_pread64 17
#define __NR_pwrite64 18
#define __NR_readv 19
#define __NR_writev 20
#define __NR_access 21
#define __NR_pipe 22
#define __NR_select 23
#define __NR_sched_yield 24
#define __NR_mremap 25
#define __NR_msync 26
#define __NR_mincore 27
#define __NR_madvise 28
#define __NR_shmget 29
#define __NR_shmat 30
#define __NR_shmctl 31
#define __NR_dup 32
#define __NR_dup2 33
#define __NR_pause 34
#define __NR_nanosleep 35
#define __NR_getitimer 36
#define __NR_alarm 37
#define __NR_setitimer 38
#define __NR_getpid 39
#define __NR_sendfile 40
#define __NR_socket 41
#define __NR_connect 42
#define __NR_accept 43
#define __NR_sendto 44
#define __NR_recvfrom 45
#define __NR_sendmsg 46
#define __NR_recvmsg 47
#define __NR_shutdown 48
#define __NR_bind 49
#define __NR_listen 50
#define __NR_getsockname 51
#define __NR_getpeername 52
#define __NR_socketpair 53
#define __NR_setsockopt 54
#define __NR_getsockopt 55
#define __NR_clone 56
#define __NR_fork 57
#define __NR_vfork 58
#define __NR_execve 59
#define __NR_exit 60
#define __NR_wait4 61
#define __NR_kill 62
#define __NR_uname 63
#define __NR_semget 64
#define __NR_semop 65
#define __NR_semctl 66
#define __NR_shmdt 67
#define __NR_msgget 68
#define __NR_msgsnd 69
#define __NR_msgrcv 70
#define __NR_msgctl 71
#define __NR_fcntl 72
#define __NR_flock 73
#define __NR_fsync 74
#define __NR_fdatasync 75
#define __NR_truncate 76
#define __NR_ftruncate 77
#define __NR_getdents 78
#define __NR_getcwd 79
#define __NR_chdir 80
#define __NR_fchdir 81
#define __NR_rename 82
#define __NR_mkdir 83
#define __NR_rmdir 84
#define __NR_creat 85
#define __NR_link 86
#define __NR_unlink 87
#define __NR_symlink 88
#define __NR_readlink 89
#define __NR_chmod 90
#define __NR_fchmod 91
#define __NR_chown 92
#define __NR_fchown 93
#define __NR_lchown 94
#define __NR_umask 95
#define __NR_gettimeofday 96
#define __NR_getrlimit 97
#define __NR_getrusage 98
#define __NR_sysinfo 99
#define __NR_times 100
#define __NR_ptrace 101
#define __NR_getuid 102
#define __NR_syslog 103
#define __NR_getgid 104
#define __NR_setuid 105
#define __NR_setgid 106
#define __NR_geteuid 107
#define __NR_getegid 108
#define __NR_setpgid 109
#define __NR_getppid 110
#define __NR_getpgrp 111
#define __NR_setsid 112
#define __NR_setreuid 113
#define __NR_setregid 114
#define __NR_getgroups 115
#define __NR_setgroups 116
#define __NR_setresuid 117
#define __NR_getresuid 118
#define __NR_setresgid 119
#define __NR_getresgid 120
#define __NR_getpgid 121
#define __NR_setfsuid 122
#define __NR_setfsgid 123
#define __NR_getsid 124
#define __NR_capget 125
#define __NR_capset 126
#define __NR_rt_sigpending 127
#define __NR_rt_sigtimedwait 128
#define __NR_rt_sigqueueinfo 129
#define __NR_rt_sigsuspend 130
#define __NR_sigaltstack 131
#define __NR_utime 132
#define __NR_mknod 133
#define __NR_uselib 134
#define __NR_personality 135
#define __NR_ustat 136
#define __NR_statfs 137
#define __NR_fstatfs 138
#define __NR_sysfs 139
#define __NR_getpriority 140
#define __NR_setpriority 141
#define __NR_sched_setparam 142
#define __NR_sched_getparam 143
#define __NR_sched_setscheduler 144
#define __NR_sched_getscheduler 145
#define __NR_sched_get_priority_max 146
#define __NR_sched_get_priority_min 147
#define __NR_sched_rr_get_interval 148
#define __NR_mlock 149
#define __NR_munlock 150
#define __NR_mlockall 151
#define __NR_munlockall 152
#define __NR_vhangup 153
#define __NR_modify_ldt 154
#define __NR_pivot_root 155
#define __NR__sysctl 156
#define __NR_prctl 157
#define __NR_arch_prctl 158
#define __NR_adjtimex 159
#define __NR_setrlimit 160
#define __NR_chroot 161
#define __NR_sync 162
#define __NR_acct 163
#define __NR_settimeofday 164
#define __NR_mount 165
#define __NR_umount2 166
#define __NR_swapon 167
#define __NR_swapoff 168
#define __NR_reboot 169
#define __NR_sethostname 170
#define __NR_setdomainname 171
#define __NR_iopl 172
#define __NR_ioperm 173
#define __NR_create_module 174
#define __NR_init_module 175
#define __NR_delete_module 176
#define __NR_get_kernel_syms 177
#define __NR_query_module 178
#define __NR_quotactl 179
#define __NR_nfsservctl 180
#define __NR_getpmsg 181
#define __NR_putpmsg 182
#define __NR_afs_syscall 183
#define __NR_tuxcall 184
#define __NR_security 185
#define __NR_gettid 186
#define __NR_readahead 187
#define __NR_setxattr 188
#define __NR_lsetxattr 189
#define __NR_fsetxattr 190
#define __NR_getxattr 191
#define __NR_lgetxattr 192
#define __NR_fgetxattr 193
#define __NR_listxattr 194
#define __NR_llistxattr 195
#define __NR_flistxattr 196
#define __NR_removexattr 197
#define __NR_lremovexattr 198
#define __NR_fremovexattr 199
#define __NR_tkill 200
#define __NR_time 201
#define __NR_futex 202
#define __NR_sched_setaffinity 203
#define __NR_sched_getaffinity 204
#define __NR_set_thread_area 205
#define __NR_io_setup 206
#define __NR_io_destroy 207
#define __NR_io_getevents 208
#define __NR_io_submit 209
#define __NR_io_cancel 210
#define __NR_get_thread_area 211
#define __NR_lookup_dcookie 212
#define __NR_epoll_create 213
#define __NR_epoll_ctl_old 214
#define __NR_epoll_wait_old 215
#define __NR_remap_file_pages 216
#define __NR_getdents64 217
#define __NR_set_tid_address 218
#define __NR_restart_syscall 219
#define __NR_semtimedop 220
#define __NR_fadvise64 221
#define __NR_timer_create 222
#define __NR_timer_settime 223
#define __NR_timer_gettime 224
#define __NR_timer_getoverrun 225
#define __NR_timer_delete 226
#define __NR_clock_settime 227
#define __NR_clock_gettime 228
#define __NR_clock_getres 229
#define __NR_clock_nanosleep 230
#define __NR_exit_group 231
#define __NR_epoll_wait 232
#define __NR_epoll_ctl 233
#define __NR_tgkill 234
#define __NR_utimes 235
#define __NR_vserver 236
#define __NR_mbind 237
#define __NR_set_mempolicy 238
#define __NR_get_mempolicy 239
#define __NR_mq_open 240
#define __NR_mq_unlink 241
#define __NR_mq_timedsend 242
#define __NR_mq_timedreceive 243
#define __NR_mq_notify 244
#define __NR_mq_getsetattr 245
#define __NR_kexec_load 246
#define __NR_waitid 247
#define __NR_add_key 248
#define __NR_request_key 249
#define __NR_keyctl 250
#define __NR_ioprio_set 251
#define __NR_ioprio_get 252
#define __NR_inotify_init 253
#define __NR_inotify_add_watch 254
#define __NR_inotify_rm_watch 255
#define __NR_migrate_pages 256
#define __NR_openat 257
#define __NR_mkdirat 258
#define __NR_mknodat 259
#define __NR_fchownat 260
#define __NR_futimesat 261
#define __NR_newfstatat 262
#define __NR_unlinkat 263
#define __NR_renameat 264
#define __NR_linkat 265
#define __NR_symlinkat 266
#define __NR_readlinkat 267
#define __NR_fchmodat 268
#define __NR_faccessat 269
#define __NR_pselect6 270
#define __NR_ppoll 271
#define __NR_unshare 272
#define __NR_set_robust_list 273
#define __NR_get_robust_list 274
#define __NR_splice 275
#define __NR_tee 276
#define __NR_sync_file_range 277
#define __NR_vmsplice 278
#define __NR_move_pages 279
#define __NR_utimensat 280
#define __NR_epoll_pwait 281
#define __NR_signalfd 282
#define __NR_timerfd_create 283
#define __NR_eventfd 284
#define __NR_fallocate 285
#define __NR_timerfd_settime 286
#define __NR_timerfd_gettime 287
#define __NR_accept4 288
#define __NR_signalfd4 289
#define __NR_eventfd2 290
#define __NR_epoll_create1 291
#define __NR_dup3 292
#define __NR_pipe2 293
#define __NR_inotify_init1 294
#define __NR_preadv 295
#define __NR_pwritev 296
#define __NR_rt_tgsigqueueinfo 297
#define __NR_perf_event_open 298
#define __NR_recvmmsg 299
#define __NR_fanotify_init 300
#define __NR_fanotify_mark 301
#define __NR_prlimit64 302
#define __NR_name_to_handle_at 303
#define __NR_open_by_handle_at 304
#define __NR_clock_adjtime 305
#define __NR_syncfs 306
#define __NR_sendmmsg 307
#define __NR_setns 308
#define __NR_getcpu 309
#define __NR_process_vm_readv 310
#define __NR_process_vm_writev 311
#define __NR_kcmp 312
#define __NR_finit_module 313
#define __X32_SYSCALL_BIT 0x40000000
#define __NR_read (__X32_SYSCALL_BIT + 0)
#define __NR_write (__X32_SYSCALL_BIT + 1)
#define __NR_open (__X32_SYSCALL_BIT + 2)
#define __NR_close (__X32_SYSCALL_BIT + 3)
#define __NR_stat (__X32_SYSCALL_BIT + 4)
#define __NR_fstat (__X32_SYSCALL_BIT + 5)
#define __NR_lstat (__X32_SYSCALL_BIT + 6)
#define __NR_poll (__X32_SYSCALL_BIT + 7)
#define __NR_lseek (__X32_SYSCALL_BIT + 8)
#define __NR_mmap (__X32_SYSCALL_BIT + 9)
#define __NR_mprotect (__X32_SYSCALL_BIT + 10)
#define __NR_munmap (__X32_SYSCALL_BIT + 11)
#define __NR_brk (__X32_SYSCALL_BIT + 12)
#define __NR_rt_sigprocmask (__X32_SYSCALL_BIT + 14)
#define __NR_pread64 (__X32_SYSCALL_BIT + 17)
#define __NR_pwrite64 (__X32_SYSCALL_BIT + 18)
#define __NR_access (__X32_SYSCALL_BIT + 21)
#define __NR_pipe (__X32_SYSCALL_BIT + 22)
#define __NR_select (__X32_SYSCALL_BIT + 23)
#define __NR_sched_yield (__X32_SYSCALL_BIT + 24)
#define __NR_mremap (__X32_SYSCALL_BIT + 25)
#define __NR_msync (__X32_SYSCALL_BIT + 26)
#define __NR_mincore (__X32_SYSCALL_BIT + 27)
#define __NR_madvise (__X32_SYSCALL_BIT + 28)
#define __NR_shmget (__X32_SYSCALL_BIT + 29)
#define __NR_shmat (__X32_SYSCALL_BIT + 30)
#define __NR_shmctl (__X32_SYSCALL_BIT + 31)
#define __NR_dup (__X32_SYSCALL_BIT + 32)
#define __NR_dup2 (__X32_SYSCALL_BIT + 33)
#define __NR_pause (__X32_SYSCALL_BIT + 34)
#define __NR_nanosleep (__X32_SYSCALL_BIT + 35)
#define __NR_getitimer (__X32_SYSCALL_BIT + 36)
#define __NR_alarm (__X32_SYSCALL_BIT + 37)
#define __NR_setitimer (__X32_SYSCALL_BIT + 38)
#define __NR_getpid (__X32_SYSCALL_BIT + 39)
#define __NR_sendfile (__X32_SYSCALL_BIT + 40)
#define __NR_socket (__X32_SYSCALL_BIT + 41)
#define __NR_connect (__X32_SYSCALL_BIT + 42)
#define __NR_accept (__X32_SYSCALL_BIT + 43)
#define __NR_sendto (__X32_SYSCALL_BIT + 44)
#define __NR_shutdown (__X32_SYSCALL_BIT + 48)
#define __NR_bind (__X32_SYSCALL_BIT + 49)
#define __NR_listen (__X32_SYSCALL_BIT + 50)
#define __NR_getsockname (__X32_SYSCALL_BIT + 51)
#define __NR_getpeername (__X32_SYSCALL_BIT + 52)
#define __NR_socketpair (__X32_SYSCALL_BIT + 53)
#define __NR_clone (__X32_SYSCALL_BIT + 56)
#define __NR_fork (__X32_SYSCALL_BIT + 57)
#define __NR_vfork (__X32_SYSCALL_BIT + 58)
#define __NR_exit (__X32_SYSCALL_BIT + 60)
#define __NR_wait4 (__X32_SYSCALL_BIT + 61)
#define __NR_kill (__X32_SYSCALL_BIT + 62)
#define __NR_uname (__X32_SYSCALL_BIT + 63)
#define __NR_semget (__X32_SYSCALL_BIT + 64)
#define __NR_semop (__X32_SYSCALL_BIT + 65)
#define __NR_semctl (__X32_SYSCALL_BIT + 66)
#define __NR_shmdt (__X32_SYSCALL_BIT + 67)
#define __NR_msgget (__X32_SYSCALL_BIT + 68)
#define __NR_msgsnd (__X32_SYSCALL_BIT + 69)
#define __NR_msgrcv (__X32_SYSCALL_BIT + 70)
#define __NR_msgctl (__X32_SYSCALL_BIT + 71)
#define __NR_fcntl (__X32_SYSCALL_BIT + 72)
#define __NR_flock (__X32_SYSCALL_BIT + 73)
#define __NR_fsync (__X32_SYSCALL_BIT + 74)
#define __NR_fdatasync (__X32_SYSCALL_BIT + 75)
#define __NR_truncate (__X32_SYSCALL_BIT + 76)
#define __NR_ftruncate (__X32_SYSCALL_BIT + 77)
#define __NR_getdents (__X32_SYSCALL_BIT + 78)
#define __NR_getcwd (__X32_SYSCALL_BIT + 79)
#define __NR_chdir (__X32_SYSCALL_BIT + 80)
#define __NR_fchdir (__X32_SYSCALL_BIT + 81)
#define __NR_rename (__X32_SYSCALL_BIT + 82)
#define __NR_mkdir (__X32_SYSCALL_BIT + 83)
#define __NR_rmdir (__X32_SYSCALL_BIT + 84)
#define __NR_creat (__X32_SYSCALL_BIT + 85)
#define __NR_link (__X32_SYSCALL_BIT + 86)
#define __NR_unlink (__X32_SYSCALL_BIT + 87)
#define __NR_symlink (__X32_SYSCALL_BIT + 88)
#define __NR_readlink (__X32_SYSCALL_BIT + 89)
#define __NR_chmod (__X32_SYSCALL_BIT + 90)
#define __NR_fchmod (__X32_SYSCALL_BIT + 91)
#define __NR_chown (__X32_SYSCALL_BIT + 92)
#define __NR_fchown (__X32_SYSCALL_BIT + 93)
#define __NR_lchown (__X32_SYSCALL_BIT + 94)
#define __NR_umask (__X32_SYSCALL_BIT + 95)
#define __NR_gettimeofday (__X32_SYSCALL_BIT + 96)
#define __NR_getrlimit (__X32_SYSCALL_BIT + 97)
#define __NR_getrusage (__X32_SYSCALL_BIT + 98)
#define __NR_sysinfo (__X32_SYSCALL_BIT + 99)
#define __NR_times (__X32_SYSCALL_BIT + 100)
#define __NR_getuid (__X32_SYSCALL_BIT + 102)
#define __NR_syslog (__X32_SYSCALL_BIT + 103)
#define __NR_getgid (__X32_SYSCALL_BIT + 104)
#define __NR_setuid (__X32_SYSCALL_BIT + 105)
#define __NR_setgid (__X32_SYSCALL_BIT + 106)
#define __NR_geteuid (__X32_SYSCALL_BIT + 107)
#define __NR_getegid (__X32_SYSCALL_BIT + 108)
#define __NR_setpgid (__X32_SYSCALL_BIT + 109)
#define __NR_getppid (__X32_SYSCALL_BIT + 110)
#define __NR_getpgrp (__X32_SYSCALL_BIT + 111)
#define __NR_setsid (__X32_SYSCALL_BIT + 112)
#define __NR_setreuid (__X32_SYSCALL_BIT + 113)
#define __NR_setregid (__X32_SYSCALL_BIT + 114)
#define __NR_getgroups (__X32_SYSCALL_BIT + 115)
#define __NR_setgroups (__X32_SYSCALL_BIT + 116)
#define __NR_setresuid (__X32_SYSCALL_BIT + 117)
#define __NR_getresuid (__X32_SYSCALL_BIT + 118)
#define __NR_setresgid (__X32_SYSCALL_BIT + 119)
#define __NR_getresgid (__X32_SYSCALL_BIT + 120)
#define __NR_getpgid (__X32_SYSCALL_BIT + 121)
#define __NR_setfsuid (__X32_SYSCALL_BIT + 122)
#define __NR_setfsgid (__X32_SYSCALL_BIT + 123)
#define __NR_getsid (__X32_SYSCALL_BIT + 124)
#define __NR_capget (__X32_SYSCALL_BIT + 125)
#define __NR_capset (__X32_SYSCALL_BIT + 126)
#define __NR_rt_sigsuspend (__X32_SYSCALL_BIT + 130)
#define __NR_utime (__X32_SYSCALL_BIT + 132)
#define __NR_mknod (__X32_SYSCALL_BIT + 133)
#define __NR_personality (__X32_SYSCALL_BIT + 135)
#define __NR_ustat (__X32_SYSCALL_BIT + 136)
#define __NR_statfs (__X32_SYSCALL_BIT + 137)
#define __NR_fstatfs (__X32_SYSCALL_BIT + 138)
#define __NR_sysfs (__X32_SYSCALL_BIT + 139)
#define __NR_getpriority (__X32_SYSCALL_BIT + 140)
#define __NR_setpriority (__X32_SYSCALL_BIT + 141)
#define __NR_sched_setparam (__X32_SYSCALL_BIT + 142)
#define __NR_sched_getparam (__X32_SYSCALL_BIT + 143)
#define __NR_sched_setscheduler (__X32_SYSCALL_BIT + 144)
#define __NR_sched_getscheduler (__X32_SYSCALL_BIT + 145)
#define __NR_sched_get_priority_max (__X32_SYSCALL_BIT + 146)
#define __NR_sched_get_priority_min (__X32_SYSCALL_BIT + 147)
#define __NR_sched_rr_get_interval (__X32_SYSCALL_BIT + 148)
#define __NR_mlock (__X32_SYSCALL_BIT + 149)
#define __NR_munlock (__X32_SYSCALL_BIT + 150)
#define __NR_mlockall (__X32_SYSCALL_BIT + 151)
#define __NR_munlockall (__X32_SYSCALL_BIT + 152)
#define __NR_vhangup (__X32_SYSCALL_BIT + 153)
#define __NR_modify_ldt (__X32_SYSCALL_BIT + 154)
#define __NR_pivot_root (__X32_SYSCALL_BIT + 155)
#define __NR_prctl (__X32_SYSCALL_BIT + 157)
#define __NR_arch_prctl (__X32_SYSCALL_BIT + 158)
#define __NR_adjtimex (__X32_SYSCALL_BIT + 159)
#define __NR_setrlimit (__X32_SYSCALL_BIT + 160)
#define __NR_chroot (__X32_SYSCALL_BIT + 161)
#define __NR_sync (__X32_SYSCALL_BIT + 162)
#define __NR_acct (__X32_SYSCALL_BIT + 163)
#define __NR_settimeofday (__X32_SYSCALL_BIT + 164)
#define __NR_mount (__X32_SYSCALL_BIT + 165)
#define __NR_umount2 (__X32_SYSCALL_BIT + 166)
#define __NR_swapon (__X32_SYSCALL_BIT + 167)
#define __NR_swapoff (__X32_SYSCALL_BIT + 168)
#define __NR_reboot (__X32_SYSCALL_BIT + 169)
#define __NR_sethostname (__X32_SYSCALL_BIT + 170)
#define __NR_setdomainname (__X32_SYSCALL_BIT + 171)
#define __NR_iopl (__X32_SYSCALL_BIT + 172)
#define __NR_ioperm (__X32_SYSCALL_BIT + 173)
#define __NR_init_module (__X32_SYSCALL_BIT + 175)
#define __NR_delete_module (__X32_SYSCALL_BIT + 176)
#define __NR_quotactl (__X32_SYSCALL_BIT + 179)
#define __NR_getpmsg (__X32_SYSCALL_BIT + 181)
#define __NR_putpmsg (__X32_SYSCALL_BIT + 182)
#define __NR_afs_syscall (__X32_SYSCALL_BIT + 183)
#define __NR_tuxcall (__X32_SYSCALL_BIT + 184)
#define __NR_security (__X32_SYSCALL_BIT + 185)
#define __NR_gettid (__X32_SYSCALL_BIT + 186)
#define __NR_readahead (__X32_SYSCALL_BIT + 187)
#define __NR_setxattr (__X32_SYSCALL_BIT + 188)
#define __NR_lsetxattr (__X32_SYSCALL_BIT + 189)
#define __NR_fsetxattr (__X32_SYSCALL_BIT + 190)
#define __NR_getxattr (__X32_SYSCALL_BIT + 191)
#define __NR_lgetxattr (__X32_SYSCALL_BIT + 192)
#define __NR_fgetxattr (__X32_SYSCALL_BIT + 193)
#define __NR_listxattr (__X32_SYSCALL_BIT + 194)
#define __NR_llistxattr (__X32_SYSCALL_BIT + 195)
#define __NR_flistxattr (__X32_SYSCALL_BIT + 196)
#define __NR_removexattr (__X32_SYSCALL_BIT + 197)
#define __NR_lremovexattr (__X32_SYSCALL_BIT + 198)
#define __NR_fremovexattr (__X32_SYSCALL_BIT + 199)
#define __NR_tkill (__X32_SYSCALL_BIT + 200)
#define __NR_time (__X32_SYSCALL_BIT + 201)
#define __NR_futex (__X32_SYSCALL_BIT + 202)
#define __NR_sched_setaffinity (__X32_SYSCALL_BIT + 203)
#define __NR_sched_getaffinity (__X32_SYSCALL_BIT + 204)
#define __NR_io_setup (__X32_SYSCALL_BIT + 206)
#define __NR_io_destroy (__X32_SYSCALL_BIT + 207)
#define __NR_io_getevents (__X32_SYSCALL_BIT + 208)
#define __NR_io_submit (__X32_SYSCALL_BIT + 209)
#define __NR_io_cancel (__X32_SYSCALL_BIT + 210)
#define __NR_lookup_dcookie (__X32_SYSCALL_BIT + 212)
#define __NR_epoll_create (__X32_SYSCALL_BIT + 213)
#define __NR_remap_file_pages (__X32_SYSCALL_BIT + 216)
#define __NR_getdents64 (__X32_SYSCALL_BIT + 217)
#define __NR_set_tid_address (__X32_SYSCALL_BIT + 218)
#define __NR_restart_syscall (__X32_SYSCALL_BIT + 219)
#define __NR_semtimedop (__X32_SYSCALL_BIT + 220)
#define __NR_fadvise64 (__X32_SYSCALL_BIT + 221)
#define __NR_timer_settime (__X32_SYSCALL_BIT + 223)
#define __NR_timer_gettime (__X32_SYSCALL_BIT + 224)
#define __NR_timer_getoverrun (__X32_SYSCALL_BIT + 225)
#define __NR_timer_delete (__X32_SYSCALL_BIT + 226)
#define __NR_clock_settime (__X32_SYSCALL_BIT + 227)
#define __NR_clock_gettime (__X32_SYSCALL_BIT + 228)
#define __NR_clock_getres (__X32_SYSCALL_BIT + 229)
#define __NR_clock_nanosleep (__X32_SYSCALL_BIT + 230)
#define __NR_exit_group (__X32_SYSCALL_BIT + 231)
#define __NR_epoll_wait (__X32_SYSCALL_BIT + 232)
#define __NR_epoll_ctl (__X32_SYSCALL_BIT + 233)
#define __NR_tgkill (__X32_SYSCALL_BIT + 234)
#define __NR_utimes (__X32_SYSCALL_BIT + 235)
#define __NR_mbind (__X32_SYSCALL_BIT + 237)
#define __NR_set_mempolicy (__X32_SYSCALL_BIT + 238)
#define __NR_get_mempolicy (__X32_SYSCALL_BIT + 239)
#define __NR_mq_open (__X32_SYSCALL_BIT + 240)
#define __NR_mq_unlink (__X32_SYSCALL_BIT + 241)
#define __NR_mq_timedsend (__X32_SYSCALL_BIT + 242)
#define __NR_mq_timedreceive (__X32_SYSCALL_BIT + 243)
#define __NR_mq_getsetattr (__X32_SYSCALL_BIT + 245)
#define __NR_add_key (__X32_SYSCALL_BIT + 248)
#define __NR_request_key (__X32_SYSCALL_BIT + 249)
#define __NR_keyctl (__X32_SYSCALL_BIT + 250)
#define __NR_ioprio_set (__X32_SYSCALL_BIT + 251)
#define __NR_ioprio_get (__X32_SYSCALL_BIT + 252)
#define __NR_inotify_init (__X32_SYSCALL_BIT + 253)
#define __NR_inotify_add_watch (__X32_SYSCALL_BIT + 254)
#define __NR_inotify_rm_watch (__X32_SYSCALL_BIT + 255)
#define __NR_migrate_pages (__X32_SYSCALL_BIT + 256)
#define __NR_openat (__X32_SYSCALL_BIT + 257)
#define __NR_mkdirat (__X32_SYSCALL_BIT + 258)
#define __NR_mknodat (__X32_SYSCALL_BIT + 259)
#define __NR_fchownat (__X32_SYSCALL_BIT + 260)
#define __NR_futimesat (__X32_SYSCALL_BIT + 261)
#define __NR_newfstatat (__X32_SYSCALL_BIT + 262)
#define __NR_unlinkat (__X32_SYSCALL_BIT + 263)
#define __NR_renameat (__X32_SYSCALL_BIT + 264)
#define __NR_linkat (__X32_SYSCALL_BIT + 265)
#define __NR_symlinkat (__X32_SYSCALL_BIT + 266)
#define __NR_readlinkat (__X32_SYSCALL_BIT + 267)
#define __NR_fchmodat (__X32_SYSCALL_BIT + 268)
#define __NR_faccessat (__X32_SYSCALL_BIT + 269)
#define __NR_pselect6 (__X32_SYSCALL_BIT + 270)
#define __NR_ppoll (__X32_SYSCALL_BIT + 271)
#define __NR_unshare (__X32_SYSCALL_BIT + 272)
#define __NR_splice (__X32_SYSCALL_BIT + 275)
#define __NR_tee (__X32_SYSCALL_BIT + 276)
#define __NR_sync_file_range (__X32_SYSCALL_BIT + 277)
#define __NR_utimensat (__X32_SYSCALL_BIT + 280)
#define __NR_epoll_pwait (__X32_SYSCALL_BIT + 281)
#define __NR_signalfd (__X32_SYSCALL_BIT + 282)
#define __NR_timerfd_create (__X32_SYSCALL_BIT + 283)
#define __NR_eventfd (__X32_SYSCALL_BIT + 284)
#define __NR_fallocate (__X32_SYSCALL_BIT + 285)
#define __NR_timerfd_settime (__X32_SYSCALL_BIT + 286)
#define __NR_timerfd_gettime (__X32_SYSCALL_BIT + 287)
#define __NR_accept4 (__X32_SYSCALL_BIT + 288)
#define __NR_signalfd4 (__X32_SYSCALL_BIT + 289)
#define __NR_eventfd2 (__X32_SYSCALL_BIT + 290)
#define __NR_epoll_create1 (__X32_SYSCALL_BIT + 291)
#define __NR_dup3 (__X32_SYSCALL_BIT + 292)
#define __NR_pipe2 (__X32_SYSCALL_BIT + 293)
#define __NR_inotify_init1 (__X32_SYSCALL_BIT + 294)
#define __NR_perf_event_open (__X32_SYSCALL_BIT + 298)
#define __NR_fanotify_init (__X32_SYSCALL_BIT + 300)
#define __NR_fanotify_mark (__X32_SYSCALL_BIT + 301)
#define __NR_prlimit64 (__X32_SYSCALL_BIT + 302)
#define __NR_name_to_handle_at (__X32_SYSCALL_BIT + 303)
#define __NR_open_by_handle_at (__X32_SYSCALL_BIT + 304)
#define __NR_clock_adjtime (__X32_SYSCALL_BIT + 305)
#define __NR_syncfs (__X32_SYSCALL_BIT + 306)
#define __NR_setns (__X32_SYSCALL_BIT + 308)
#define __NR_getcpu (__X32_SYSCALL_BIT + 309)
#define __NR_kcmp (__X32_SYSCALL_BIT + 312)
#define __NR_finit_module (__X32_SYSCALL_BIT + 313)
#define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
#define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
#define __NR_ioctl (__X32_SYSCALL_BIT + 514)
#define __NR_readv (__X32_SYSCALL_BIT + 515)
#define __NR_writev (__X32_SYSCALL_BIT + 516)
#define __NR_recvfrom (__X32_SYSCALL_BIT + 517)
#define __NR_sendmsg (__X32_SYSCALL_BIT + 518)
#define __NR_recvmsg (__X32_SYSCALL_BIT + 519)
#define __NR_execve (__X32_SYSCALL_BIT + 520)
#define __NR_ptrace (__X32_SYSCALL_BIT + 521)
#define __NR_rt_sigpending (__X32_SYSCALL_BIT + 522)
#define __NR_rt_sigtimedwait (__X32_SYSCALL_BIT + 523)
#define __NR_rt_sigqueueinfo (__X32_SYSCALL_BIT + 524)
#define __NR_sigaltstack (__X32_SYSCALL_BIT + 525)
#define __NR_timer_create (__X32_SYSCALL_BIT + 526)
#define __NR_mq_notify (__X32_SYSCALL_BIT + 527)
#define __NR_kexec_load (__X32_SYSCALL_BIT + 528)
#define __NR_waitid (__X32_SYSCALL_BIT + 529)
#define __NR_set_robust_list (__X32_SYSCALL_BIT + 530)
#define __NR_get_robust_list (__X32_SYSCALL_BIT + 531)
#define __NR_vmsplice (__X32_SYSCALL_BIT + 532)
#define __NR_move_pages (__X32_SYSCALL_BIT + 533)
#define __NR_preadv (__X32_SYSCALL_BIT + 534)
#define __NR_pwritev (__X32_SYSCALL_BIT + 535)
#define __NR_rt_tgsigqueueinfo (__X32_SYSCALL_BIT + 536)
#define __NR_recvmmsg (__X32_SYSCALL_BIT + 537)
#define __NR_sendmmsg (__X32_SYSCALL_BIT + 538)
#define __NR_process_vm_readv (__X32_SYSCALL_BIT + 539)
#define __NR_process_vm_writev (__X32_SYSCALL_BIT + 540)
#define __NR_setsockopt (__X32_SYSCALL_BIT + 541)
#define __NR_getsockopt (__X32_SYSCALL_BIT + 542)
#undef __NR_fstatat
#undef __NR_pread
...
...
@@ -327,320 +317,311 @@
/* Repeat with SYS_ prefix */
#define SYS_read 0
#define SYS_write 1
#define SYS_open 2
#define SYS_close 3
#define SYS_stat 4
#define SYS_fstat 5
#define SYS_lstat 6
#define SYS_poll 7
#define SYS_lseek 8
#define SYS_mmap 9
#define SYS_mprotect 10
#define SYS_munmap 11
#define SYS_brk 12
#define SYS_rt_sigaction 13
#define SYS_rt_sigprocmask 14
#define SYS_rt_sigreturn 15
#define SYS_ioctl 16
#define SYS_pread64 17
#define SYS_pwrite64 18
#define SYS_readv 19
#define SYS_writev 20
#define SYS_access 21
#define SYS_pipe 22
#define SYS_select 23
#define SYS_sched_yield 24
#define SYS_mremap 25
#define SYS_msync 26
#define SYS_mincore 27
#define SYS_madvise 28
#define SYS_shmget 29
#define SYS_shmat 30
#define SYS_shmctl 31
#define SYS_dup 32
#define SYS_dup2 33
#define SYS_pause 34
#define SYS_nanosleep 35
#define SYS_getitimer 36
#define SYS_alarm 37
#define SYS_setitimer 38
#define SYS_getpid 39
#define SYS_sendfile 40
#define SYS_socket 41
#define SYS_connect 42
#define SYS_accept 43
#define SYS_sendto 44
#define SYS_recvfrom 45
#define SYS_sendmsg 46
#define SYS_recvmsg 47
#define SYS_shutdown 48
#define SYS_bind 49
#define SYS_listen 50
#define SYS_getsockname 51
#define SYS_getpeername 52
#define SYS_socketpair 53
#define SYS_setsockopt 54
#define SYS_getsockopt 55
#define SYS_clone 56
#define SYS_fork 57
#define SYS_vfork 58
#define SYS_execve 59
#define SYS_exit 60
#define SYS_wait4 61
#define SYS_kill 62
#define SYS_uname 63
#define SYS_semget 64
#define SYS_semop 65
#define SYS_semctl 66
#define SYS_shmdt 67
#define SYS_msgget 68
#define SYS_msgsnd 69
#define SYS_msgrcv 70
#define SYS_msgctl 71
#define SYS_fcntl 72
#define SYS_flock 73
#define SYS_fsync 74
#define SYS_fdatasync 75
#define SYS_truncate 76
#define SYS_ftruncate 77
#define SYS_getdents 78
#define SYS_getcwd 79
#define SYS_chdir 80
#define SYS_fchdir 81
#define SYS_rename 82
#define SYS_mkdir 83
#define SYS_rmdir 84
#define SYS_creat 85
#define SYS_link 86
#define SYS_unlink 87
#define SYS_symlink 88
#define SYS_readlink 89
#define SYS_chmod 90
#define SYS_fchmod 91
#define SYS_chown 92
#define SYS_fchown 93
#define SYS_lchown 94
#define SYS_umask 95
#define SYS_gettimeofday 96
#define SYS_getrlimit 97
#define SYS_getrusage 98
#define SYS_sysinfo 99
#define SYS_times 100
#define SYS_ptrace 101
#define SYS_getuid 102
#define SYS_syslog 103
#define SYS_getgid 104
#define SYS_setuid 105
#define SYS_setgid 106
#define SYS_geteuid 107
#define SYS_getegid 108
#define SYS_setpgid 109
#define SYS_getppid 110
#define SYS_getpgrp 111
#define SYS_setsid 112
#define SYS_setreuid 113
#define SYS_setregid 114
#define SYS_getgroups 115
#define SYS_setgroups 116
#define SYS_setresuid 117
#define SYS_getresuid 118
#define SYS_setresgid 119
#define SYS_getresgid 120
#define SYS_getpgid 121
#define SYS_setfsuid 122
#define SYS_setfsgid 123
#define SYS_getsid 124
#define SYS_capget 125
#define SYS_capset 126
#define SYS_rt_sigpending 127
#define SYS_rt_sigtimedwait 128
#define SYS_rt_sigqueueinfo 129
#define SYS_rt_sigsuspend 130
#define SYS_sigaltstack 131
#define SYS_utime 132
#define SYS_mknod 133
#define SYS_uselib 134
#define SYS_personality 135
#define SYS_ustat 136
#define SYS_statfs 137
#define SYS_fstatfs 138
#define SYS_sysfs 139
#define SYS_getpriority 140
#define SYS_setpriority 141
#define SYS_sched_setparam 142
#define SYS_sched_getparam 143
#define SYS_sched_setscheduler 144
#define SYS_sched_getscheduler 145
#define SYS_sched_get_priority_max 146
#define SYS_sched_get_priority_min 147
#define SYS_sched_rr_get_interval 148
#define SYS_mlock 149
#define SYS_munlock 150
#define SYS_mlockall 151
#define SYS_munlockall 152
#define SYS_vhangup 153
#define SYS_modify_ldt 154
#define SYS_pivot_root 155
#define SYS__sysctl 156
#define SYS_prctl 157
#define SYS_arch_prctl 158
#define SYS_adjtimex 159
#define SYS_setrlimit 160
#define SYS_chroot 161
#define SYS_sync 162
#define SYS_acct 163
#define SYS_settimeofday 164
#define SYS_mount 165
#define SYS_umount2 166
#define SYS_swapon 167
#define SYS_swapoff 168
#define SYS_reboot 169
#define SYS_sethostname 170
#define SYS_setdomainname 171
#define SYS_iopl 172
#define SYS_ioperm 173
#define SYS_create_module 174
#define SYS_init_module 175
#define SYS_delete_module 176
#define SYS_get_kernel_syms 177
#define SYS_query_module 178
#define SYS_quotactl 179
#define SYS_nfsservctl 180
#define SYS_getpmsg 181
#define SYS_putpmsg 182
#define SYS_afs_syscall 183
#define SYS_tuxcall 184
#define SYS_security 185
#define SYS_gettid 186
#define SYS_readahead 187
#define SYS_setxattr 188
#define SYS_lsetxattr 189
#define SYS_fsetxattr 190
#define SYS_getxattr 191
#define SYS_lgetxattr 192
#define SYS_fgetxattr 193
#define SYS_listxattr 194
#define SYS_llistxattr 195
#define SYS_flistxattr 196
#define SYS_removexattr 197
#define SYS_lremovexattr 198
#define SYS_fremovexattr 199
#define SYS_tkill 200
#define SYS_time 201
#define SYS_futex 202
#define SYS_sched_setaffinity 203
#define SYS_sched_getaffinity 204
#define SYS_set_thread_area 205
#define SYS_io_setup 206
#define SYS_io_destroy 207
#define SYS_io_getevents 208
#define SYS_io_submit 209
#define SYS_io_cancel 210
#define SYS_get_thread_area 211
#define SYS_lookup_dcookie 212
#define SYS_epoll_create 213
#define SYS_epoll_ctl_old 214
#define SYS_epoll_wait_old 215
#define SYS_remap_file_pages 216
#define SYS_getdents64 217
#define SYS_set_tid_address 218
#define SYS_restart_syscall 219
#define SYS_semtimedop 220
#define SYS_fadvise64 221
#define SYS_timer_create 222
#define SYS_timer_settime 223
#define SYS_timer_gettime 224
#define SYS_timer_getoverrun 225
#define SYS_timer_delete 226
#define SYS_clock_settime 227
#define SYS_clock_gettime 228
#define SYS_clock_getres 229
#define SYS_clock_nanosleep 230
#define SYS_exit_group 231
#define SYS_epoll_wait 232
#define SYS_epoll_ctl 233
#define SYS_tgkill 234
#define SYS_utimes 235
#define SYS_vserver 236
#define SYS_mbind 237
#define SYS_set_mempolicy 238
#define SYS_get_mempolicy 239
#define SYS_mq_open 240
#define SYS_mq_unlink 241
#define SYS_mq_timedsend 242
#define SYS_mq_timedreceive 243
#define SYS_mq_notify 244
#define SYS_mq_getsetattr 245
#define SYS_kexec_load 246
#define SYS_waitid 247
#define SYS_add_key 248
#define SYS_request_key 249
#define SYS_keyctl 250
#define SYS_ioprio_set 251
#define SYS_ioprio_get 252
#define SYS_inotify_init 253
#define SYS_inotify_add_watch 254
#define SYS_inotify_rm_watch 255
#define SYS_migrate_pages 256
#define SYS_openat 257
#define SYS_mkdirat 258
#define SYS_mknodat 259
#define SYS_fchownat 260
#define SYS_futimesat 261
#define SYS_newfstatat 262
#define SYS_unlinkat 263
#define SYS_renameat 264
#define SYS_linkat 265
#define SYS_symlinkat 266
#define SYS_readlinkat 267
#define SYS_fchmodat 268
#define SYS_faccessat 269
#define SYS_pselect6 270
#define SYS_ppoll 271
#define SYS_unshare 272
#define SYS_set_robust_list 273
#define SYS_get_robust_list 274
#define SYS_splice 275
#define SYS_tee 276
#define SYS_sync_file_range 277
#define SYS_vmsplice 278
#define SYS_move_pages 279
#define SYS_utimensat 280
#define SYS_epoll_pwait 281
#define SYS_signalfd 282
#define SYS_timerfd_create 283
#define SYS_eventfd 284
#define SYS_fallocate 285
#define SYS_timerfd_settime 286
#define SYS_timerfd_gettime 287
#define SYS_accept4 288
#define SYS_signalfd4 289
#define SYS_eventfd2 290
#define SYS_epoll_create1 291
#define SYS_dup3 292
#define SYS_pipe2 293
#define SYS_inotify_init1 294
#define SYS_preadv 295
#define SYS_pwritev 296
#define SYS_rt_tgsigqueueinfo 297
#define SYS_perf_event_open 298
#define SYS_recvmmsg 299
#define SYS_fanotify_init 300
#define SYS_fanotify_mark 301
#define SYS_prlimit64 302
#define SYS_name_to_handle_at 303
#define SYS_open_by_handle_at 304
#define SYS_clock_adjtime 305
#define SYS_syncfs 306
#define SYS_sendmmsg 307
#define SYS_setns 308
#define SYS_getcpu 309
#define SYS_process_vm_readv 310
#define SYS_process_vm_writev 311
#define SYS_kcmp 312
#define SYS_finit_module 313
#define SYS_read __NR_read
#define SYS_write __NR_write
#define SYS_open __NR_open
#define SYS_close __NR_close
#define SYS_stat __NR_stat
#define SYS_fstat __NR_fstat
#define SYS_lstat __NR_lstat
#define SYS_poll __NR_poll
#define SYS_lseek __NR_lseek
#define SYS_mmap __NR_mmap
#define SYS_mprotect __NR_mprotect
#define SYS_munmap __NR_munmap
#define SYS_brk __NR_brk
#define SYS_rt_sigprocmask __NR_rt_sigprocmask
#define SYS_pread64 __NR_pread64
#define SYS_pwrite64 __NR_pwrite64
#define SYS_access __NR_access
#define SYS_pipe __NR_pipe
#define SYS_select __NR_select
#define SYS_sched_yield __NR_sched_yield
#define SYS_mremap __NR_mremap
#define SYS_msync __NR_msync
#define SYS_mincore __NR_mincore
#define SYS_madvise __NR_madvise
#define SYS_shmget __NR_shmget
#define SYS_shmat __NR_shmat
#define SYS_shmctl __NR_shmctl
#define SYS_dup __NR_dup
#define SYS_dup2 __NR_dup2
#define SYS_pause __NR_pause
#define SYS_nanosleep __NR_nanosleep
#define SYS_getitimer __NR_getitimer
#define SYS_alarm __NR_alarm
#define SYS_setitimer __NR_setitimer
#define SYS_getpid __NR_getpid
#define SYS_sendfile __NR_sendfile
#define SYS_socket __NR_socket
#define SYS_connect __NR_connect
#define SYS_accept __NR_accept
#define SYS_sendto __NR_sendto
#define SYS_shutdown __NR_shutdown
#define SYS_bind __NR_bind
#define SYS_listen __NR_listen
#define SYS_getsockname __NR_getsockname
#define SYS_getpeername __NR_getpeername
#define SYS_socketpair __NR_socketpair
#define SYS_clone __NR_clone
#define SYS_fork __NR_fork
#define SYS_vfork __NR_vfork
#define SYS_exit __NR_exit
#define SYS_wait4 __NR_wait4
#define SYS_kill __NR_kill
#define SYS_uname __NR_uname
#define SYS_semget __NR_semget
#define SYS_semop __NR_semop
#define SYS_semctl __NR_semctl
#define SYS_shmdt __NR_shmdt
#define SYS_msgget __NR_msgget
#define SYS_msgsnd __NR_msgsnd
#define SYS_msgrcv __NR_msgrcv
#define SYS_msgctl __NR_msgctl
#define SYS_fcntl __NR_fcntl
#define SYS_flock __NR_flock
#define SYS_fsync __NR_fsync
#define SYS_fdatasync __NR_fdatasync
#define SYS_truncate __NR_truncate
#define SYS_ftruncate __NR_ftruncate
#define SYS_getdents __NR_getdents
#define SYS_getcwd __NR_getcwd
#define SYS_chdir __NR_chdir
#define SYS_fchdir __NR_fchdir
#define SYS_rename __NR_rename
#define SYS_mkdir __NR_mkdir
#define SYS_rmdir __NR_rmdir
#define SYS_creat __NR_creat
#define SYS_link __NR_link
#define SYS_unlink __NR_unlink
#define SYS_symlink __NR_symlink
#define SYS_readlink __NR_readlink
#define SYS_chmod __NR_chmod
#define SYS_fchmod __NR_fchmod
#define SYS_chown __NR_chown
#define SYS_fchown __NR_fchown
#define SYS_lchown __NR_lchown
#define SYS_umask __NR_umask
#define SYS_gettimeofday __NR_gettimeofday
#define SYS_getrlimit __NR_getrlimit
#define SYS_getrusage __NR_getrusage
#define SYS_sysinfo __NR_sysinfo
#define SYS_times __NR_times
#define SYS_getuid __NR_getuid
#define SYS_syslog __NR_syslog
#define SYS_getgid __NR_getgid
#define SYS_setuid __NR_setuid
#define SYS_setgid __NR_setgid
#define SYS_geteuid __NR_geteuid
#define SYS_getegid __NR_getegid
#define SYS_setpgid __NR_setpgid
#define SYS_getppid __NR_getppid
#define SYS_getpgrp __NR_getpgrp
#define SYS_setsid __NR_setsid
#define SYS_setreuid __NR_setreuid
#define SYS_setregid __NR_setregid
#define SYS_getgroups __NR_getgroups
#define SYS_setgroups __NR_setgroups
#define SYS_setresuid __NR_setresuid
#define SYS_getresuid __NR_getresuid
#define SYS_setresgid __NR_setresgid
#define SYS_getresgid __NR_getresgid
#define SYS_getpgid __NR_getpgid
#define SYS_setfsuid __NR_setfsuid
#define SYS_setfsgid __NR_setfsgid
#define SYS_getsid __NR_getsid
#define SYS_capget __NR_capget
#define SYS_capset __NR_capset
#define SYS_rt_sigsuspend __NR_rt_sigsuspend
#define SYS_utime __NR_utime
#define SYS_mknod __NR_mknod
#define SYS_personality __NR_personality
#define SYS_ustat __NR_ustat
#define SYS_statfs __NR_statfs
#define SYS_fstatfs __NR_fstatfs
#define SYS_sysfs __NR_sysfs
#define SYS_getpriority __NR_getpriority
#define SYS_setpriority __NR_setpriority
#define SYS_sched_setparam __NR_sched_setparam
#define SYS_sched_getparam __NR_sched_getparam
#define SYS_sched_setscheduler __NR_sched_setscheduler
#define SYS_sched_getscheduler __NR_sched_getscheduler
#define SYS_sched_get_priority_max __NR_sched_get_priority_max
#define SYS_sched_get_priority_min __NR_sched_get_priority_min
#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval
#define SYS_mlock __NR_mlock
#define SYS_munlock __NR_munlock
#define SYS_mlockall __NR_mlockall
#define SYS_munlockall __NR_munlockall
#define SYS_vhangup __NR_vhangup
#define SYS_modify_ldt __NR_modify_ldt
#define SYS_pivot_root __NR_pivot_root
#define SYS_prctl __NR_prctl
#define SYS_arch_prctl __NR_arch_prctl
#define SYS_adjtimex __NR_adjtimex
#define SYS_setrlimit __NR_setrlimit
#define SYS_chroot __NR_chroot
#define SYS_sync __NR_sync
#define SYS_acct __NR_acct
#define SYS_settimeofday __NR_settimeofday
#define SYS_mount __NR_mount
#define SYS_umount2 __NR_umount2
#define SYS_swapon __NR_swapon
#define SYS_swapoff __NR_swapoff
#define SYS_reboot __NR_reboot
#define SYS_sethostname __NR_sethostname
#define SYS_setdomainname __NR_setdomainname
#define SYS_iopl __NR_iopl
#define SYS_ioperm __NR_ioperm
#define SYS_init_module __NR_init_module
#define SYS_delete_module __NR_delete_module
#define SYS_quotactl __NR_quotactl
#define SYS_getpmsg __NR_getpmsg
#define SYS_putpmsg __NR_putpmsg
#define SYS_afs_syscall __NR_afs_syscall
#define SYS_tuxcall __NR_tuxcall
#define SYS_security __NR_security
#define SYS_gettid __NR_gettid
#define SYS_readahead __NR_readahead
#define SYS_setxattr __NR_setxattr
#define SYS_lsetxattr __NR_lsetxattr
#define SYS_fsetxattr __NR_fsetxattr
#define SYS_getxattr __NR_getxattr
#define SYS_lgetxattr __NR_lgetxattr
#define SYS_fgetxattr __NR_fgetxattr
#define SYS_listxattr __NR_listxattr
#define SYS_llistxattr __NR_llistxattr
#define SYS_flistxattr __NR_flistxattr
#define SYS_removexattr __NR_removexattr
#define SYS_lremovexattr __NR_lremovexattr
#define SYS_fremovexattr __NR_fremovexattr
#define SYS_tkill __NR_tkill
#define SYS_time __NR_time
#define SYS_futex __NR_futex
#define SYS_sched_setaffinity __NR_sched_setaffinity
#define SYS_sched_getaffinity __NR_sched_getaffinity
#define SYS_io_setup __NR_io_setup
#define SYS_io_destroy __NR_io_destroy
#define SYS_io_getevents __NR_io_getevents
#define SYS_io_submit __NR_io_submit
#define SYS_io_cancel __NR_io_cancel
#define SYS_lookup_dcookie __NR_lookup_dcookie
#define SYS_epoll_create __NR_epoll_create
#define SYS_remap_file_pages __NR_remap_file_pages
#define SYS_getdents64 __NR_getdents64
#define SYS_set_tid_address __NR_set_tid_address
#define SYS_restart_syscall __NR_restart_syscall
#define SYS_semtimedop __NR_semtimedop
#define SYS_fadvise64 __NR_fadvise64
#define SYS_timer_settime __NR_timer_settime
#define SYS_timer_gettime __NR_timer_gettime
#define SYS_timer_getoverrun __NR_timer_getoverrun
#define SYS_timer_delete __NR_timer_delete
#define SYS_clock_settime __NR_clock_settime
#define SYS_clock_gettime __NR_clock_gettime
#define SYS_clock_getres __NR_clock_getres
#define SYS_clock_nanosleep __NR_clock_nanosleep
#define SYS_exit_group __NR_exit_group
#define SYS_epoll_wait __NR_epoll_wait
#define SYS_epoll_ctl __NR_epoll_ctl
#define SYS_tgkill __NR_tgkill
#define SYS_utimes __NR_utimes
#define SYS_mbind __NR_mbind
#define SYS_set_mempolicy __NR_set_mempolicy
#define SYS_get_mempolicy __NR_get_mempolicy
#define SYS_mq_open __NR_mq_open
#define SYS_mq_unlink __NR_mq_unlink
#define SYS_mq_timedsend __NR_mq_timedsend
#define SYS_mq_timedreceive __NR_mq_timedreceive
#define SYS_mq_getsetattr __NR_mq_getsetattr
#define SYS_add_key __NR_add_key
#define SYS_request_key __NR_request_key
#define SYS_keyctl __NR_keyctl
#define SYS_ioprio_set __NR_ioprio_set
#define SYS_ioprio_get __NR_ioprio_get
#define SYS_inotify_init __NR_inotify_init
#define SYS_inotify_add_watch __NR_inotify_add_watch
#define SYS_inotify_rm_watch __NR_inotify_rm_watch
#define SYS_migrate_pages __NR_migrate_pages
#define SYS_openat __NR_openat
#define SYS_mkdirat __NR_mkdirat
#define SYS_mknodat __NR_mknodat
#define SYS_fchownat __NR_fchownat
#define SYS_futimesat __NR_futimesat
#define SYS_newfstatat __NR_newfstatat
#define SYS_unlinkat __NR_unlinkat
#define SYS_renameat __NR_renameat
#define SYS_linkat __NR_linkat
#define SYS_symlinkat __NR_symlinkat
#define SYS_readlinkat __NR_readlinkat
#define SYS_fchmodat __NR_fchmodat
#define SYS_faccessat __NR_faccessat
#define SYS_pselect6 __NR_pselect6
#define SYS_ppoll __NR_ppoll
#define SYS_unshare __NR_unshare
#define SYS_splice __NR_splice
#define SYS_tee __NR_tee
#define SYS_sync_file_range __NR_sync_file_range
#define SYS_utimensat __NR_utimensat
#define SYS_epoll_pwait __NR_epoll_pwait
#define SYS_signalfd __NR_signalfd
#define SYS_timerfd_create __NR_timerfd_create
#define SYS_eventfd __NR_eventfd
#define SYS_fallocate __NR_fallocate
#define SYS_timerfd_settime __NR_timerfd_settime
#define SYS_timerfd_gettime __NR_timerfd_gettime
#define SYS_accept4 __NR_accept4
#define SYS_signalfd4 __NR_signalfd4
#define SYS_eventfd2 __NR_eventfd2
#define SYS_epoll_create1 __NR_epoll_create1
#define SYS_dup3 __NR_dup3
#define SYS_pipe2 __NR_pipe2
#define SYS_inotify_init1 __NR_inotify_init1
#define SYS_perf_event_open __NR_perf_event_open
#define SYS_fanotify_init __NR_fanotify_init
#define SYS_fanotify_mark __NR_fanotify_mark
#define SYS_prlimit64 __NR_prlimit64
#define SYS_name_to_handle_at __NR_name_to_handle_at
#define SYS_open_by_handle_at __NR_open_by_handle_at
#define SYS_clock_adjtime __NR_clock_adjtime
#define SYS_syncfs __NR_syncfs
#define SYS_setns __NR_setns
#define SYS_getcpu __NR_getcpu
#define SYS_kcmp __NR_kcmp
#define SYS_finit_module __NR_finit_module
#define SYS_rt_sigaction __NR_rt_sigaction
#define SYS_rt_sigreturn __NR_rt_sigreturn
#define SYS_ioctl __NR_ioctl
#define SYS_readv __NR_readv
#define SYS_writev __NR_writev
#define SYS_recvfrom __NR_recvfrom
#define SYS_sendmsg __NR_sendmsg
#define SYS_recvmsg __NR_recvmsg
#define SYS_execve __NR_execve
#define SYS_ptrace __NR_ptrace
#define SYS_rt_sigpending __NR_rt_sigpending
#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait
#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo
#define SYS_sigaltstack __NR_sigaltstack
#define SYS_timer_create __NR_timer_create
#define SYS_mq_notify __NR_mq_notify
#define SYS_kexec_load __NR_kexec_load
#define SYS_waitid __NR_waitid
#define SYS_set_robust_list __NR_set_robust_list
#define SYS_get_robust_list __NR_get_robust_list
#define SYS_vmsplice __NR_vmsplice
#define SYS_move_pages __NR_move_pages
#define SYS_preadv __NR_preadv
#define SYS_pwritev __NR_pwritev
#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo
#define SYS_recvmmsg __NR_recvmmsg
#define SYS_sendmmsg __NR_sendmmsg
#define SYS_process_vm_readv __NR_process_vm_readv
#define SYS_process_vm_writev __NR_process_vm_writev
#define SYS_setsockopt __NR_setsockopt
#define SYS_getsockopt __NR_getsockopt
#undef SYS_fstatat
#undef SYS_pread
...
...
@@ -651,5 +632,3 @@
#define SYS_pwrite SYS_pwrite64
#define SYS_getdents SYS_getdents64
#define SYS_fadvise SYS_fadvise64
arch/x32/src/syscall_cp_fixup.c
0 → 100644
浏览文件 @
664cd341
#include <sys/syscall.h>
long
__syscall_cp_internal
(
volatile
void
*
,
long
long
,
long
long
,
long
long
,
long
long
,
long
long
,
long
long
,
long
long
);
struct
__timespec
{
long
long
tv_sec
;
long
tv_nsec
;
};
struct
__timespec_kernel
{
long
long
tv_sec
;
long
long
tv_nsec
;
};
#define __tsc(X) ((struct __timespec*)(unsigned long)(X))
long
__syscall_cp_asm
(
volatile
void
*
foo
,
long
long
n
,
long
long
a1
,
long
long
a2
,
long
long
a3
,
long
long
a4
,
long
long
a5
,
long
long
a6
)
{
switch
(
n
)
{
case
SYS_mq_timedsend
:
case
SYS_mq_timedreceive
:
case
SYS_pselect6
:
if
(
a5
)
a5
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
a5
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
a5
)
->
tv_nsec
});
break
;
case
SYS_futex
:
if
(
a4
)
a4
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
a4
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
a4
)
->
tv_nsec
});
if
(
n
==
SYS_futex
)
break
;
case
SYS_clock_nanosleep
:
case
SYS_rt_sigtimedwait
:
case
SYS_ppoll
:
if
(
a3
)
a3
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
a3
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
a3
)
->
tv_nsec
});
break
;
case
SYS_nanosleep
:
if
(
a1
)
a1
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
a1
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
a1
)
->
tv_nsec
});
if
(
a2
)
a2
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
a2
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
a2
)
->
tv_nsec
});
break
;
}
return
__syscall_cp_internal
(
foo
,
n
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
);
}
arch/x32/syscall_arch.h
浏览文件 @
664cd341
#define __SYSCALL_LL_E(x) (x)
#define __SYSCALL_LL_O(x) (x)
static
__inline
long
__syscall0
(
long
n
)
#define __scc(X) sizeof(1?(X):0ULL) < 8 ? (unsigned long) (X) : (long long) (X)
#define syscall_arg_t long long
struct
__timespec
{
long
long
tv_sec
;
long
tv_nsec
;
};
struct
__timespec_kernel
{
long
long
tv_sec
;
long
long
tv_nsec
;
};
#define __tsc(X) ((struct __timespec*)(unsigned long)(X))
static
__inline
long
__syscall0
(
long
long
n
)
{
unsigned
long
ret
;
__asm__
__volatile__
(
"syscall"
:
"=a"
(
ret
)
:
"a"
(
n
)
:
"rcx"
,
"r11"
,
"memory"
);
return
ret
;
}
static
__inline
long
__syscall1
(
long
n
,
long
a1
)
static
__inline
long
__syscall1
(
long
long
n
,
long
long
a1
)
{
unsigned
long
ret
;
__asm__
__volatile__
(
"syscall"
:
"=a"
(
ret
)
:
"a"
(
n
),
"D"
(
a1
)
:
"rcx"
,
"r11"
,
"memory"
);
return
ret
;
}
static
__inline
long
__syscall2
(
long
n
,
long
a1
,
long
a2
)
static
__inline
long
__syscall2
(
long
long
n
,
long
long
a1
,
long
long
a2
)
{
unsigned
long
ret
;
struct
__timespec
*
ts2
=
0
;
switch
(
n
)
{
case
SYS_nanosleep
:
if
(
a1
)
a1
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
a1
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
a1
)
->
tv_nsec
});
break
;
case
SYS_clock_settime
:
if
(
a2
)
a2
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
a2
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
a2
)
->
tv_nsec
});
}
__asm__
__volatile__
(
"syscall"
:
"=a"
(
ret
)
:
"a"
(
n
),
"D"
(
a1
),
"S"
(
a2
)
:
"rcx"
,
"r11"
,
"memory"
);
return
ret
;
}
static
__inline
long
__syscall3
(
long
n
,
long
a1
,
long
a2
,
long
a3
)
static
__inline
long
__syscall3
(
long
long
n
,
long
long
a1
,
long
long
a2
,
long
long
a3
)
{
unsigned
long
ret
;
__asm__
__volatile__
(
"syscall"
:
"=a"
(
ret
)
:
"a"
(
n
),
"D"
(
a1
),
"S"
(
a2
),
...
...
@@ -31,31 +47,74 @@ static __inline long __syscall3(long n, long a1, long a2, long a3)
return
ret
;
}
static
__inline
long
__syscall4
(
long
n
,
long
a1
,
long
a2
,
long
a3
,
long
a4
)
static
__inline
long
__syscall4
(
long
long
n
,
long
long
a1
,
long
long
a2
,
long
long
a3
,
long
long
a4
)
{
unsigned
long
ret
;
register
long
r10
__asm__
(
"r10"
)
=
a4
;
register
long
long
r10
__asm__
(
"r10"
)
=
a4
;
switch
(
n
)
{
case
SYS_futex
:
if
((
a2
&
(
~
128
/* FUTEX_PRIVATE_FLAG */
))
==
0
/* FUTEX_WAIT */
)
{
if
(
r10
)
r10
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
r10
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
r10
)
->
tv_nsec
});
}
break
;
case
SYS_utimensat
:
if
(
a3
)
a3
=
(
unsigned
long
)
((
struct
__timespec_kernel
[
2
])
{
[
0
]
=
{.
tv_sec
=
__tsc
(
a3
)[
0
].
tv_sec
,
.
tv_nsec
=
__tsc
(
a3
)[
0
].
tv_nsec
},
[
1
]
=
{.
tv_sec
=
__tsc
(
a3
)[
1
].
tv_sec
,
.
tv_nsec
=
__tsc
(
a3
)[
1
].
tv_nsec
},
});
break
;
case
SYS_clock_nanosleep
:
case
SYS_rt_sigtimedwait
:
case
SYS_ppoll
:
if
(
a3
)
a3
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
a3
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
a3
)
->
tv_nsec
});
}
__asm__
__volatile__
(
"syscall"
:
"=a"
(
ret
)
:
"a"
(
n
),
"D"
(
a1
),
"S"
(
a2
),
"d"
(
a3
),
"r"
(
r10
)
:
"rcx"
,
"r11"
,
"memory"
);
return
ret
;
}
static
__inline
long
__syscall5
(
long
n
,
long
a1
,
long
a2
,
long
a3
,
long
a4
,
long
a5
)
static
__inline
long
__syscall5
(
long
long
n
,
long
long
a1
,
long
long
a2
,
long
long
a3
,
long
long
a4
,
long
long
a5
)
{
unsigned
long
ret
;
register
long
r10
__asm__
(
"r10"
)
=
a4
;
register
long
r8
__asm__
(
"r8"
)
=
a5
;
register
long
long
r10
__asm__
(
"r10"
)
=
a4
;
register
long
long
r8
__asm__
(
"r8"
)
=
a5
;
switch
(
n
)
{
case
SYS_futex
:
if
((
a2
&
(
~
128
/* FUTEX_PRIVATE_FLAG */
))
==
0
/* FUTEX_WAIT */
)
{
if
(
r10
)
r10
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
r10
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
r10
)
->
tv_nsec
});
}
break
;
case
SYS_mq_timedsend
:
case
SYS_mq_timedreceive
:
if
(
r8
)
r8
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
r8
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
r8
)
->
tv_nsec
});
}
__asm__
__volatile__
(
"syscall"
:
"=a"
(
ret
)
:
"a"
(
n
),
"D"
(
a1
),
"S"
(
a2
),
"d"
(
a3
),
"r"
(
r10
),
"r"
(
r8
)
:
"rcx"
,
"r11"
,
"memory"
);
return
ret
;
}
static
__inline
long
__syscall6
(
long
n
,
long
a1
,
long
a2
,
long
a3
,
long
a4
,
long
a5
,
long
a6
)
static
__inline
long
__syscall6
(
long
long
n
,
long
long
a1
,
long
long
a2
,
long
long
a3
,
long
long
a4
,
long
long
a5
,
long
long
a6
)
{
unsigned
long
ret
;
register
long
r10
__asm__
(
"r10"
)
=
a4
;
register
long
r8
__asm__
(
"r8"
)
=
a5
;
register
long
r9
__asm__
(
"r9"
)
=
a6
;
register
long
long
r10
__asm__
(
"r10"
)
=
a4
;
register
long
long
r8
__asm__
(
"r8"
)
=
a5
;
register
long
long
r9
__asm__
(
"r9"
)
=
a6
;
switch
(
n
)
{
case
SYS_futex
:
if
((
a2
&
(
~
128
/* FUTEX_PRIVATE_FLAG */
))
==
0
/* FUTEX_WAIT */
)
{
if
(
r10
)
r10
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
r10
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
r10
)
->
tv_nsec
});
}
break
;
case
SYS_pselect6
:
if
(
r8
)
r8
=
(
unsigned
long
)
(
&
(
struct
__timespec_kernel
)
{
.
tv_sec
=
__tsc
(
r8
)
->
tv_sec
,
.
tv_nsec
=
__tsc
(
r8
)
->
tv_nsec
});
}
__asm__
__volatile__
(
"syscall"
:
"=a"
(
ret
)
:
"a"
(
n
),
"D"
(
a1
),
"S"
(
a2
),
"d"
(
a3
),
"r"
(
r10
),
"r"
(
r8
),
"r"
(
r9
)
:
"rcx"
,
"r11"
,
"memory"
);
return
ret
;
...
...
src/fenv/x32/fenv.s
浏览文件 @
664cd341
...
...
@@ -8,14 +8,14 @@ feclearexcept:
test
%
eax
,%
ecx
jz
1
f
fnclex
1
:
stmxcsr
-
8
(%
r
sp
)
1
:
stmxcsr
-
8
(%
e
sp
)
and
$
0x3f
,%
eax
or
%
eax
,-
8
(%
r
sp
)
test
%
ecx
,-
8
(%
r
sp
)
or
%
eax
,-
8
(%
e
sp
)
test
%
ecx
,-
8
(%
e
sp
)
jz
1
f
not
%
ecx
and
%
ecx
,-
8
(%
r
sp
)
ldmxcsr
-
8
(%
r
sp
)
and
%
ecx
,-
8
(%
e
sp
)
ldmxcsr
-
8
(%
e
sp
)
1
:
xor
%
eax
,%
eax
ret
...
...
@@ -23,9 +23,9 @@ feclearexcept:
.
type
feraiseexcept
,@
function
feraiseexcept
:
and
$
0x3f
,%
edi
stmxcsr
-
8
(%
r
sp
)
or
%
edi
,-
8
(%
r
sp
)
ldmxcsr
-
8
(%
r
sp
)
stmxcsr
-
8
(%
e
sp
)
or
%
edi
,-
8
(%
e
sp
)
ldmxcsr
-
8
(%
e
sp
)
xor
%
eax
,%
eax
ret
...
...
@@ -35,15 +35,15 @@ __fesetround:
push
%
rax
xor
%
eax
,%
eax
mov
%
edi
,%
ecx
fnstcw
(%
r
sp
)
andb
$
0xf3
,
1
(%
r
sp
)
or
%
ch
,
1
(%
r
sp
)
fldcw
(%
r
sp
)
stmxcsr
(%
r
sp
)
fnstcw
(%
e
sp
)
andb
$
0xf3
,
1
(%
e
sp
)
or
%
ch
,
1
(%
e
sp
)
fldcw
(%
e
sp
)
stmxcsr
(%
e
sp
)
shl
$
3
,%
ch
andb
$
0x9f
,
1
(%
r
sp
)
or
%
ch
,
1
(%
r
sp
)
ldmxcsr
(%
r
sp
)
andb
$
0x9f
,
1
(%
e
sp
)
or
%
ch
,
1
(%
e
sp
)
ldmxcsr
(%
e
sp
)
pop
%
rcx
ret
...
...
@@ -51,7 +51,7 @@ __fesetround:
.
type
fegetround
,@
function
fegetround
:
push
%
rax
stmxcsr
(%
r
sp
)
stmxcsr
(%
e
sp
)
pop
%
rax
shr
$
3
,%
eax
and
$
0xc00
,%
eax
...
...
@@ -61,27 +61,27 @@ fegetround:
.
type
fegetenv
,@
function
fegetenv
:
xor
%
eax
,%
eax
fnstenv
(%
r
di
)
stmxcsr
28
(%
r
di
)
fnstenv
(%
e
di
)
stmxcsr
28
(%
e
di
)
ret
.
global
fesetenv
.
type
fesetenv
,@
function
fesetenv
:
xor
%
eax
,%
eax
inc
%
r
di
inc
%
e
di
jz
1
f
fldenv
-
1
(%
r
di
)
ldmxcsr
27
(%
r
di
)
fldenv
-
1
(%
e
di
)
ldmxcsr
27
(%
e
di
)
ret
1
:
push
%
rax
push
%
rax
pushq
$
0xffff
pushq
$
0x37f
fldenv
(%
r
sp
)
fldenv
(%
e
sp
)
pushq
$
0x1f80
ldmxcsr
(%
r
sp
)
add
$
40
,%
r
sp
ldmxcsr
(%
e
sp
)
add
$
40
,%
e
sp
ret
.
global
fetestexcept
...
...
@@ -89,7 +89,7 @@ fesetenv:
fetestexcept
:
and
$
0x3f
,%
edi
push
%
rax
stmxcsr
(%
r
sp
)
stmxcsr
(%
e
sp
)
pop
%
rsi
fnstsw
%
ax
or
%
esi
,%
eax
...
...
src/ldso/x32/start.s
浏览文件 @
664cd341
.
text
.
global
_start
_start
:
mov
(%
rsp
),%
rdi
lea
8
(%
rsp
),%
rsi
mov
(%
rsp
),%
rdi
/*
move
argc
into
1
st
argument
slot
*/
lea
4
(%
rsp
),%
rsi
/*
move
argv
into
2
nd
argument
slot
*/
call
__dynlink
pop
%
rdi
/
*
in
case
the
dynlinker
was
called
directly
,
it
sets
the
"consumed"
argv
values
to
-
1
.
so
we
must
loop
over
the
array
as
long
as
-
1
is
in
the
top
argv
slot
,
decrement
argc
,
and
then
set
the
stackpointer
to
the
new
argc
as
well
as
argc
's new value.
as
the
x32
abi
has
longs
in
the
argv
array
,
we
cannot
use
push
/
pop
.
*/
movl
(%
rsp
),%
edi
/*
copy
argc
into
edi
*/
xor
%
rdx
,%
rdx
/*
we
use
rdx
as
an
offset
to
the
current
argv
member
*/
1
:
dec
%
edi
pop
%
rsi
cmp
$
-
1
,%
rsi
addl
$
4
,
%
edx
movl
(%
rsp
,
%
rdx
),
%
esi
cmp
$
-
1
,%
esi
jz
1
b
inc
%
edi
push
%
rsi
push
%
rdi
subl
$
4
,
%
edx
lea
(%
rsp
,
%
rdx
),
%
rsp
/*
set
rsp
to
new
argv
[-
1
]
*/
movl
%
edi
,
(%
rsp
)
/*
write
new
argc
there
*/
xor
%
edx
,%
edx
jmp
*%
rax
src/math/x32/acosl.s
浏览文件 @
664cd341
...
...
@@ -3,7 +3,7 @@
.
global
acosl
.
type
acosl
,@
function
acosl
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
1
:
fld
%
st
(
0
)
fld1
fsub
%
st
(
0
),%
st
(
1
)
...
...
src/math/x32/asinl.s
浏览文件 @
664cd341
.
global
asinl
.
type
asinl
,@
function
asinl
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
1
:
fld
%
st
(
0
)
fld1
fsub
%
st
(
0
),%
st
(
1
)
...
...
src/math/x32/atan2l.s
浏览文件 @
664cd341
.
global
atan2l
.
type
atan2l
,@
function
atan2l
:
fldt
8
(%
r
sp
)
fldt
24
(%
r
sp
)
fldt
8
(%
e
sp
)
fldt
24
(%
e
sp
)
fpatan
ret
src/math/x32/atanl.s
浏览文件 @
664cd341
.
global
atanl
.
type
atanl
,@
function
atanl
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
fld1
fpatan
ret
src/math/x32/exp2l.s
浏览文件 @
664cd341
.
global
expm1l
.
type
expm1l
,@
function
expm1l
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
fldl2e
fmulp
movl
$
0xc2820000
,-
4
(%
r
sp
)
flds
-
4
(%
r
sp
)
movl
$
0xc2820000
,-
4
(%
e
sp
)
flds
-
4
(%
e
sp
)
fucomp
%
st
(
1
)
fnstsw
%
ax
sahf
...
...
@@ -35,21 +35,21 @@ expm1l:
.
global
exp2l
.
type
exp2l
,@
function
exp2l
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
1
:
fld
%
st
(
0
)
sub
$
16
,%
r
sp
fstpt
(%
r
sp
)
mov
8
(%
r
sp
),%
ax
sub
$
16
,%
e
sp
fstpt
(%
e
sp
)
mov
8
(%
e
sp
),%
ax
and
$
0x7fff
,%
ax
cmp
$
0x3fff
+
13
,%
ax
jb
4
f
#
|x|
<
8192
cmp
$
0x3fff
+
15
,%
ax
jae
3
f
#
|x|
>=
32768
fsts
(%
r
sp
)
cmpl
$
0xc67ff800
,(%
r
sp
)
fsts
(%
e
sp
)
cmpl
$
0xc67ff800
,(%
e
sp
)
jb
2
f
#
x
>
-
16382
movl
$
0x5f000000
,(%
r
sp
)
flds
(%
r
sp
)
#
0x1p63
movl
$
0x5f000000
,(%
e
sp
)
flds
(%
e
sp
)
#
0x1p63
fld
%
st
(
1
)
fsub
%
st
(
1
)
faddp
...
...
@@ -57,10 +57,10 @@ exp2l:
fnstsw
sahf
je
2
f
#
x
-
0x1p63
+
0x1p63
==
x
movl
$
1
,(%
r
sp
)
flds
(%
r
sp
)
#
0x1p-149
movl
$
1
,(%
e
sp
)
flds
(%
e
sp
)
#
0x1p-149
fdiv
%
st
(
1
)
fstps
(%
r
sp
)
#
raise
underflow
fstps
(%
e
sp
)
#
raise
underflow
2
:
fld1
fld
%
st
(
1
)
frndint
...
...
@@ -70,21 +70,21 @@ exp2l:
faddp
#
2
^(
x
-
rint
(
x
))
1
:
fscale
fstp
%
st
(
1
)
add
$
16
,%
r
sp
add
$
16
,%
e
sp
ret
3
:
xor
%
eax
,%
eax
4
:
cmp
$
0x3fff
-
64
,%
ax
fld1
jb
1
b
#
|x|
<
0x1p-64
fstpt
(%
r
sp
)
fistl
8
(%
r
sp
)
fildl
8
(%
r
sp
)
fstpt
(%
e
sp
)
fistl
8
(%
e
sp
)
fildl
8
(%
e
sp
)
fsubrp
%
st
(
1
)
addl
$
0x3fff
,
8
(%
r
sp
)
addl
$
0x3fff
,
8
(%
e
sp
)
f2xm1
fld1
faddp
#
2
^(
x
-
rint
(
x
))
fldt
(%
r
sp
)
#
2
^
rint
(
x
)
fldt
(%
e
sp
)
#
2
^
rint
(
x
)
fmulp
add
$
16
,%
r
sp
add
$
16
,%
e
sp
ret
src/math/x32/expl.s
浏览文件 @
664cd341
...
...
@@ -6,11 +6,11 @@
.
global
expl
.
type
expl
,@
function
expl
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
#
interesting
case
:
0x1p-32
<=
|x|
<
16384
#
check
if
(
exponent
|
0x8000
)
is
in
[
0xbfff
-
32
,
0xbfff
+
13
]
mov
16
(%
r
sp
),
%
ax
mov
16
(%
e
sp
),
%
ax
or
$
0x8000
,
%
ax
sub
$
0xbfdf
,
%
ax
cmp
$
45
,
%
ax
...
...
@@ -29,29 +29,29 @@ expl:
#
should
be
0x1
.71547652
b82fe178p0L
==
0x3fff
b8aa3b29
5
c17f0bc
#
it
will
be
wrong
on
non
-
nearest
rounding
mode
2
:
fldl2e
sub
q
$
48
,
%
r
sp
sub
$
48
,
%
e
sp
#
hi
=
log2e_hi
*
x
#
2
^
hi
=
exp2l
(
hi
)
fmul
%
st
(
1
),%
st
fld
%
st
(
0
)
fstpt
(%
r
sp
)
fstpt
16
(%
r
sp
)
fstpt
32
(%
r
sp
)
fstpt
(%
e
sp
)
fstpt
16
(%
e
sp
)
fstpt
32
(%
e
sp
)
call
exp2l
# if 2^hi == inf return 2^hi
fld
%
st
(
0
)
fstpt
(%
r
sp
)
cmpw
$
0x7fff
,
8
(%
r
sp
)
fstpt
(%
e
sp
)
cmpw
$
0x7fff
,
8
(%
e
sp
)
je
1
f
fldt
32
(%
r
sp
)
fldt
16
(%
r
sp
)
fldt
32
(%
e
sp
)
fldt
16
(%
e
sp
)
#
fpu
stack
:
2
^
hi
x
hi
#
exact
mult
:
x
*
log2e
fld
%
st
(
1
)
#
c
=
0x1p32
+
1
movq
$
0x41f0000000100000
,%
rax
pushq
%
rax
fldl
(%
r
sp
)
fldl
(%
e
sp
)
#
xh
=
x
-
c
*
x
+
c
*
x
#
xl
=
x
-
xh
fmulp
...
...
@@ -63,7 +63,7 @@ expl:
#
yh
=
log2e_hi
-
c
*
log2e_hi
+
c
*
log2e_hi
movq
$
0x3ff7154765200000
,%
rax
pushq
%
rax
fldl
(%
r
sp
)
fldl
(%
e
sp
)
#
fpu
stack
:
2
^
hi
x
hi
xh
xl
yh
#
lo
=
hi
-
xh
*
yh
+
xl
*
yh
fld
%
st
(
2
)
...
...
@@ -74,7 +74,7 @@ expl:
#
yl
=
log2e_hi
-
yh
movq
$
0x3de705fc2f000000
,%
rax
pushq
%
rax
fldl
(%
r
sp
)
fldl
(%
e
sp
)
#
fpu
stack
:
2
^
hi
x
lo
xh
xl
yl
#
lo
+=
xh
*
yl
+
xl
*
yl
fmul
%
st
,
%
st
(
2
)
...
...
@@ -87,8 +87,8 @@ expl:
pushq
%
rax
movq
$
0x82f0025f2dc582ee
,%
rax
pushq
%
rax
fldt
(%
r
sp
)
add
q
$
40
,%
r
sp
fldt
(%
e
sp
)
add
$
40
,%
e
sp
#
fpu
stack
:
2
^
hi
x
lo
log2e_lo
#
lo
+=
log2e_lo
*
x
#
return
2
^
hi
+
2
^
hi
(
2
^
lo
-
1
)
...
...
@@ -97,5 +97,5 @@ expl:
f2xm1
fmul
%
st
(
1
),
%
st
faddp
1
:
add
q
$
48
,
%
r
sp
1
:
add
$
48
,
%
e
sp
ret
src/math/x32/fabsl.s
浏览文件 @
664cd341
.
global
fabsl
.
type
fabsl
,@
function
fabsl
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
fabs
ret
src/math/x32/floorl.s
浏览文件 @
664cd341
.
global
floorl
.
type
floorl
,@
function
floorl
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
1
:
mov
$
0x7
,%
al
1
:
fstcw
8
(%
r
sp
)
mov
9
(%
r
sp
),%
ah
mov
%
al
,
9
(%
r
sp
)
fldcw
8
(%
r
sp
)
1
:
fstcw
8
(%
e
sp
)
mov
9
(%
e
sp
),%
ah
mov
%
al
,
9
(%
e
sp
)
fldcw
8
(%
e
sp
)
frndint
mov
%
ah
,
9
(%
r
sp
)
fldcw
8
(%
r
sp
)
mov
%
ah
,
9
(%
e
sp
)
fldcw
8
(%
e
sp
)
ret
.
global
ceill
.
type
ceill
,@
function
ceill
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
mov
$
0xb
,%
al
jmp
1
b
.
global
truncl
.
type
truncl
,@
function
truncl
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
mov
$
0xf
,%
al
jmp
1
b
src/math/x32/fmodl.s
浏览文件 @
664cd341
.
global
fmodl
.
type
fmodl
,@
function
fmodl
:
fldt
24
(%
r
sp
)
fldt
8
(%
r
sp
)
fldt
24
(%
e
sp
)
fldt
8
(%
e
sp
)
1
:
fprem
fstsw
%
ax
sahf
...
...
src/math/x32/llrintl.s
浏览文件 @
664cd341
.
global
llrintl
.
type
llrintl
,@
function
llrintl
:
fldt
8
(%
r
sp
)
fistpll
8
(%
r
sp
)
mov
8
(%
r
sp
),%
rax
fldt
8
(%
e
sp
)
fistpll
8
(%
e
sp
)
mov
8
(%
e
sp
),%
rax
ret
src/math/x32/log10l.s
浏览文件 @
664cd341
...
...
@@ -2,6 +2,6 @@
.
type
log10l
,@
function
log10l
:
fldlg2
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
fyl2x
ret
src/math/x32/log1pl.s
浏览文件 @
664cd341
.
global
log1pl
.
type
log1pl
,@
function
log1pl
:
mov
14
(%
r
sp
),%
eax
mov
14
(%
e
sp
),%
eax
fldln2
and
$
0x7fffffff
,%
eax
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
cmp
$
0x3ffd9400
,%
eax
ja
1
f
fyl2xp1
...
...
src/math/x32/log2l.s
浏览文件 @
664cd341
...
...
@@ -2,6 +2,6 @@
.
type
log2l
,@
function
log2l
:
fld1
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
fyl2x
ret
src/math/x32/logl.s
浏览文件 @
664cd341
...
...
@@ -2,6 +2,6 @@
.
type
logl
,@
function
logl
:
fldln2
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
fyl2x
ret
src/math/x32/lrintl.s
浏览文件 @
664cd341
.
global
lrintl
.
type
lrintl
,@
function
lrintl
:
fldt
8
(%
r
sp
)
fistpll
8
(%
r
sp
)
mov
8
(%
r
sp
),%
rax
fldt
8
(%
e
sp
)
fistpll
8
(%
e
sp
)
mov
8
(%
e
sp
),%
rax
ret
src/math/x32/remainderl.s
浏览文件 @
664cd341
.
global
remainderl
.
type
remainderl
,@
function
remainderl
:
fldt
24
(%
r
sp
)
fldt
8
(%
r
sp
)
fldt
24
(%
e
sp
)
fldt
8
(%
e
sp
)
1
:
fprem1
fstsw
%
ax
sahf
...
...
src/math/x32/rintl.s
浏览文件 @
664cd341
.
global
rintl
.
type
rintl
,@
function
rintl
:
fldt
8
(%
r
sp
)
fldt
8
(%
e
sp
)
frndint
ret
src/math/x32/sqrtl.s
浏览文件 @
664cd341
.
global
sqrtl
.
type
sqrtl
,@
function
sqrtl
:
fldt
8
(%
r
sp
)
sqrtl
:
fldt
8
(%
e
sp
)
fsqrt
ret
src/process/x32/vfork.s
浏览文件 @
664cd341
...
...
@@ -5,7 +5,7 @@
__vfork
:
vfork
:
pop
%
rdx
mov
$
58
,%
eax
mov
$
0x4000003a
,%
eax
/*
SYS_vfork
*/
syscall
push
%
rdx
mov
%
rax
,%
rdi
...
...
src/signal/x32/restore.s
浏览文件 @
664cd341
...
...
@@ -4,5 +4,5 @@
.
type
__restore
,@
function
__restore_rt
:
__restore
:
movl
$
15
,
%
eax
movl
$
0x40000201
,
%
eax
/*
SYS_rt_sigreturn
*/
syscall
src/thread/x32/__set_thread_area.s
浏览文件 @
664cd341
...
...
@@ -5,6 +5,6 @@
__set_thread_area
:
mov
%
rdi
,%
rsi
/*
shift
for
syscall
*/
movl
$
0x1002
,%
edi
/*
SET_FS
register
*/
movl
$
158
,%
eax
/*
set
fs
segment
to
*/
movl
$
0x4000009e
,%
eax
/*
set
fs
segment
to
*/
syscall
/*
arch_prctl
(
SET_FS
,
arg
)*/
ret
src/thread/x32/__unmapself.s
浏览文件 @
664cd341
...
...
@@ -3,8 +3,8 @@
.
global
__unmapself
.
type
__unmapself
,@
function
__unmapself
:
movl
$
11
,%
eax
/*
SYS_munmap
*/
movl
$
0x4000000b
,%
eax
/*
SYS_munmap
*/
syscall
/*
munmap
(
arg2
,
arg3
)
*/
xor
%
rdi
,%
rdi
/*
exit
()
args
:
always
return
success
*/
movl
$
60
,%
eax
/*
SYS_exit
*/
movl
$
0x4000003c
,%
eax
/*
SYS_exit
*/
syscall
/*
exit
(
0
)
*/
src/thread/x32/clone.s
浏览文件 @
664cd341
...
...
@@ -2,8 +2,7 @@
.
global
__clone
.
type
__clone
,@
function
__clone
:
xor
%
eax
,%
eax
mov
$
56
,%
al
movl
$
0x40000038
,%
eax
/*
SYS_clone
*/
mov
%
rdi
,%
r11
mov
%
rdx
,%
rdi
mov
%
r8
,%
rdx
...
...
@@ -20,8 +19,7 @@ __clone:
pop
%
rdi
call
*%
r9
mov
%
eax
,%
edi
xor
%
eax
,%
eax
mov
$
60
,%
al
movl
$
0x4000003c
,%
eax
/*
SYS_exit
*/
syscall
hlt
1
:
ret
src/thread/x32/syscall_cp.s
浏览文件 @
664cd341
.
text
.
global
__syscall_cp_
asm
.
type
__syscall_cp_
asm
,@
function
__syscall_cp_
asm
:
.
global
__syscall_cp_
internal
.
type
__syscall_cp_
internal
,@
function
__syscall_cp_
internal
:
.
global
__cp_begin
__cp_begin
:
...
...
鸿蒙社区
@harmonycommunity
mentioned in commit
760f5d7e
·
3月 11, 2023
mentioned in commit
760f5d7e
mentioned in commit 760f5d7efed4d4761875334f8c4e6398be308cc9
开关提交列表
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录