From a53368f98c431dd9a30b7999735a7ef5170f1e9d Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Mon, 15 Dec 2008 21:34:59 +0000 Subject: Remove __libc_posix_fadvise[64] alias. It existed on i386 and arm only, and google says only uclibc has it, no users at all. text data bss dec hex filename - 229374 1367 11280 242021 3b165 lib/libuClibc-0.9.30-svn.so + 229347 1367 11280 241994 3b14a lib/libuClibc-0.9.30-svn.so --- libc/sysdeps/linux/arm/posix_fadvise.c | 19 +++++++++++++++---- libc/sysdeps/linux/arm/posix_fadvise64.c | 17 +++++++++++++++-- libc/sysdeps/linux/i386/posix_fadvise64.S | 26 +++++++++++++++++--------- 3 files changed, 47 insertions(+), 15 deletions(-) (limited to 'libc/sysdeps/linux') diff --git a/libc/sysdeps/linux/arm/posix_fadvise.c b/libc/sysdeps/linux/arm/posix_fadvise.c index bb4ac7b0c..b23eb3d6b 100644 --- a/libc/sysdeps/linux/arm/posix_fadvise.c +++ b/libc/sysdeps/linux/arm/posix_fadvise.c @@ -9,12 +9,21 @@ */ #include #include + #if defined __NR_arm_fadvise64_64 + +/* Was named __libc_posix_fadvise for some inexplicable reason. +** google says only uclibc has *__libc*_posix_fadviseXXX, +** so it cannot be compat with anything. +** +** Remove this comment and one at the end after 0.9.31 +*/ + /* This is for the ARM version of fadvise64_64 which swaps the params * * about to avoid having ABI compat issues * */ #define __NR___syscall_arm_fadvise64_64 __NR_arm_fadvise64_64 -int __libc_posix_fadvise(int fd, off_t offset, off_t len, int advise) +int posix_fadvise(int fd, off_t offset, off_t len, int advise) { INTERNAL_SYSCALL_DECL (err); int ret = INTERNAL_SYSCALL (arm_fadvise64_64, err, 6, fd, advise, @@ -24,13 +33,15 @@ int __libc_posix_fadvise(int fd, off_t offset, off_t len, int advise) if (INTERNAL_SYSCALL_ERROR_P (ret, err)) return INTERNAL_SYSCALL_ERRNO (ret, err); return 0; - } -weak_alias(__libc_posix_fadvise, posix_fadvise); + +/* weak_alias(__libc_posix_fadvise, posix_fadvise); */ + #else + int posix_fadvise(int fd attribute_unused, off_t offset attribute_unused, off_t len attribute_unused, int advice attribute_unused) { return ENOSYS; } -#endif +#endif diff --git a/libc/sysdeps/linux/arm/posix_fadvise64.c b/libc/sysdeps/linux/arm/posix_fadvise64.c index 479b0c5a2..4b27381d1 100644 --- a/libc/sysdeps/linux/arm/posix_fadvise64.c +++ b/libc/sysdeps/linux/arm/posix_fadvise64.c @@ -20,11 +20,19 @@ #ifdef __UCLIBC_HAS_LFS__ #if defined __NR_arm_fadvise64_64 + +/* Was named __libc_posix_fadvise64 for some inexplicable reason. +** google says only uclibc has *__libc*_posix_fadviseXXX, +** so it cannot be compat with anything. +** +** Remove this comment and one at the end after 0.9.31 +*/ + /* This is for the ARM version of fadvise64_64 which swaps the params * about to avoid having ABI compat issues */ #define __NR___syscall_arm_fadvise64_64 __NR_arm_fadvise64_64 -int __libc_posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) +int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) { INTERNAL_SYSCALL_DECL (err); int ret = INTERNAL_SYSCALL (arm_fadvise64_64, err, 6, fd, advise, @@ -36,11 +44,16 @@ int __libc_posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) return INTERNAL_SYSCALL_ERRNO (ret, err); return 0; } -weak_alias(__libc_posix_fadvise64, posix_fadvise64); + +/* weak_alias(__libc_posix_fadvise64, posix_fadvise64); */ + #else + int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) { return ENOSYS; } + #endif + #endif diff --git a/libc/sysdeps/linux/i386/posix_fadvise64.S b/libc/sysdeps/linux/i386/posix_fadvise64.S index b99b35ee7..17f006aa8 100644 --- a/libc/sysdeps/linux/i386/posix_fadvise64.S +++ b/libc/sysdeps/linux/i386/posix_fadvise64.S @@ -22,10 +22,17 @@ #include #include +/* Was named __libc_posix_fadvise64 for some inexplicable reason. +** google says only uclibc has *__libc*_posix_fadviseXXX, +** so it cannot be compat with anything. +** +** Remove this comment and one at the end after 0.9.31 +*/ + .text -.global __libc_posix_fadvise64 -.type __libc_posix_fadvise64,%function -__libc_posix_fadvise64: +.global posix_fadvise64 +.type posix_fadvise64,%function +posix_fadvise64: #if defined __NR_fadvise64_64 /* Save regs */ pushl %ebp @@ -91,10 +98,11 @@ overflow: /* Successful; return the syscall's value. */ ret -.size __libc_posix_fadvise64,.-__libc_posix_fadvise64 - -libc_hidden_def(__libc_posix_fadvise64) -#if defined __UCLIBC_HAS_LFS__ && defined __UCLIBC_HAS_ADVANCED_REALTIME__ -weak_alias(__libc_posix_fadvise64,posix_fadvise64) -#endif +.size posix_fadvise64,.-posix_fadvise64 +/* +** libc_hidden_def(__libc_posix_fadvise64) +** #if defined __UCLIBC_HAS_LFS__ && defined __UCLIBC_HAS_ADVANCED_REALTIME__ +** weak_alias(__libc_posix_fadvise64,posix_fadvise64) +** #endif +*/ -- cgit v1.2.3