| From: ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4> |
| Date: Wed, 22 Apr 2015 14:24:11 +0000 (+0000) |
| Subject: libstdc++, libgfortran gthr workaround for musl |
| X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=1e5f711c11cb80ce609db9e9c1d8b2da0f7b5b61 |
| |
| libstdc++, libgfortran gthr workaround for musl |
| |
| On behalf of szabolcs.nagy@arm.com |
| |
| [libstdc++-v3/] |
| 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define. |
| * configure.host (os_include_dir): Set to "os/generic" for linux-musl*. |
| |
| [libgfortran/] |
| 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| * acinclude.m4 (GTHREAD_USE_WEAK): Define as 0 for *-*-musl*. |
| * configure: Regenerate. |
| |
| |
| |
| git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222329 138bc75d-0d04-0410-961f-82ee72b054a4 |
| --- |
| |
| Index: b/libgfortran/acinclude.m4 |
| =================================================================== |
| --- a/libgfortran/acinclude.m4 |
| +++ b/libgfortran/acinclude.m4 |
| @@ -100,7 +100,7 @@ |
| [Define to 1 if the target supports #pragma weak]) |
| fi |
| case "$host" in |
| - *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* ) |
| + *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* | *-*-musl* ) |
| AC_DEFINE(GTHREAD_USE_WEAK, 0, |
| [Define to 0 if the target shouldn't use #pragma weak]) |
| ;; |
| Index: b/libgfortran/configure |
| =================================================================== |
| --- a/libgfortran/configure |
| +++ b/libgfortran/configure |
| @@ -26447,7 +26447,7 @@ |
| |
| fi |
| case "$host" in |
| - *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* ) |
| + *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* | *-*-musl* ) |
| |
| $as_echo "#define GTHREAD_USE_WEAK 0" >>confdefs.h |
| |
| Index: b/libstdc++-v3/config/os/generic/os_defines.h |
| =================================================================== |
| --- a/libstdc++-v3/config/os/generic/os_defines.h |
| +++ b/libstdc++-v3/config/os/generic/os_defines.h |
| @@ -33,4 +33,9 @@ |
| // System-specific #define, typedefs, corrections, etc, go here. This |
| // file will come before all others. |
| |
| +// Disable the weak reference logic in gthr.h for os/generic because it |
| +// is broken on every platform unless there is implementation specific |
| +// workaround in gthr-posix.h and at link-time for static linking. |
| +#define _GLIBCXX_GTHREAD_USE_WEAK 0 |
| + |
| #endif |
| Index: b/libstdc++-v3/configure.host |
| =================================================================== |
| --- a/libstdc++-v3/configure.host |
| +++ b/libstdc++-v3/configure.host |
| @@ -271,6 +271,9 @@ |
| freebsd*) |
| os_include_dir="os/bsd/freebsd" |
| ;; |
| + linux-musl*) |
| + os_include_dir="os/generic" |
| + ;; |
| gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) |
| if [ "$uclibc" = "yes" ]; then |
| os_include_dir="os/uclibc" |