powerpc: Consolidate Linux syscall definition
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 30 Jan 2020 19:13:31 +0000 (19:13 +0000)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Sat, 15 Feb 2020 00:09:12 +0000 (21:09 -0300)
commitcd72a13f22dbb56f56ed63e9899050cba7a286ad
tree68aec56681b6c5d357413ab4b2d467fa9c760916
parent5d844e1b72513cf59b5e7c14295644efdcc66e44
powerpc: Consolidate Linux syscall definition

The diferences between powerpc64{le} and powerpc32 Linux sysdep.h
are:

  1. On both vDSO and syscall macros the volatile registers r9, r10,
     r11, and r12 are used as input operands on powerpc32 and as
     clobber registers on powerpc64.  However the outcome is essentially
     the same, it advertise the register might be clobbered by the
     kernel (although Linux won't leak register information to userland
     in such case).

  2. The LOADARGS* macros uses a different size to check for invalid
     types.

  3. The pointer mangling support guard pointer loading uses ABI
     specific instruction and register.

This patch consolidates on only one sysdep by using the the powerpc64
version as default and add the adjustments required for powerpc32.

Checked on powerpc64-linux-gnu, powerpc64le-linux-gnu, and
powerpc-linux-gnu-power4.
sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h [deleted file]
sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
sysdeps/unix/sysv/linux/powerpc/sysdep.h