https://gcc.gnu.org/g:f2e3eb726be5b386c4c5738c67f0e39fec983d38

commit r16-5408-gf2e3eb726be5b386c4c5738c67f0e39fec983d38
Author: Rainer Orth <[email protected]>
Date:   Wed Nov 19 09:19:10 2025 +0100

    Fix typo in sol2.h
    
    I noticed that gcc/config/sol2.h uses USE_GNU_LD as a guard in one
    place only.  This is a cross of USE_GLD and HAVE_GNU_LD which doesn't
    exist so the gld variant is never used.
    
    This went unnoticed since the wrong versions of LD_WHOLE_ARCHIVE_OPTION
    and LD_NO_WHOLE_ARCHIVE_OPTION are only ever used in LIBASAN_EARLY_SPEC
    and only effective when -static-libasan is used.  gld would only warn
    about the unsupported -z options here.
    
    The issue wasn't noticed before since the only testcase using
    -static-libasan isn't run on Solaris, which this patch also corrects.
    
    Bootstrapped without regressions on i386-pc-solaris2.11 and
    sparc-sun-solaris2.11 (both as/ld and gas/gld).
    
    2025-11-18  Rainer Orth  <[email protected]>
    
            gcc:
            * config/sol2.h: Check USE_GLD instead of USE_GNU_LD.
    
            gcc/testsuite:
            * c-c++-common/asan/pr59063-2.c: Enable on Solaris.

Diff:
---
 gcc/config/sol2.h                           | 2 +-
 gcc/testsuite/c-c++-common/asan/pr59063-2.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 15ab5d0c455c..36337dbf98d0 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -224,7 +224,7 @@ along with GCC; see the file COPYING3.  If not see
    in that case, and for executable link with --{,no-}whole-archive around
    it to force everything into the executable.  */
 
-#ifndef USE_GNU_LD
+#ifndef USE_GLD
 #define LD_WHOLE_ARCHIVE_OPTION "-z allextract"
 #define LD_NO_WHOLE_ARCHIVE_OPTION "-z defaultextract"
 #else
diff --git a/gcc/testsuite/c-c++-common/asan/pr59063-2.c 
b/gcc/testsuite/c-c++-common/asan/pr59063-2.c
index 63a547f033f2..6458ea730232 100644
--- a/gcc/testsuite/c-c++-common/asan/pr59063-2.c
+++ b/gcc/testsuite/c-c++-common/asan/pr59063-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target { *-*-linux* *-*-freebsd* } } } */
+/* { dg-do run { target { *-*-linux* *-*-freebsd* *-*-solaris2* } } } */
 /* { dg-options "-static-libasan" } */
 
 #include <time.h>

Reply via email to