glibc/sysdeps/unix/sysv/linux/x86_64
H.J. Lu 6bd82f5fd0 Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810]
X32 has 32-bit long and pointer with 64-bit off_t.  Since x32 psABI
requires that pointers passed in registers must be zero-extended to
64bit, x32 can share many syscall interfaces with LP64.  When a LP64
syscall with long and unsigned long int arguments is used for x32, these
arguments must be properly extended to 64-bit.  Otherwise if the upper
32 bits of the register have undefined value, such a syscall will be
rejected by kernel.

For syscalls implemented in assembly codes, 'U' is added to syscall
signature key letters for unsigned long, which is zero-extended to
64-bit types.  SYSCALL_ULONG_ARG_1 and SYSCALL_ULONG_ARG_2 are passed
to syscall-template.S for the first and the second unsigned long int
arguments if PSEUDOS_HAVE_ULONG_INDICES is defined.  They are used by
x32 to zero-extend 32-bit arguments to 64 bits.

Tested on i386, x86-64 and x32 as well as with build-many-glibcs.py.

(cherry picked from commit 2ad5d0845d)
2020-05-07 05:12:27 -07:00
..
64 rtld: Check __libc_enable_secure before honoring LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126) [BZ #25204] 2019-11-22 13:09:23 +01:00
x32 Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810] 2020-05-07 05:12:27 -07:00
Implies
Makefile
Versions
____longjmp_chk.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
__start_context.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
brk.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
cancellation.S x86: Remove arch-specific low level lock implementation 2019-05-14 08:48:02 -03:00
clone.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
compat-timer.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
configure
configure.ac
dl-cache.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
dl-procinfo.c
dl-procinfo.h
getcontext.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
init-first.c Add missing VDSO_{NAME,HASH}_* macros and use them for PREPARE_VERSION_KNOWN 2019-06-21 10:43:22 -03:00
ipc_priv.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
kernel-features.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
kernel_stat.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ldconfig.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ldd-rewrite.sed
libc-cancellation.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
libmvec.abilist
librt-cancellation.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
makecontext.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
profil-counter.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pthread_setaffinity.c
readelflib.c
register-dump.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sched_setaffinity.c
setcontext.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigaction.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigaltstack-offsets.sym
sigcontextinfo.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sigprocmask.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
swapcontext.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
syscalls.list
sysdep.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sysdep.h Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810] 2020-05-07 05:12:27 -07:00
timer_create.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
timer_delete.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
timer_getoverr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
timer_gettime.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
timer_settime.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ucontext_i.sym
vfork.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00