From 6c63e2d8dfb1dd8b6383b4758080841a0fad37a4 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Mon, 11 Apr 2016 15:04:59 -0300 Subject: Consolidate fallocate{64} implementations This patch consolidates all the fallocate{64} implementation for Linux in only one (sysdeps/unix/sysv/linux/fallocate{64}.c). It also removes the syscall from the auto-generation using assembly macros. The new macro SYSCALL_LL{64} is used to handle the offset argument. Checked on x86_64, x32, i386, aarch64, and ppc64le. * sysdeps/unix/sysv/linux/Makefile (test): Add tst-fallocate and tst-fallocate64. * sysdeps/unix/sysv/linux/tst-fallocate.c: New file. * sysdeps/unix/sysv/linux/tst-fallocate64.c: Likewise. * sysdeps/unix/sysv/linux/tst-fallocate-common.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/fallocate.c: Remove file. * sysdeps/unix/sysv/linux/mips/mips64/n32/fallocate64.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate64.c: Likewise. * sysdeps/unix/sysv/linux/wordsize-64/fallocate.c: Likewise. * sysdeps/unix/sysv/linux/wordsize-64/fallocate64.c: Likewise. * sysdeps/unix/sysv/linux/fallocate.c (fallocate): Use SYSCALL_LL macro on offset argument. * sysdeps/unix/sysv/linux/fallocate64.c (fallocate64): Use SYSCALL_LL64 on offset argument. * test-skeleton.c (FAIL_RET): Add macro. (FAIL_EXIT): Likewise. (FAIL_EXIT1): Likewise. (_FAIL): Likewise. --- test-skeleton.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test-skeleton.c') diff --git a/test-skeleton.c b/test-skeleton.c index d53fe1c189..55841fbbdf 100644 --- a/test-skeleton.c +++ b/test-skeleton.c @@ -70,6 +70,25 @@ static pid_t pid; /* Directory to place temporary files in. */ static const char *test_dir; +#define _FAIL(...) \ + printf ("error: %s:%d: ", __FILE__, __LINE__); \ + printf (__VA_ARGS__); \ + printf ("\n"); \ + +#define FAIL_RET(...) \ + ({ \ + _FAIL (__VA_ARGS__); \ + return 1; \ + }) + +#define FAIL_EXIT(value, ...) \ + ({ \ + _FAIL (__VA_ARGS__); \ + exit (value); \ + }) + +#define FAIL_EXIT1(...) FAIL_EXIT(1, __VA_ARGS__) + static void oom_error (const char *fn, size_t size) { -- cgit 1.4.1