about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/alpha
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-11-11 14:50:03 -0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-05-11 17:27:27 -0300
commitcab6e5af9d51d4398522af782e20c743daf37461 (patch)
tree3b4a9bc59b3798cfc8117c960b74acc4cda712c6 /sysdeps/unix/sysv/linux/alpha
parentb41152d716ee9c5ba34495a54e64ea2b732139b5 (diff)
downloadglibc-cab6e5af9d51d4398522af782e20c743daf37461.tar.gz
glibc-cab6e5af9d51d4398522af782e20c743daf37461.tar.xz
glibc-cab6e5af9d51d4398522af782e20c743daf37461.zip
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.
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/creat.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/creat.c b/sysdeps/unix/sysv/linux/alpha/creat.c
deleted file mode 100644
index 7a5afed58c..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/creat.c
+++ /dev/null
@@ -1,8 +0,0 @@
-/* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list defines creat and
-   creat64 for most linux targets, but on alpha creat is not a syscall.
-   If we do nothing, we'll wind up with creat64 being undefined, because
-   the syscalls.list assumes the creat->creat64 alias was created.  We
-   could have overridden that with a create64.c, but we might as well do
-   the right thing and set up creat64 as an alias.  */
-#include <io/creat.c>
-weak_alias(creat, creat64)