diff options
author | Chris Metcalf <cmetcalf@ezchip.com> | 2014-12-21 16:11:39 -0500 |
---|---|---|
committer | Chris Metcalf <cmetcalf@ezchip.com> | 2014-12-21 17:12:54 -0500 |
commit | e969965afdeab1144ace665f28273f5f543923b2 (patch) | |
tree | b6e54aef374ef69895923a5b96f97214a1210040 | |
parent | a19ca65ade935def1c687db905b0624189adc372 (diff) | |
download | glibc-e969965afdeab1144ace665f28273f5f543923b2.tar glibc-e969965afdeab1144ace665f28273f5f543923b2.tar.gz glibc-e969965afdeab1144ace665f28273f5f543923b2.tar.bz2 glibc-e969965afdeab1144ace665f28273f5f543923b2.zip |
tile: separate ffsll from ffs
This avoids a linknamespace failure when ffs is legal
but ffsll is not.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | sysdeps/tile/ffs.c | 11 | ||||
-rw-r--r-- | sysdeps/tile/ffsll.c | 33 |
3 files changed, 36 insertions, 11 deletions
@@ -1,5 +1,8 @@ 2014-12-21 Chris Metcalf <cmetcalf@ezchip.com> + * sysdeps/tile/ffs.c (__ffs): Moved ffsll definition... + * sysdeps/tile/ffsll.c (ffsll): To here. + * sysdeps/unix/sysv/linux/tile/localplt.data: Removed. 2014-12-21 H.J. Lu <hongjiu.lu@intel.com> diff --git a/sysdeps/tile/ffs.c b/sysdeps/tile/ffs.c index 3e52f8c6ef..24241e3dc1 100644 --- a/sysdeps/tile/ffs.c +++ b/sysdeps/tile/ffs.c @@ -30,16 +30,7 @@ weak_alias (__ffs, ffs) libc_hidden_def (__ffs) libc_hidden_builtin_def (ffs) -#undef ffsll -int -ffsll (long long x) -{ - return __builtin_ffsll (x); -} - -#undef ffsl #if ULONG_MAX == UINT_MAX +#undef ffsl weak_alias (__ffs, ffsl) -#else -weak_alias (ffsll, ffsl) #endif diff --git a/sysdeps/tile/ffsll.c b/sysdeps/tile/ffsll.c index 180eaa8c23..04daf43be1 100644 --- a/sysdeps/tile/ffsll.c +++ b/sysdeps/tile/ffsll.c @@ -1 +1,32 @@ -/* This function is defined in ffs.c. */ +/* Copyright (C) 2011-2014 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + <http://www.gnu.org/licenses/>. */ + +#include <limits.h> +#define ffsl __something_else +#include <string.h> + +#undef ffsll +int +ffsll (long long x) +{ + return __builtin_ffsll (x); +} + +#if ULONG_MAX > UINT_MAX +#undef ffsl +weak_alias (ffsll, ffsl) +#endif |