This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC 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]

[Bug sanitizer/78532] [7 Regression] libsanitizer fails to build on sparc64-linux-gnu


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.

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