This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Compile s_llround.c with -Wno-error for x32 build


On x32, I got

../sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c:75:24: error:
conflicting types for built-in function âlroundâ [-Werror]
 weak_alias (__llround, lround)
                        ^
./../include/libc-symbols.h:128:26: note: in definition of macro
â_weak_aliasâ
   extern __typeof (name) aliasname __attribute__ ((weak, alias
(#name)));
                          ^
../sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c:75:1: note: in
expansion of macro âweak_aliasâ
 weak_alias (__llround, lround)
 ^
cc1: all warnings being treated as errors

Since x32 returns 32-bit long int and 64-bit long long int in the
same 64-bit register, we make the 32b-bit lround an alias of the
64-bit llround.  This patch adds -Wno-error for x32 build to silence
the compiler.  Verified on x32, i686 and x86-64 with GCC 4.8.3.  I
checked it in as an obvious fix.

H.J.
---
 ChangeLog                   | 4 ++++
 sysdeps/x86_64/x32/Makefile | 6 ++++++
 2 files changed, 10 insertions(+)
 create mode 100644 sysdeps/x86_64/x32/Makefile

diff --git a/ChangeLog b/ChangeLog
index eda51f8..4c6a304 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2014-12-19  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/x86_64/x32/Makefile: New file.
+
+2014-12-19  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/i386/ldbl2mpn.c (__mpn_extract_long_double): Replace
 	1L with (mp_limb_t) 1.
 
diff --git a/sysdeps/x86_64/x32/Makefile b/sysdeps/x86_64/x32/Makefile
new file mode 100644
index 0000000..47e567c
--- /dev/null
+++ b/sysdeps/x86_64/x32/Makefile
@@ -0,0 +1,6 @@
+ifeq ($(subdir),math)
+# Since x32 returns 32-bit long int and 64-bit long long int in the
+# same 64-bit register, we make the 32b-bit lround an alias of the
+# 64-bit llround.  Add -Wno-error to silence the compiler.
+CFLAGS-s_llround.c += -Wno-error
+endif
-- 
1.9.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]