Consolidate Linux openat implementation
commitbafcba22ac5eb612dcc32425fce5479d1ee3e79b
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 20 Jun 2017 18:46:28 +0000 (20 15:46 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 20 Jun 2017 21:20:06 +0000 (20 18:20 -0300)
tree3cba614de00e6200d88c6637624b1e333c9826db
parentda69a35566af4405b884220ee72f1f10a98977fa
Consolidate Linux openat implementation

This patch consolidates the open Linux syscall implementation on
sysdeps/unix/sysv/linux/open{64}.c.  The changes are:

  1. Remove wordsize-64 openat{64}.
  2. For architetures that define __OFF_T_MATCHES_OFF64_T openat64
     will be default one with alias to required symbols.  Otherwise
     openat64 will pass the required O_LARGEFILE flag on syscall.

Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
arch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu.

* sysdeps/unix/sysv/linux/openat.c (__libc_openat): Build only
for !__OFF_T_MATCHES_OFF64_T.
* sysdeps/unix/sysv/linux/openat64.c (__libc_openat64): New
implementation based on open64.
* sysdeps/unix/sysv/linux/wordsize-64/openat.c: Remove file.
* sysdeps/unix/sysv/linux/wordsize-64/openat64.c: Likewise.
ChangeLog
sysdeps/unix/sysv/linux/openat.c
sysdeps/unix/sysv/linux/openat64.c [copied from sysdeps/unix/sysv/linux/openat.c with 66% similarity]
sysdeps/unix/sysv/linux/wordsize-64/openat.c [deleted file]
sysdeps/unix/sysv/linux/wordsize-64/openat64.c [deleted file]