aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2013-09-26 11:11:45 +0000
committerTimo Teräs <timo.teras@iki.fi>2013-09-26 11:12:47 +0000
commit999654d46ba295e141618c20ebac415269907f40 (patch)
tree60c51dcbe75c9d1e9edaa44d236d9e72d72b0c35
parentda86117a61a15b0c5fb730490f67721cec497fbd (diff)
downloadaports-999654d46ba295e141618c20ebac415269907f40.tar.bz2
aports-999654d46ba295e141618c20ebac415269907f40.tar.xz
main/musl: add workaround for gcc bug 58245
-rw-r--r--main/musl/APKBUILD6
-rw-r--r--main/musl/workaround-gcc-pr58245.patch24
2 files changed, 29 insertions, 1 deletions
diff --git a/main/musl/APKBUILD b/main/musl/APKBUILD
index f92eaa4a42..ffbc6d4140 100644
--- a/main/musl/APKBUILD
+++ b/main/musl/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=musl
pkgver=0.9.14
-pkgrel=0
+pkgrel=1
pkgdesc="the musl c library (libc) implementation"
url="http://www.musl-libc.org/"
arch="all"
@@ -15,6 +15,7 @@ subpackages="$pkgname-dev $pkgname-utils"
[ "${CTARGET#*musl}" = "$CTARGET" ] && subpackages="$subpackages musl-gcc:crosstool"
source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz
add-rfc3678-mcast-structs.patch
+ workaround-gcc-pr58245.patch
getopt_long.c
__stack_chk_fail_local.c
getent
@@ -101,16 +102,19 @@ crosstool() {
md5sums="bfb685695aa942e64c63170589e575b2 musl-0.9.14.tar.gz
dcdded62320e3aa2a550058a75bc9c6e add-rfc3678-mcast-structs.patch
+7a09c5cd7b3e9532e6902f54a5e928bb workaround-gcc-pr58245.patch
61c6c1e84ed1df82abbe6d75e90cf21c getopt_long.c
0df687757221bbb0fc1aa67f1bd646f9 __stack_chk_fail_local.c
ef81489a6258501cf45db58dfc6d5211 getent"
sha256sums="982e9de1287cf95f9aa526adba008660d8885bfccc41faf5c613ea47f1922872 musl-0.9.14.tar.gz
6e8c4fe897c88e4b8f5654766cdaa5d14a0bfa51f28518b53cba2628ca700cdb add-rfc3678-mcast-structs.patch
+45d6efda7450809e4e68f6e951431dcadf6cb7f0260930d50a9f1a8667aca49f workaround-gcc-pr58245.patch
d9b644ec20bc33e81a7c52b9fcf7973d835923a69faf50f03db45534b811bd96 getopt_long.c
299a7d75a09de3e2e11e7fb4acc3182e4a14e868093d2f30938fce9bfcff13da __stack_chk_fail_local.c
d6996273f5aaaed429058257e4646b243d9e3a4d8609522f802762453f5be4cb getent"
sha512sums="e5c3f7b1549dc2f9cbd3359cc413f761d5967607c23705f651c33d0ae93f00582193a41fe1f87158467d58d8eba2d7c09e0fe2f2b2c02c1dda78eee1a4cecff6 musl-0.9.14.tar.gz
72789ddf7018bb0878cb1f9c8a47d7b371a9a3e1c58693090d518bf1cc0d26e4edda3e3a405b2ddcdfb06f05a94eb4a358d9e26f742702be891a6578673a0369 add-rfc3678-mcast-structs.patch
+69ad3fc851b44f33dd7c98b83fd0adbd149b37263d17b989f4d7338ee0703dfe8994f4299744e2509492300227d652de6f21b6cdba9b633fcefd3d9f7ca0cf20 workaround-gcc-pr58245.patch
140f3f20d30bd95ebce8c41b8cc7f616c6cbedf4ea06c729c21014e74f6043796825cc40ebc5180620ea38173afdba23f09ebf6d8b11fa05440b14d23764fca9 getopt_long.c
062bb49fa54839010acd4af113e20f7263dde1c8a2ca359b5fb2661ef9ed9d84a0f7c3bc10c25dcfa10bb3c5a4874588dff636ac43d5dbb3d748d75400756d0b __stack_chk_fail_local.c
4d92f934d760cf5157d80f19fd766be6b673c65317229b32ac824d9d192f6abcc414e2382b2416dfd5c2f757b46ced98c18e4762bf91f5a48647e0ee61813b06 getent"
diff --git a/main/musl/workaround-gcc-pr58245.patch b/main/musl/workaround-gcc-pr58245.patch
new file mode 100644
index 0000000000..5f57d352ff
--- /dev/null
+++ b/main/musl/workaround-gcc-pr58245.patch
@@ -0,0 +1,24 @@
+Author: Timo Teräs <timo.teras@iki.fi>
+
+Due to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58245 many simple
+programs can fail. Since in Alpine Linux everything default to be
+built with -fstack-protector-all, we can just assume SSP being always
+used.
+
+Not suitable to upstream, as this incurs startup overhead that is not
+desirable unless SSP is really used.
+
+diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c
+index a525b3d..a1b8471 100644
+--- a/src/ldso/dynlink.c
++++ b/src/ldso/dynlink.c
+@@ -99,7 +99,7 @@ void __init_libc(char **, char *);
+ static struct dso *head, *tail, *ldso, *fini_head;
+ static char *env_path, *sys_path;
+ static unsigned long long gencnt;
+-static int ssp_used;
++static int ssp_used = 1;
+ static int runtime;
+ static int ldd_mode;
+ static int ldso_fail;
+