diff options
author | Steve Arnold <stephen.arnold42@gmail.com> | 2015-12-02 12:45:30 -0800 |
---|---|---|
committer | Steve Arnold <stephen.arnold42@gmail.com> | 2015-12-02 12:45:30 -0800 |
commit | 2a16fa9ef20f208126a41a70cbbdc91d65592f2d (patch) | |
tree | 20f9df6268602b250f35ded9c7c781a2cf9bee03 | |
parent | x11-libs/cairo: update to latest and port opengl/other use changes (diff) | |
download | arm-2a16fa9ef20f208126a41a70cbbdc91d65592f2d.tar.gz arm-2a16fa9ef20f208126a41a70cbbdc91d65592f2d.tar.bz2 arm-2a16fa9ef20f208126a41a70cbbdc91d65592f2d.zip |
dev-libs/elfutils: add workaround for arm-specific part of bug 500254
-rw-r--r-- | dev-libs/elfutils/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/elfutils/elfutils-0.164.ebuild | 70 | ||||
-rw-r--r-- | dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch | 26 |
3 files changed, 97 insertions, 0 deletions
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest new file mode 100644 index 0000000..4fb3384 --- /dev/null +++ b/dev-libs/elfutils/Manifest @@ -0,0 +1 @@ +DIST elfutils-0.164.tar.bz2 6065265 SHA256 9683c025928a12d06b7fe812928aa6235249e22d197d086f7084606a48165900 SHA512 83e0bdf17fff2c480cf5f99fe9d733a8b4f7cde0f9a3eeb4e3c4b4bd221a306e0a03bfd99e097f0085a33bb8b9f73fda10e390e17d30c3f5a1344e781065efce WHIRLPOOL d1de8d928b64e170358343c8984762286d63745c8cbe1375b7cdf07566c44091dd078f5876106c6b829831e630fda9d8db5e28c5c871c98a70eb1cda58596705 diff --git a/dev-libs/elfutils/elfutils-0.164.ebuild b/dev-libs/elfutils/elfutils-0.164.ebuild new file mode 100644 index 0000000..0a9fecd --- /dev/null +++ b/dev-libs/elfutils/elfutils-0.164.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils flag-o-matic multilib-minimal + +DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" +HOMEPAGE="https://fedorahosted.org/elfutils/" +SRC_URI="https://fedorahosted.org/releases/e/l/${PN}/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2-with-exceptions" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux" +IUSE="bzip2 lzma nls static-libs test +threads +utils zlib" + +# This pkg does not actually seem to compile currently in a uClibc +# environment (xrealloc errs), but we need to ensure that glibc never +# gets pulled in as a dep since this package does not respect virtual/libc +RDEPEND="zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) + bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) + !dev-libs/libelf + abi_x86_32? ( + !<=app-emulation/emul-linux-x86-baselibs-20130224-r11 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] + )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + >=sys-devel/flex-2.5.4a + sys-devel/m4" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-0.118-PaX-support.patch + use static-libs || sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in + sed -i 's:-Werror::' */Makefile.in + # some patches touch both configure and configure.ac + find -type f -exec touch -r configure {} + +} + +src_configure() { + use test && append-flags -g #407135 + use arm && append-ldflags -fPIC #500254 + multilib-minimal_src_configure +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" econf \ + $(use_enable nls) \ + $(use_enable threads thread-safety) \ + --program-prefix="eu-" \ + $(use_with zlib) \ + $(use_with bzip2 bzlib) \ + $(use_with lzma) +} + +multilib_src_test() { + env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ + LC_ALL="C" \ + emake check || die +} + +multilib_src_install_all() { + einstalldocs + dodoc NOTES + # These build quick, and are needed for most tests, so don't + # disable their building when the USE flag is disabled. + use utils || rm -rf "${ED}"/usr/bin +} diff --git a/dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch b/dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch new file mode 100644 index 0000000..083f32f --- /dev/null +++ b/dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch @@ -0,0 +1,26 @@ +Add support for PaX ELF markings + +Patch by Kevin F. Quinn <kevquinn@gentoo.org> + +http://bugs.gentoo.org/115100 + +--- libelf/elf.h ++++ libelf/elf.h +@@ -568,6 +568,7 @@ + #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ + #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ + #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ ++#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */ + #define PT_LOSUNW 0x6ffffffa + #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ + #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ +--- src/elflint.c ++++ src/elflint.c +@@ -3187,6 +3187,7 @@ + + if (phdr->p_type >= PT_NUM && phdr->p_type != PT_GNU_EH_FRAME + && phdr->p_type != PT_GNU_STACK && phdr->p_type != PT_GNU_RELRO ++ && phdr->p_type != PT_PAX_FLAGS + /* Check for a known machine-specific type. */ + && ebl_segment_type_name (ebl, phdr->p_type, NULL, 0) == NULL) + ERROR (gettext ("\ |