From 2a19c1339d6bf46fe0f90fbd4e8dca6646d111ed Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Wed, 23 Feb 2011 00:14:42 +0100 Subject: Implement ffsl and ffsll. This imports and adapts ffsll.c from glibc. The same mechanism as in glibc is used to choose between ffs and ffsll to implement ffsl. The single user in libc is changed to use the hidden version __libc_ffs. Signed-off-by: Bernd Schmidt Acked-by: Bernhard Reutner-Fischer --- libc/string/ffs.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'libc/string/ffs.c') diff --git a/libc/string/ffs.c b/libc/string/ffs.c index 22efe4a1e..4a5336d47 100644 --- a/libc/string/ffs.c +++ b/libc/string/ffs.c @@ -5,12 +5,12 @@ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ -/* ffsl,ffsll */ - +#include +#define ffsl __something_else #include "_string.h" - - -int ffs(int i) +#undef ffsl + +int __libc_ffs(int i) { #if 1 /* inlined binary search method */ @@ -51,4 +51,8 @@ int ffs(int i) return n; #endif } -libc_hidden_def(ffs) +libc_hidden_def(__libc_ffs) +weak_alias(__libc_ffs,ffs) +#if ULONG_MAX == UINT_MAX +weak_alias (__libc_ffs, ffsl) +#endif -- cgit v1.2.3 From cda3f2658389330999ad35390ed2676a7dc37325 Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Sun, 6 Mar 2011 17:08:38 +0100 Subject: simplify ffs* code Remove __libc_ffs*, unneeded Signed-off-by: Peter S. Mazinger --- libc/string/ffs.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'libc/string/ffs.c') diff --git a/libc/string/ffs.c b/libc/string/ffs.c index 4a5336d47..f39d304b7 100644 --- a/libc/string/ffs.c +++ b/libc/string/ffs.c @@ -6,11 +6,9 @@ */ #include -#define ffsl __something_else -#include "_string.h" -#undef ffsl +#include -int __libc_ffs(int i) +int ffs(int i) { #if 1 /* inlined binary search method */ @@ -51,8 +49,7 @@ int __libc_ffs(int i) return n; #endif } -libc_hidden_def(__libc_ffs) -weak_alias(__libc_ffs,ffs) +libc_hidden_def(ffs) #if ULONG_MAX == UINT_MAX -weak_alias (__libc_ffs, ffsl) +strong_alias_untyped(ffs, ffsl) #endif -- cgit v1.2.3