From bf3bb49785e07e87f12d7af2a069d56a9ae4a97a Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Tue, 6 Aug 2019 16:04:58 +0200 Subject: [PATCH] contrib: Avoid sysmobts/oc2g toolchain ld crashes building new libosmocore Some gcc version (< 7.3.0) on ARM generate wrong code for __thread variables that crash at runtime. It seems, due to some unknown reason, that we are not affected by this bug with toolchain from poky pyro (6.4.0). However, libosmocore as of e188b8cd98f599468fbb200c7d590de955daf761 applies some CFLAGS="-mtls-dialect=gnu2" to workaround the issue automatically. But same toolchain contains an "ld" that crashes when those flags are applied. Fortunately, libosmocore provides a way to disable the workaround, and since we are not affected by the bug, we are fine with that. If the toolchain had the TLS runtime bug, then we'd had to build with -O0. Can be probably dropped once we move to newer toolchain. Depends: libosmocore.git afce89dac1a3cdb975da72020acdba16940fd679 Related: OS#4062 Change-Id: I583354735a7671e5bba1c0f6e60c84b6ef55ac63 --- contrib/jenkins-build-osmo-bts-oc2g.sh | 2 +- contrib/jenkins-build-osmo-bts-sysmo.sh | 2 +- contrib/jenkins-build-osmo-pcu-oc2g.sh | 2 +- contrib/jenkins-build-osmo-pcu-sysmo.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contrib/jenkins-build-osmo-bts-oc2g.sh b/contrib/jenkins-build-osmo-bts-oc2g.sh index c4357f09..aa37beb7 100755 --- a/contrib/jenkins-build-osmo-bts-oc2g.sh +++ b/contrib/jenkins-build-osmo-bts-oc2g.sh @@ -24,7 +24,7 @@ have_repo "oc2g-fw" "nrw/oc2g" git_url="${prev_git_url}" L1_OC2G_HEADERS="$PWD/oc2g-fw/inc" -build_repo libosmocore --disable-pcsc --disable-doxygen --disable-gnutls +build_repo libosmocore --disable-pcsc --disable-doxygen --disable-gnutls --disable-detect-tls-gcc-arm-bug build_repo libosmo-abis build_repo osmo-bts --disable-sysmocom-bts --enable-oc2g --with-oc2g="$L1_OC2G_HEADERS" diff --git a/contrib/jenkins-build-osmo-bts-sysmo.sh b/contrib/jenkins-build-osmo-bts-sysmo.sh index afce7714..1acf8b01 100755 --- a/contrib/jenkins-build-osmo-bts-sysmo.sh +++ b/contrib/jenkins-build-osmo-bts-sysmo.sh @@ -18,7 +18,7 @@ prefix="/usr/local/jenkins-build/inst-$name" prefix_real="$DESTDIR$prefix" . "$(dirname "$0")/jenkins-build-common.sh" -build_repo libosmocore --disable-pcsc --disable-doxygen --disable-gnutls +build_repo libosmocore --disable-pcsc --disable-doxygen --disable-gnutls --disable-detect-tls-gcc-arm-bug build_repo libosmo-abis build_repo osmo-bts --enable-sysmocom-bts --with-openbsc=$base/openbsc/openbsc/include diff --git a/contrib/jenkins-build-osmo-pcu-oc2g.sh b/contrib/jenkins-build-osmo-pcu-oc2g.sh index b113f21a..d2ae0283 100755 --- a/contrib/jenkins-build-osmo-pcu-oc2g.sh +++ b/contrib/jenkins-build-osmo-pcu-oc2g.sh @@ -24,7 +24,7 @@ have_repo "oc2g-fw" "nrw/oc2g" git_url="${prev_git_url}" L1_OC2G_HEADERS="$PWD/oc2g-fw/inc" -build_repo libosmocore --disable-pcsc --disable-doxygen --disable-gnutls +build_repo libosmocore --disable-pcsc --disable-doxygen --disable-gnutls --disable-detect-tls-gcc-arm-bug build_repo osmo-pcu --disable-sysmocom-dsp -enable-oc2gbts-phy --with-oc2g="$L1_OC2G_HEADERS" create_bin_tgz osmo-pcu diff --git a/contrib/jenkins-build-osmo-pcu-sysmo.sh b/contrib/jenkins-build-osmo-pcu-sysmo.sh index 4dc77040..ecc8bc3a 100755 --- a/contrib/jenkins-build-osmo-pcu-sysmo.sh +++ b/contrib/jenkins-build-osmo-pcu-sysmo.sh @@ -18,7 +18,7 @@ prefix="/usr/local/jenkins-build/inst-$name" prefix_real="$DESTDIR$prefix" . "$(dirname "$0")/jenkins-build-common.sh" -build_repo libosmocore --disable-pcsc --disable-doxygen --disable-gnutls +build_repo libosmocore --disable-pcsc --disable-doxygen --disable-gnutls --disable-detect-tls-gcc-arm-bug build_repo osmo-pcu --enable-sysmocom-dsp create_bin_tgz osmo-pcu