This has been in use for some time in the Darwin branches that are used
by downstream distributions. Re-tested on x86_64-darwin, pushed to trunk,
thanks,
Iain

--- 8< ---

The addition of the multiply_defined suppress flag has been handled for some
considerable time now in the Darwin specs; remove it from the testsuite libs.
Avoid duplicates in the specs.

Signed-off-by: Iain Sandoe <i...@sandoe.co.uk>

gcc/ChangeLog:

        * config/darwin.h: Avoid duplicate multiply_defined specs on
        earlier Darwin versions with shared libgcc.

libstdc++-v3/ChangeLog:

        * testsuite/lib/libstdc++.exp: Remove additional flag handled
        by Darwin specs.

gcc/testsuite/ChangeLog:

        * lib/g++.exp: Remove additional flag handled by Darwin specs.
        * lib/obj-c++.exp: Likewise.
---
 gcc/config/darwin.h                      | 5 ++---
 gcc/testsuite/lib/g++.exp                | 4 ----
 gcc/testsuite/lib/obj-c++.exp            | 4 ----
 libstdc++-v3/testsuite/lib/libstdc++.exp | 3 ---
 4 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index e6f76e598e6..714d3d5cc0d 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -217,8 +217,7 @@ extern GTY(()) int darwin_ms_struct;
   "%{image_base*:-Xlinker -image_base -Xlinker %*} %<image_base*",     \
   "%{init*:-Xlinker -init -Xlinker %*} %<init*",                       \
   "%{multi_module:-Xlinker -multi_module} %<multi_module",             \
-  "%{multiply_defined*:-Xlinker -multiply_defined -Xlinker %*} \
-     %<multiply_defined* ",                                            \
+  "%{multiply_defined*:-Xlinker -multiply_defined -Xlinker %*} ",      \
   "%{multiplydefinedunused*:\
      -Xlinker -multiply_defined_unused -Xlinker %*} \
      %<multiplydefinedunused* ",                                       \
@@ -294,7 +293,7 @@ extern GTY(()) int darwin_ms_struct;
    %:version-compare(>= 10.7 mmacosx-version-min= -no_pie) }"
 
 #define DARWIN_CC1_SPEC                                                        
\
-  "%<dynamic %<dynamiclib %<force_cpusubtype_ALL "
+  "%<dynamic %<dynamiclib %<force_cpusubtype_ALL %<multiply_defined* "
 
 #define SUBSUBTARGET_OVERRIDE_OPTIONS                                  \
   do {                                                                 \
diff --git a/gcc/testsuite/lib/g++.exp b/gcc/testsuite/lib/g++.exp
index e759f76b3f8..db6e5b8fa05 100644
--- a/gcc/testsuite/lib/g++.exp
+++ b/gcc/testsuite/lib/g++.exp
@@ -285,10 +285,6 @@ proc g++_init { args } {
     set gcc_warning_prefix "warning:"
     set gcc_error_prefix "(fatal )?error:"
 
-    if { [istarget *-*-darwin*] } {
-       lappend ALWAYS_CXXFLAGS "ldflags=-multiply_defined suppress"
-       }
-
     verbose -log "ALWAYS_CXXFLAGS set to $ALWAYS_CXXFLAGS"
 
     verbose "g++ is initialized" 3
diff --git a/gcc/testsuite/lib/obj-c++.exp b/gcc/testsuite/lib/obj-c++.exp
index 51268fd64ae..98f1e5c6a04 100644
--- a/gcc/testsuite/lib/obj-c++.exp
+++ b/gcc/testsuite/lib/obj-c++.exp
@@ -277,10 +277,6 @@ proc obj-c++_init { args } {
     set gcc_warning_prefix "warning:"
     set gcc_error_prefix "(fatal )?error:"
 
-    if { [istarget *-*-darwin*] } {
-       lappend ALWAYS_OBJCXXFLAGS "ldflags=-multiply_defined suppress"
-    }
-
     verbose -log "ALWAYS_OBJCXXFLAGS set to $ALWAYS_OBJCXXFLAGS"
 
     verbose "obj-c++ is initialized" 3
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp 
b/libstdc++-v3/testsuite/lib/libstdc++.exp
index c83147ce99a..9f3e896751a 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -133,9 +133,6 @@ proc libstdc++_init { testfile } {
     if ![info exists DEFAULT_CXXFLAGS] then {
        set DEFAULT_CXXFLAGS ""
        # Host specific goo here.
-       if { [string match "powerpc-*-darwin*" $target_triplet] } {
-           append DEFAULT_CXXFLAGS " -multiply_defined suppress"
-       }
        if { [string match "powerpc-ibm-aix*" $target_triplet] } {
            append DEFAULT_CXXFLAGS " -Wl,-bmaxdata:0x20000000"
        }
-- 
2.39.2 (Apple Git-143)

Reply via email to