This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug sanitizer/78532] [7 Regression] libsanitizer fails to build on sparc64-linux-gnu
- From: "m.ostapenko at samsung dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 30 Nov 2016 08:10:54 +0000
- Subject: [Bug sanitizer/78532] [7 Regression] libsanitizer fails to build on sparc64-linux-gnu
- Auto-submitted: auto-generated
- References: <bug-78532-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78532
--- Comment #6 from Maxim Ostapenko <m.ostapenko at samsung dot com> ---
(In reply to joseph@codesourcery.com from comment #5)
> On Tue, 29 Nov 2016, m.ostapenko at samsung dot com wrote:
>
> > /home/max/src/glibc/resolv/ns_print.c:99: undefined reference to
> > `__stack_chk_guard'
>
> You get this if glibc and GCC have mismatched stack checking
> configuration. To avoid that, use the --with-glibc-version=<major.minor>
> option when configuring a bootstrap GCC to be used to build glibc.
>
> Mainline glibc's build-many-glibcs.py knows how to configure GCC and glibc
> for building many different configurations. It uses
> --disable-libsanitizer, but if libsanitizer is meant to work for all glibc
> configurations you could try removing it (adding it back for the initial
> bootstrap GCC only) and seeing what libsanitizer problems it shows up.
Joseph, thank you for clarification.
Anyway, the failure is confirmed. I suspect it was caused by this commit in
Glibc:
ommit a059d359d86130b5fa74e04a978c8523a0293f77
Author: David S. Miller <davem@davemloft.net>
Date: Tue Apr 22 17:47:12 2014 -0700
Fix sigaction conform test failures on sparc.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
(struct sigaction): New struct member __glibc_reserved0, change
type of sa_flags to int.
diff --git a/ChangeLog b/ChangeLog
index c3fa6e5..9319a31 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-04-22 David S. Miller <davem@davemloft.net>
+
+ * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
+ (struct sigaction): New struct member __glibc_reserved0, change
+ type of sa_flags to int.
+
2014-04-22 Yufeng Zhang <yufeng.zhang@arm.com>
* stdlib/longlong.h (count_leading_zeros, count_trailing_zeros)
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
index eaccf97..7a0ca7e 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
@@ -43,7 +43,8 @@ struct sigaction
__sigset_t sa_mask;
/* Special flags. */
- unsigned long sa_flags;
+ int __glibc_reserved0;
+ int sa_flags;
/* Not used by Linux/Sparc yet. */
void (*sa_restorer) (void);
First Glibc release I see the patch in is 2.20.