aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Shelton <stuart@shelton.me>2018-02-14 20:38:16 +0000
committerStuart Shelton <stuart@shelton.me>2018-02-14 20:38:16 +0000
commit2eb0abdc7b2d794490b5d09be2b8ecf9eebaa172 (patch)
tree3fac524a4a67f7f17f513e23e3f74b7f1cab978a
parentUpdate file raspberrypi-firmware-config.txt, affecting sys-boot/raspberrypi-f... (diff)
downloadsrcshelton-2eb0abdc7b2d794490b5d09be2b8ecf9eebaa172.tar.gz
srcshelton-2eb0abdc7b2d794490b5d09be2b8ecf9eebaa172.tar.bz2
srcshelton-2eb0abdc7b2d794490b5d09be2b8ecf9eebaa172.zip
Add dev-libs/elfutils-0.170-r1, update README.md
-rw-r--r--README.md1
-rw-r--r--dev-libs/elfutils/Manifest3
-rw-r--r--dev-libs/elfutils/elfutils-0.170-r1.ebuild71
-rw-r--r--dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch26
4 files changed, 101 insertions, 0 deletions
diff --git a/README.md b/README.md
index 45f4c46a..f903a8e5 100644
--- a/README.md
+++ b/README.md
@@ -540,6 +540,7 @@ x32 profiles, and that these variables only affect multilib systems.
(... controlled by the `sep-usr` USE-flag)
* app-crypt/mit-krb5
+* dev-libs/elfutils
* dev-libs/gmp
* dev-libs/jansson
* dev-libs/libgcrypt
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
new file mode 100644
index 00000000..9f1f6e43
--- /dev/null
+++ b/dev-libs/elfutils/Manifest
@@ -0,0 +1,3 @@
+AUX elfutils-0.118-PaX-support.patch 962 SHA256 b9cad21c52abb390f370d59e7ff6c9a1289ca6895e3744c47def59a58a95899a SHA512 ce542011f6ea4398455e418a8eae06508407e975e179306ffca5e3e9702583ff9f5e6010ee2e25d098b7f396c361029c932cd0c40ba3d910d9fb60c97f07f50c WHIRLPOOL 37880de537c5814e9b0962e84ac29c4c73b90779428d717f06f911b5fa4bd58d9488c8987d4232bd49e7ead5de1fceca212711c6ebced5b922c5d0be99a33de3
+DIST elfutils-0.170.tar.bz2 8358001 SHA256 1f844775576b79bdc9f9c717a50058d08620323c1e935458223a12f249c9e066 SHA512 aca0b5e271138eaf86e36505ffb101181207b151e833e6cd7c18986ac50678542a5ecd2250f8dd6923ca497142f197c8b08fd225e4130b16b6203c24013d6d28 WHIRLPOOL ebb3069aa52e49b7e137c722ac490b12393e0c54656d6d7476193eaa4253b48209e62e4babd4819a52cf5a9f3a1a6f56945eb776f014df9cbd841aa392e94823
+EBUILD elfutils-0.170-r1.ebuild 1903 SHA256 c608d69ffb0ee7458f908a268e370ccecec6debb38656505e715a92c27b92123 SHA512 d5536f9a1b7a30a2e312978448c8d7db1d652e19346d1558a6a0d1fe2b9cde26d49dc4af2df4571902c65f1831823e26dc76b677db254152d355d47e6c47dc73 WHIRLPOOL 287ce16c4f6652823c3050c074dc7a9af6246e4ed42a12a818f57e7e5cba7349d317d7142589e2bd6aafb707ba54b92170ee56335bf6f603b5e6959baf9fb18c
diff --git a/dev-libs/elfutils/elfutils-0.170-r1.ebuild b/dev-libs/elfutils/elfutils-0.170-r1.ebuild
new file mode 100644
index 00000000..178f74ac
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.170-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic multilib-minimal
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="http://elfutils.org/"
+SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
+
+LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
+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 sep-usr static-libs test +threads +utils"
+
+RDEPEND=">=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"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ >=sys-devel/flex-2.5.4a
+ sys-devel/m4"
+
+PATCHES=("${FILESDIR}"/${PN}-0.118-PaX-support.patch)
+
+src_prepare() {
+ default
+
+ if ! use static-libs; then
+ sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
+ fi
+ sed -i 's:-Werror::' */Makefile.in || die
+}
+
+src_configure() {
+ use test && append-flags -g #407135
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable nls) \
+ $(use_enable threads thread-safety) \
+ --program-prefix="eu-" \
+ --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
+}
+
+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.
+ if ! use utils; then
+ rm -rf "${ED}"/usr/bin || die
+ fi
+ if multilib_is_native_abi; then
+ if use sep-usr; then
+ gen_usr_ldscript -a elf
+ fi
+ fi
+}
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 00000000..0ae359fe
--- /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
+
+--- a/libelf/elf.h
++++ b/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 */
+--- a/src/elflint.c
++++ b/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 ("\