Consolidate Linux creat implementation
commitcab6e5af9d51d4398522af782e20c743daf37461
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 11 Nov 2016 16:50:03 +0000 (11 14:50 -0200)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 11 May 2017 20:27:27 +0000 (11 17:27 -0300)
tree3b4a9bc59b3798cfc8117c960b74acc4cda712c6
parentb41152d716ee9c5ba34495a54e64ea2b732139b5
Consolidate Linux creat implementation

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

  1. Remove creat{64} from auto-generation syscalls.list.
  2. Add a new creat{64}.c implementation.  For architectures that
     define __OFF_T_MATCHES_OFF64_T the default creat64 will create
     alias to required creat symbols.
  3. Use __NR_creat where possible, otherwise use internal open{64}
     call with expected flags.

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

* io/Makefile (CFLAGS-creat.c): New rule.
(CFLAGS-creat64.c): Likewise.
* sysdeps/unix/sysv/linux/alpha/creat.c: Remove file.
* sysdeps/unix/sysv/linux/generic/creat.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/creat64.c: Likewise.
* sysdeps/unix/sysv/linux/creat.c: New file.
* sysdeps/unix/sysv/linux/creat64.c: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Remove create from
auto-generated list.
* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
ChangeLog
io/Makefile
sysdeps/unix/sysv/linux/alpha/creat.c [deleted file]
sysdeps/unix/sysv/linux/creat.c [copied from sysdeps/unix/sysv/linux/generic/creat.c with 77% similarity]
sysdeps/unix/sysv/linux/creat64.c [moved from sysdeps/unix/sysv/linux/generic/creat.c with 64% similarity]
sysdeps/unix/sysv/linux/syscalls.list
sysdeps/unix/sysv/linux/wordsize-64/creat64.c [deleted file]
sysdeps/unix/sysv/linux/wordsize-64/syscalls.list