From ee959ecbdea8734034b0f5ee8be5eb48be9f5b8c Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Sat, 25 Aug 2018 09:02:28 +0000 Subject: [PATCH] Don't force visibility to hidden for Darwin > 8. PR libstdc++/70694 * configure.host (OPT_LDFLAGS): Don't append -fvisibility-inlines-hidden for newer Darwin. From-SVN: r263850 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/configure.host | 17 ++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 9f9be6c552c..d752108797d 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2018-08-25 Iain Sandoe + + PR libstdc++/70694 + * configure.host (OPT_LDFLAGS): Don't append + -fvisibility-inlines-hidden for newer Darwin. + 2018-08-24 Marc Glisse PR libstdc++/86822 diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host index caea9de9c76..155a3cdea1b 100644 --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -230,16 +230,15 @@ case "${host_os}" in os_include_dir="os/newlib" OPT_LDFLAGS="${OPT_LDFLAGS} \$(lt_host_flags)" ;; - darwin | darwin[1-7] | darwin[1-7].*) - # On Darwin, performance is improved if libstdc++ is single-module. - # Up to at least 10.3.7, -flat_namespace is required for proper - # treatment of coalesced symbols. + darwin[4-7] | darwin[4-7].*) + # For earlier Darwin, performance is improved if libstdc++ is + # single-module. Up to at least 10.3.7, -flat_namespace is required + # for proper treatment of coalesced symbols. OPT_LDFLAGS="${OPT_LDFLAGS} -Wl,-single_module -Wl,-flat_namespace" os_include_dir="os/bsd/darwin" ;; - darwin[89] | darwin[89].* | darwin[1-9][0-9]* ) - # On Darwin, performance is improved if libstdc++ is single-module, - # and on 8+ compatibility is better if not -flat_namespace. + darwin8 | darwin8.* ) + # For 8+ compatibility is better if not -flat_namespace. OPT_LDFLAGS="${OPT_LDFLAGS} -Wl,-single_module" case "${host_cpu}" in i[34567]86 | x86_64) @@ -248,6 +247,10 @@ case "${host_os}" in esac os_include_dir="os/bsd/darwin" ;; + darwin*) + # Post Darwin8, defaults should be sufficient. + os_include_dir="os/bsd/darwin" + ;; *djgpp*) # leading * picks up "msdosdjgpp" os_include_dir="os/djgpp" error_constants_dir="os/djgpp" -- 2.30.2