diff --git a/srcpkgs/musl/patches/0010-adapt-dynamic-linker-for-new-binutils-versions-that-.patch b/srcpkgs/musl/patches/0010-adapt-dynamic-linker-for-new-binutils-versions-that-.patch new file mode 100644 index 00000000000..fd46c58b04b --- /dev/null +++ b/srcpkgs/musl/patches/0010-adapt-dynamic-linker-for-new-binutils-versions-that-.patch @@ -0,0 +1,31 @@ +From d8dc2b7c0289b12eeef4feff65e3c918111b0f55 Mon Sep 17 00:00:00 2001 +From: Rich Felker +Date: Sun, 23 Nov 2014 16:17:57 -0500 +Subject: [PATCH] adapt dynamic linker for new binutils versions that omit + DT_RPATH + +the new DT_RUNPATH semantics for search order are always used, and +since binutils had always set both DT_RPATH and DT_RUNPATH when the +latter was used, processing only DT_RPATH worked fine. however, recent +binutils has stopped generating DT_RPATH when DT_RUNPATH is used, +which broke support for this feature completely. +--- + src/ldso/dynlink.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c +index 1de430c..00af886 100644 +--- src/ldso/dynlink.c ++++ src/ldso/dynlink.c +@@ -645,6 +645,8 @@ static void decode_dyn(struct dso *p) + p->hashtab = (void *)(p->base + dyn[DT_HASH]); + if (dyn[0]&(1<rpath_orig = (void *)(p->strings + dyn[DT_RPATH]); ++ if (dyn[0]&(1<rpath_orig = (void *)(p->strings + dyn[DT_RUNPATH]); + if (search_vec(p->dynv, dyn, DT_GNU_HASH)) + p->ghashtab = (void *)(p->base + *dyn); + if (search_vec(p->dynv, dyn, DT_VERSYM)) +-- +2.2.0 + diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template index 2e03d265333..1e220a23c94 100644 --- a/srcpkgs/musl/template +++ b/srcpkgs/musl/template @@ -1,7 +1,7 @@ # Template file for 'musl'. pkgname=musl version=1.1.5 -revision=3 +revision=4 build_style=gnu-configure configure_args="--prefix=/usr --disable-gcc-wrapper" conflicts="glibc>=0"