[arch-commits] Commit in musl/repos/community-x86_64 (3 files)
Evangelos Foutras
foutrelis at archlinux.org
Mon Aug 13 12:08:44 UTC 2018
Date: Monday, August 13, 2018 @ 12:08:43
Author: foutrelis
Revision: 371267
archrelease: copy trunk to community-x86_64
Added:
musl/repos/community-x86_64/PKGBUILD
(from rev 371266, musl/trunk/PKGBUILD)
musl/repos/community-x86_64/fix-musl-gcc-wrapper-with-default-pie-gcc.patch
(from rev 371266, musl/trunk/fix-musl-gcc-wrapper-with-default-pie-gcc.patch)
Deleted:
musl/repos/community-x86_64/PKGBUILD
-------------------------------------------------+
PKGBUILD | 79 +++++++++++-----------
fix-musl-gcc-wrapper-with-default-pie-gcc.patch | 37 ++++++++++
2 files changed, 80 insertions(+), 36 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2018-08-13 12:08:39 UTC (rev 371266)
+++ PKGBUILD 2018-08-13 12:08:43 UTC (rev 371267)
@@ -1,36 +0,0 @@
-# $Id$
-# Maintainer: Sergej Pupykin <arch+pub at sergej.pp.ru>
-# Contributor: TJ Vanderpoel <tj at rubyists>
-
-pkgname=musl
-pkgver=1.1.19
-pkgrel=1
-pkgdesc='Lightweight implementation of C standard library'
-arch=('x86_64')
-url='http://www.musl-libc.org/'
-license=('MIT')
-options=('staticlibs' '!buildflags')
-validpgpkeys=('836489290BB6B70F99FFDA0556BCDB593020450F')
-source=(https://www.musl-libc.org/releases/musl-$pkgver.tar.gz{,.asc})
-sha256sums=('db59a8578226b98373f5b27e61f0dd29ad2456f4aa9cec587ba8c24508e4c1d9'
- 'SKIP')
-
-build() {
- cd $pkgname-$pkgver
- ./configure --prefix=/usr/lib/musl \
- --exec-prefix=/usr \
- --enable-wrapper=all
- make
-}
-
-package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install
-
- install -dm755 "$pkgdir"/usr/lib/
- mv "$pkgdir"/lib/ld-musl*.so* "$pkgdir"/usr/lib/
- rmdir "$pkgdir"/lib
-
- install -Dm0644 README "$pkgdir"/usr/share/doc/musl/README
- install -Dm0644 COPYRIGHT "$pkgdir"/usr/share/licenses/musl/COPYRIGHT
-}
Copied: musl/repos/community-x86_64/PKGBUILD (from rev 371266, musl/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2018-08-13 12:08:43 UTC (rev 371267)
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Sergej Pupykin <arch+pub at sergej.pp.ru>
+# Contributor: TJ Vanderpoel <tj at rubyists>
+
+pkgname=musl
+pkgver=1.1.19
+pkgrel=2
+pkgdesc='Lightweight implementation of C standard library'
+arch=('x86_64')
+url='http://www.musl-libc.org/'
+license=('MIT')
+options=('staticlibs' '!buildflags')
+validpgpkeys=('836489290BB6B70F99FFDA0556BCDB593020450F')
+source=(https://www.musl-libc.org/releases/musl-$pkgver.tar.gz{,.asc}
+ fix-musl-gcc-wrapper-with-default-pie-gcc.patch)
+sha256sums=('db59a8578226b98373f5b27e61f0dd29ad2456f4aa9cec587ba8c24508e4c1d9'
+ '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 \
+ --exec-prefix=/usr \
+ --enable-wrapper=all
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ install -dm755 "$pkgdir"/usr/lib/
+ mv "$pkgdir"/lib/ld-musl*.so* "$pkgdir"/usr/lib/
+ rmdir "$pkgdir"/lib
+
+ install -Dm0644 README "$pkgdir"/usr/share/doc/musl/README
+ install -Dm0644 COPYRIGHT "$pkgdir"/usr/share/licenses/musl/COPYRIGHT
+}
Copied: musl/repos/community-x86_64/fix-musl-gcc-wrapper-with-default-pie-gcc.patch (from rev 371266, musl/trunk/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:43 UTC (rev 371267)
@@ -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