From 9afbe3cbbf4c30ff23c733218c3c03d7e8c6461d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Tue, 24 Sep 2013 14:59:43 +0000
Subject: [PATCH] main/musl: upgrade to 0.9.14

 - take maintainership
 - provide libssp_nonshared for simplifying gcc build
---
 main/musl/APKBUILD                 | 23 +++++++++++++++++------
 main/musl/__stack_chk_fail_local.c |  2 ++
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 main/musl/__stack_chk_fail_local.c

diff --git a/main/musl/APKBUILD b/main/musl/APKBUILD
index d12b10c58a2b..f92eaa4a4236 100644
--- a/main/musl/APKBUILD
+++ b/main/musl/APKBUILD
@@ -1,8 +1,8 @@
 # Contributor: William Pitcock <nenolod@dereferenced.org>
-# Maintainer: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
 pkgname=musl
-pkgver=0.9.13
-pkgrel=1
+pkgver=0.9.14
+pkgrel=0
 pkgdesc="the musl c library (libc) implementation"
 url="http://www.musl-libc.org/"
 arch="all"
@@ -16,6 +16,7 @@ subpackages="$pkgname-dev $pkgname-utils"
 source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz
 	add-rfc3678-mcast-structs.patch
 	getopt_long.c
+	__stack_chk_fail_local.c
 	getent
 	"
 
@@ -50,6 +51,11 @@ install_sysroot_headers() {
 
 build() {
 	cd "$_builddir"
+
+	# provide minimal libssp_nonshared.a so we don't need libssp from gcc
+	${CROSS_COMPILE}gcc $CPPFLAGS $CFLAGS -c "$srcdir"/__stack_chk_fail_local.c -o __stack_chk_fail_local.o || return 1
+	${CROSS_COMPILE}ar r libssp_nonshared.a __stack_chk_fail_local.o || return 1
+
 	# note: not autotools
 	LDFLAGS="$LDFLAGS -Wl,-soname,libc.musl-${CARCH}.so.1" \
 	./configure \
@@ -68,6 +74,8 @@ package() {
 	make DESTDIR="$pkgdir" install || return 1
 	rm -f "$pkgdir"/usr/lib/*.la
 
+	cp libssp_nonshared.a "$pkgdir"/usr/lib || return 1
+
 	# make LDSO the be the real file, and libc the symlink (will be upstream change)
 	local LDSO=$(make -f Makefile --eval "$(echo -e 'print-ldso:\n\t@echo $$(basename $(LDSO_PATHNAME))')" print-ldso)
 	mv -f "$pkgdir"/usr/lib/libc.so "$pkgdir"/lib/"$LDSO" || return 1
@@ -91,15 +99,18 @@ crosstool() {
 	find "$pkgdir" -type d -delete 2>/dev/null
 }
 
-md5sums="6af97d6157a2f4ee7a17af2316389fd7  musl-0.9.13.tar.gz
+md5sums="bfb685695aa942e64c63170589e575b2  musl-0.9.14.tar.gz
 dcdded62320e3aa2a550058a75bc9c6e  add-rfc3678-mcast-structs.patch
 61c6c1e84ed1df82abbe6d75e90cf21c  getopt_long.c
+0df687757221bbb0fc1aa67f1bd646f9  __stack_chk_fail_local.c
 ef81489a6258501cf45db58dfc6d5211  getent"
-sha256sums="9ad29ff43dd767956280e58229fd5ae2ff0f3cec026063b381a72d1b743428e5  musl-0.9.13.tar.gz
+sha256sums="982e9de1287cf95f9aa526adba008660d8885bfccc41faf5c613ea47f1922872  musl-0.9.14.tar.gz
 6e8c4fe897c88e4b8f5654766cdaa5d14a0bfa51f28518b53cba2628ca700cdb  add-rfc3678-mcast-structs.patch
 d9b644ec20bc33e81a7c52b9fcf7973d835923a69faf50f03db45534b811bd96  getopt_long.c
+299a7d75a09de3e2e11e7fb4acc3182e4a14e868093d2f30938fce9bfcff13da  __stack_chk_fail_local.c
 d6996273f5aaaed429058257e4646b243d9e3a4d8609522f802762453f5be4cb  getent"
-sha512sums="623a7addd032b2fed5850451225c45fac07e0496467c9f3b3355baab6d0b8aeb011af6ed7c298dd396b3820d5bd82fc84fe95e79e3dc9ad7ee9b96f954e0cc5b  musl-0.9.13.tar.gz
+sha512sums="e5c3f7b1549dc2f9cbd3359cc413f761d5967607c23705f651c33d0ae93f00582193a41fe1f87158467d58d8eba2d7c09e0fe2f2b2c02c1dda78eee1a4cecff6  musl-0.9.14.tar.gz
 72789ddf7018bb0878cb1f9c8a47d7b371a9a3e1c58693090d518bf1cc0d26e4edda3e3a405b2ddcdfb06f05a94eb4a358d9e26f742702be891a6578673a0369  add-rfc3678-mcast-structs.patch
 140f3f20d30bd95ebce8c41b8cc7f616c6cbedf4ea06c729c21014e74f6043796825cc40ebc5180620ea38173afdba23f09ebf6d8b11fa05440b14d23764fca9  getopt_long.c
+062bb49fa54839010acd4af113e20f7263dde1c8a2ca359b5fb2661ef9ed9d84a0f7c3bc10c25dcfa10bb3c5a4874588dff636ac43d5dbb3d748d75400756d0b  __stack_chk_fail_local.c
 4d92f934d760cf5157d80f19fd766be6b673c65317229b32ac824d9d192f6abcc414e2382b2416dfd5c2f757b46ced98c18e4762bf91f5a48647e0ee61813b06  getent"
diff --git a/main/musl/__stack_chk_fail_local.c b/main/musl/__stack_chk_fail_local.c
new file mode 100644
index 000000000000..2b403a6e046f
--- /dev/null
+++ b/main/musl/__stack_chk_fail_local.c
@@ -0,0 +1,2 @@
+extern void __stack_chk_fail(void);
+void __attribute__((visibility ("hidden"))) __stack_chk_fail_local(void) { __stack_chk_fail(); }
-- 
GitLab