[arch-commits] Commit in musl/trunk (2 files)

Evangelos Foutras foutrelis at archlinux.org
Mon Aug 13 12:08:39 UTC 2018


    Date: Monday, August 13, 2018 @ 12:08:39
  Author: foutrelis
Revision: 371266

upgpkg: musl 1.1.19-2

Fix musl-gcc wrapper to be compatible with default-pie gcc toolchains.

Added:
  musl/trunk/fix-musl-gcc-wrapper-with-default-pie-gcc.patch
Modified:
  musl/trunk/PKGBUILD

-------------------------------------------------+
 PKGBUILD                                        |   13 +++++--
 fix-musl-gcc-wrapper-with-default-pie-gcc.patch |   37 ++++++++++++++++++++++
 2 files changed, 47 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-08-13 11:41:39 UTC (rev 371265)
+++ PKGBUILD	2018-08-13 12:08:39 UTC (rev 371266)
@@ -4,7 +4,7 @@
 
 pkgname=musl
 pkgver=1.1.19
-pkgrel=1
+pkgrel=2
 pkgdesc='Lightweight implementation of C standard library'
 arch=('x86_64')
 url='http://www.musl-libc.org/'
@@ -11,10 +11,17 @@
 license=('MIT')
 options=('staticlibs' '!buildflags')
 validpgpkeys=('836489290BB6B70F99FFDA0556BCDB593020450F')
-source=(https://www.musl-libc.org/releases/musl-$pkgver.tar.gz{,.asc})
+source=(https://www.musl-libc.org/releases/musl-$pkgver.tar.gz{,.asc}
+        fix-musl-gcc-wrapper-with-default-pie-gcc.patch)
 sha256sums=('db59a8578226b98373f5b27e61f0dd29ad2456f4aa9cec587ba8c24508e4c1d9'
-            'SKIP')
+            'SKIP'
+            'bd5d147ecebb694f0fd3bbe8d282006d978c8c3c0848f3243b0d754b6c08dc60')
 
+prepare() {
+  cd $pkgname-$pkgver
+  patch -Np1 -i ../fix-musl-gcc-wrapper-with-default-pie-gcc.patch
+}
+
 build() {
   cd $pkgname-$pkgver
   ./configure --prefix=/usr/lib/musl \

Added: fix-musl-gcc-wrapper-with-default-pie-gcc.patch
===================================================================
--- fix-musl-gcc-wrapper-with-default-pie-gcc.patch	                        (rev 0)
+++ fix-musl-gcc-wrapper-with-default-pie-gcc.patch	2018-08-13 12:08:39 UTC (rev 371266)
@@ -0,0 +1,37 @@
+From 7dad9c212587267818de919dd9c5886f18f99779 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias at aerifal.cx>
+Date: Thu, 2 Aug 2018 19:15:48 -0400
+Subject: fix musl-gcc wrapper to be compatible with default-pie gcc toolchains
+
+the specfile for the wrapper was written assuming output is pie only
+if -pie appears on the command line. recent (and older patched)
+versions of gcc can be configured to produce pie output by default,
+adn when used with such a toolchain, the wrapper linked the wrong
+startfiles (crt*) containing pic-incompatible code.
+
+rather than trying to figure out gcc's default, simply always use the
+pic-compatible start files.
+---
+ tools/musl-gcc.specs.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/musl-gcc.specs.sh b/tools/musl-gcc.specs.sh
+index 294e24f7..30492574 100644
+--- a/tools/musl-gcc.specs.sh
++++ b/tools/musl-gcc.specs.sh
+@@ -17,10 +17,10 @@ cat <<EOF
+ libgcc.a%s %:if-exists(libgcc_eh.a%s)
+ 
+ *startfile:
+-%{!shared: $libdir/%{pie:S}crt1.o} $libdir/crti.o %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}
++%{!shared: $libdir/Scrt1.o} $libdir/crti.o crtbeginS.o%s
+ 
+ *endfile:
+-%{shared|pie:crtendS.o%s;:crtend.o%s} $libdir/crtn.o
++crtendS.o%s $libdir/crtn.o
+ 
+ *link:
+ -dynamic-linker $ldso -nostdlib %{shared:-shared} %{static:-static} %{rdynamic:-export-dynamic}
+-- 
+cgit v1.2.1
+



More information about the arch-commits mailing list