glibc/sysdeps
H.J. Lu 2ad5d0845d 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.
2020-04-29 05:35:34 -07:00
..
aarch64 Update aarch64 libm-test-ulps 2020-04-08 13:52:44 -03:00
alpha Update alpha libm-test-ulps 2020-04-08 13:52:45 -03:00
arm Remove most gmp-mparam.h headers. 2020-04-24 22:08:59 +00:00
csky math: Remove inline math tests 2020-03-19 11:45:44 -03:00
generic elf: Implement __libc_early_init 2020-04-24 22:32:09 +02:00
gnu Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hppa Update hppa libm-test-ulps 2020-04-06 22:19:03 +00:00
htl pthread: Move robust mutex tests from nptl to sysdeps/pthread 2020-02-16 14:43:54 +00:00
hurd C11 threads: Move implementation to sysdeps/pthread 2020-02-09 13:56:48 +01:00
i386 Remove most gmp-mparam.h headers. 2020-04-24 22:08:59 +00:00
ia64 ia64: Remove sigprocmask/sigblock objects from libpthread 2020-04-21 14:01:58 -03:00
ieee754 ldbl-128ibm: simplify iscanonical.h 2020-04-06 10:23:58 -05:00
m68k math: Remove inline math tests 2020-03-19 11:45:44 -03:00
mach elf: Implement __libc_early_init 2020-04-24 22:32:09 +02:00
microblaze math: Remove inline math tests 2020-03-19 11:45:44 -03:00
mips elf: Introduce <elf_machine_sym_no_match.h> 2020-04-24 22:13:03 +02:00
nios2 Remove most gmp-mparam.h headers. 2020-04-24 22:08:59 +00:00
nptl Linux: set_robust_list syscall number is always available 2020-03-03 12:49:44 +01:00
posix posix: Fix system error return value [BZ #25715] 2020-03-23 18:00:38 -03:00
powerpc powerpc: Update ULPs and xfail more ibm128 outputs 2020-04-07 11:41:29 -03:00
pthread pthread: Fix building tst-robust8 with nptl 2020-02-16 23:53:45 +01:00
riscv math: Remove inline math tests 2020-03-19 11:45:44 -03:00
s390 Remove most gmp-mparam.h headers. 2020-04-24 22:08:59 +00:00
sh Remove most gmp-mparam.h headers. 2020-04-24 22:08:59 +00:00
sparc Update sparc libm-test-ulps 2020-04-08 13:52:44 -03:00
unix Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810] 2020-04-29 05:35:34 -07:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
x86 Revert "x86_64: Add SSE sfp-exceptions" 2020-04-20 14:56:05 -03:00
x86_64 Remove unused floating-point configuration from gmp-impl.h. 2020-04-28 15:05:09 +00:00