aboutsummaryrefslogtreecommitdiff
path: root/packages/gcc/11.4.0/0009-libstdc-Check-for-TLS-support-on-mingw-cross-compile.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gcc/11.4.0/0009-libstdc-Check-for-TLS-support-on-mingw-cross-compile.patch')
-rw-r--r--packages/gcc/11.4.0/0009-libstdc-Check-for-TLS-support-on-mingw-cross-compile.patch244
1 files changed, 0 insertions, 244 deletions
diff --git a/packages/gcc/11.4.0/0009-libstdc-Check-for-TLS-support-on-mingw-cross-compile.patch b/packages/gcc/11.4.0/0009-libstdc-Check-for-TLS-support-on-mingw-cross-compile.patch
deleted file mode 100644
index abd82ffe..00000000
--- a/packages/gcc/11.4.0/0009-libstdc-Check-for-TLS-support-on-mingw-cross-compile.patch
+++ /dev/null
@@ -1,244 +0,0 @@
-From cc1e28878a228b6c4a0872e56d97ac88971b7725 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Hugo=20Beauz=C3=A9e-Luyssen?= <hugo@beauzee.fr>
-Date: Tue, 14 Sep 2021 16:41:37 +0100
-Subject: [PATCH] libstdc++: Check for TLS support on mingw cross-compilers
-
-Native mingw builds enable TLS, but crosses don't because we don't use
-GCC_CHECK_TLS in the cross-compiler config.
-
-libstdc++-v3/ChangeLog:
-
- * crossconfig.m4: Check for TLS support on mingw.
- * configure: Regenerate.
----
- libstdc++-v3/configure | 208 ++++++++++++++++++++++++++++++++++++++++++++
- libstdc++-v3/crossconfig.m4 | 1
- 2 files changed, 209 insertions(+)
-
---- a/libstdc++-v3/configure
-+++ b/libstdc++-v3/configure
-@@ -60390,6 +60390,214 @@
- fi
- done
-
-+
-+
-+ # Check whether --enable-tls was given.
-+if test "${enable_tls+set}" = set; then :
-+ enableval=$enable_tls;
-+ case "$enableval" in
-+ yes|no) ;;
-+ *) as_fn_error $? "Argument to enable/disable tls must be yes or no" "$LINENO" 5 ;;
-+ esac
-+
-+else
-+ enable_tls=yes
-+fi
-+
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports thread-local storage" >&5
-+$as_echo_n "checking whether the target supports thread-local storage... " >&6; }
-+if ${gcc_cv_have_tls+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+
-+ if test "$cross_compiling" = yes; then :
-+ if test x$gcc_no_link = xyes; then
-+ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
-+fi
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+__thread int a; int b; int main() { return a = b; }
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ chktls_save_LDFLAGS="$LDFLAGS"
-+ case $host in
-+ *-*-linux* | -*-uclinuxfdpic*)
-+ LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
-+ ;;
-+ esac
-+ chktls_save_CFLAGS="$CFLAGS"
-+ CFLAGS="-fPIC $CFLAGS"
-+ if test x$gcc_no_link = xyes; then
-+ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
-+fi
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+int f() { return 0; }
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ if test x$gcc_no_link = xyes; then
-+ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
-+fi
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+__thread int a; int b; int f() { return a = b; }
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ gcc_cv_have_tls=yes
-+else
-+ gcc_cv_have_tls=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+else
-+ gcc_cv_have_tls=yes
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+ CFLAGS="$chktls_save_CFLAGS"
-+ LDFLAGS="$chktls_save_LDFLAGS"
-+else
-+ gcc_cv_have_tls=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+
-+
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+__thread int a; int b; int main() { return a = b; }
-+_ACEOF
-+if ac_fn_c_try_run "$LINENO"; then :
-+ chktls_save_LDFLAGS="$LDFLAGS"
-+ LDFLAGS="-static $LDFLAGS"
-+ if test x$gcc_no_link = xyes; then
-+ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
-+fi
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+int main() { return 0; }
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ if test "$cross_compiling" = yes; then :
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "cannot run test program while cross compiling
-+See \`config.log' for more details" "$LINENO" 5; }
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+__thread int a; int b; int main() { return a = b; }
-+_ACEOF
-+if ac_fn_c_try_run "$LINENO"; then :
-+ gcc_cv_have_tls=yes
-+else
-+ gcc_cv_have_tls=no
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-+ conftest.$ac_objext conftest.beam conftest.$ac_ext
-+fi
-+
-+else
-+ gcc_cv_have_tls=yes
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+ LDFLAGS="$chktls_save_LDFLAGS"
-+ if test $gcc_cv_have_tls = yes; then
-+ chktls_save_CFLAGS="$CFLAGS"
-+ thread_CFLAGS=failed
-+ for flag in '' '-pthread' '-lpthread'; do
-+ CFLAGS="$flag $chktls_save_CFLAGS"
-+ if test x$gcc_no_link = xyes; then
-+ as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
-+fi
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include <pthread.h>
-+ void *g(void *d) { return NULL; }
-+int
-+main ()
-+{
-+pthread_t t; pthread_create(&t,NULL,g,NULL);
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ thread_CFLAGS="$flag"
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+ if test "X$thread_CFLAGS" != Xfailed; then
-+ break
-+ fi
-+ done
-+ CFLAGS="$chktls_save_CFLAGS"
-+ if test "X$thread_CFLAGS" != Xfailed; then
-+ CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
-+ if test "$cross_compiling" = yes; then :
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "cannot run test program while cross compiling
-+See \`config.log' for more details" "$LINENO" 5; }
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include <pthread.h>
-+ __thread int a;
-+ static int *volatile a_in_other_thread;
-+ static void *
-+ thread_func (void *arg)
-+ {
-+ a_in_other_thread = &a;
-+ return (void *)0;
-+ }
-+int
-+main ()
-+{
-+pthread_t thread;
-+ void *thread_retval;
-+ int *volatile a_in_main_thread;
-+ a_in_main_thread = &a;
-+ if (pthread_create (&thread, (pthread_attr_t *)0,
-+ thread_func, (void *)0))
-+ return 0;
-+ if (pthread_join (thread, &thread_retval))
-+ return 0;
-+ return (a_in_other_thread == a_in_main_thread);
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_run "$LINENO"; then :
-+ gcc_cv_have_tls=yes
-+else
-+ gcc_cv_have_tls=no
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-+ conftest.$ac_objext conftest.beam conftest.$ac_ext
-+fi
-+
-+ CFLAGS="$chktls_save_CFLAGS"
-+ fi
-+ fi
-+else
-+ gcc_cv_have_tls=no
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-+ conftest.$ac_objext conftest.beam conftest.$ac_ext
-+fi
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_have_tls" >&5
-+$as_echo "$gcc_cv_have_tls" >&6; }
-+ if test "$enable_tls $gcc_cv_have_tls" = "yes yes"; then
-+
-+$as_echo "#define HAVE_TLS 1" >>confdefs.h
-+
-+ fi
- ;;
- *-netbsd* | *-openbsd*)
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
---- a/libstdc++-v3/crossconfig.m4
-+++ b/libstdc++-v3/crossconfig.m4
-@@ -204,6 +204,7 @@
- GLIBCXX_CHECK_STDLIB_SUPPORT
- AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
- AC_CHECK_FUNCS(_wfopen)
-+ GCC_CHECK_TLS
- ;;
- *-netbsd* | *-openbsd*)
- SECTION_FLAGS='-ffunction-sections -fdata-sections'