From e969965afdeab1144ace665f28273f5f543923b2 Mon Sep 17 00:00:00 2001 From: Chris Metcalf Date: Sun, 21 Dec 2014 16:11:39 -0500 Subject: tile: separate ffsll from ffs This avoids a linknamespace failure when ffs is legal but ffsll is not. --- sysdeps/tile/ffs.c | 11 +---------- sysdeps/tile/ffsll.c | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 11 deletions(-) (limited to 'sysdeps') 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 + . */ + +#include +#define ffsl __something_else +#include + +#undef ffsll +int +ffsll (long long x) +{ + return __builtin_ffsll (x); +} + +#if ULONG_MAX > UINT_MAX +#undef ffsl +weak_alias (ffsll, ffsl) +#endif -- cgit 1.4.1