From d7a4e9f6fd3331bab4a5bd29e7c2c46e36cf6fdc Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Thu, 23 Jan 2020 01:08:16 +0200 Subject: [PATCH] gcc: fix libgomp relocation. Patch applied from @ioraff Closes #138 --- core/gcc/build | 2 ++ core/gcc/checksums | 1 + core/gcc/patches/invalid_tls_model.patch | 26 ++++++++++++++++++++++++ core/gcc/sources | 1 + 4 files changed, 30 insertions(+) create mode 100644 core/gcc/patches/invalid_tls_model.patch diff --git a/core/gcc/build b/core/gcc/build index ef0e87db..9535c55a 100755 --- a/core/gcc/build +++ b/core/gcc/build @@ -1,5 +1,7 @@ #!/bin/sh -e +patch -p1 < invalid_tls_model.patch + # Make sure gmp is built with generic options. cp -v gcc/gmp/configfsf.guess gcc/gmp/config.guess cp -v gcc/gmp/configfsf.sub gcc/gmp/config.sub diff --git a/core/gcc/checksums b/core/gcc/checksums index 30470230..831565e8 100644 --- a/core/gcc/checksums +++ b/core/gcc/checksums @@ -3,3 +3,4 @@ ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206 gcc-9.2.0.tar. 1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a mpfr-4.0.2.tar.xz 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e mpc-1.1.0.tar.gz 765614b3396d70bca3fa0ae4a813632486c6dca320e2bd13c8c39dca52be4a4c c99 +b0bf792c3f5278e768b7199cc94e8c57e364eb0b70dc5a226d47eb9e25e1dac9 invalid_tls_model.patch diff --git a/core/gcc/patches/invalid_tls_model.patch b/core/gcc/patches/invalid_tls_model.patch new file mode 100644 index 00000000..b47a67d1 --- /dev/null +++ b/core/gcc/patches/invalid_tls_model.patch @@ -0,0 +1,26 @@ +--- a/gcc/libgomp/configure.tgt 2018-11-08 18:13:04.000000000 +0100 ++++ b/gcc/libgomp/configure.tgt 2019-06-29 20:06:31.972950350 +0200 +@@ -10,23 +10,6 @@ + # XCFLAGS Add extra compile flags to use. + # XLDFLAGS Add extra link flags to use. + +-# Optimize TLS usage by avoiding the overhead of dynamic allocation. +-if test $gcc_cv_have_tls = yes ; then +- case "${target}" in +- +- *-*-k*bsd*-gnu*) +- ;; +- +- *-*-linux* | *-*-gnu*) +- XCFLAGS="${XCFLAGS} -ftls-model=initial-exec -DUSING_INITIAL_EXEC_TLS" +- ;; +- +- *-*-rtems*) +- XCFLAGS="${XCFLAGS} -ftls-model=local-exec" +- ;; +- esac +-fi +- + # Since we require POSIX threads, assume a POSIX system by default. + config_path="posix" + diff --git a/core/gcc/sources b/core/gcc/sources index c890f79d..05d2d635 100644 --- a/core/gcc/sources +++ b/core/gcc/sources @@ -3,3 +3,4 @@ https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz gcc/gmp https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz gcc/mpfr https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz gcc/mpc files/c99 +patches/invalid_tls_model.patch