[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