summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2013-04-01 04:47:08 -0400
committerMike Frysinger <vapier@gentoo.org>2013-04-01 04:47:08 -0400
commite8cc14e59ed3f66b84eedcc6ece65d40540edf47 (patch)
treef0f96213ccf56a98480d40ce24ec3a76431bb66e /libc/sysdeps/linux/common
parenta4c0668fa1f07129ffd69debdbea229b2f20f510 (diff)
libc: rename TRUNCATE64_HAS_4_ARGS to SYSCALL_ALIGN_64BIT
The reason truncate64 takes 4 args on some arches is that their ABI requires 64bit values to be aligned on register pair boundaries. Since this alignment affects more than just truncate64, rename the define to properly document its purpose. This also allows us to expand it to the other impacted syscalls (which will be done in a follow up commit). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'libc/sysdeps/linux/common')
-rw-r--r--libc/sysdeps/linux/common/bits/uClibc_arch_features.h4
-rw-r--r--libc/sysdeps/linux/common/ftruncate64.c2
-rw-r--r--libc/sysdeps/linux/common/truncate.c2
-rw-r--r--libc/sysdeps/linux/common/truncate64.c2
4 files changed, 5 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
index 6cb617759..f3e3fd1d3 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_arch_features.h
@@ -14,8 +14,8 @@
/* can your target use syscall6() for mmap ? */
#undef __UCLIBC_MMAP_HAS_6_ARGS__
-/* does your target use syscall4() for truncate64 ? (32bit arches only) */
-#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__
+/* does your target align 64bit values in register pairs ? (32bit arches only) */
+#undef __UCLIBC_SYSCALL_ALIGN_64BIT__
/* does your target have a broken create_module() ? */
#undef __UCLIBC_BROKEN_CREATE_MODULE__
diff --git a/libc/sysdeps/linux/common/ftruncate64.c b/libc/sysdeps/linux/common/ftruncate64.c
index 012a1f4ed..c0a373ca1 100644
--- a/libc/sysdeps/linux/common/ftruncate64.c
+++ b/libc/sysdeps/linux/common/ftruncate64.c
@@ -31,7 +31,7 @@ int ftruncate64 (int fd, __off64_t length)
{
uint32_t low = length & 0xffffffff;
uint32_t high = length >> 32;
-# if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__)
+# if defined(__UCLIBC_SYSCALL_ALIGN_64BIT__)
return INLINE_SYSCALL(ftruncate64,
4, fd, 0, __LONG_LONG_PAIR (high, low));
# else
diff --git a/libc/sysdeps/linux/common/truncate.c b/libc/sysdeps/linux/common/truncate.c
index 0c533df94..5cbf67351 100644
--- a/libc/sysdeps/linux/common/truncate.c
+++ b/libc/sysdeps/linux/common/truncate.c
@@ -19,7 +19,7 @@ int truncate(const char *path, __off_t length)
# if defined __UCLIBC_HAS_LFS
return truncate64(path, length);
# elif __WORDSIZE == 32
-# if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__)
+# if defined(__UCLIBC_SYSCALL_ALIGN_64BIT__)
return INLINE_SYSCALL(truncate64, 4, path, 0, OFF_HI_LO(length));
# else
return INLINE_SYSCALL(truncate64, 3, path, OFF_HI_LO(length));
diff --git a/libc/sysdeps/linux/common/truncate64.c b/libc/sysdeps/linux/common/truncate64.c
index 1f5f862e5..e2868be15 100644
--- a/libc/sysdeps/linux/common/truncate64.c
+++ b/libc/sysdeps/linux/common/truncate64.c
@@ -26,7 +26,7 @@ int truncate64(const char * path, __off64_t length)
{
uint32_t low = length & 0xffffffff;
uint32_t high = length >> 32;
-# if defined(__UCLIBC_TRUNCATE64_HAS_4_ARGS__)
+# if defined(__UCLIBC_SYSCALL_ALIGN_64BIT__)
return INLINE_SYSCALL(truncate64, 4, path, 0,
__LONG_LONG_PAIR(high, low));
# else