This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Compile s_llround.c with -Wno-error for x32 build
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 19 Dec 2014 05:42:16 -0800
- Subject: [PATCH] Compile s_llround.c with -Wno-error for x32 build
- Authentication-results: sourceware.org; auth=none
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