summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/elfutils')
-rw-r--r--dev-libs/elfutils/ChangeLog9
-rw-r--r--dev-libs/elfutils/Manifest11
-rw-r--r--dev-libs/elfutils/elfutils-0.118.ebuild5
-rw-r--r--dev-libs/elfutils/files/elfutils-0.118-no-nested-functions.patch59
4 files changed, 75 insertions, 9 deletions
diff --git a/dev-libs/elfutils/ChangeLog b/dev-libs/elfutils/ChangeLog
index eb42c340e15d..91822f18e21c 100644
--- a/dev-libs/elfutils/ChangeLog
+++ b/dev-libs/elfutils/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-libs/elfutils
-# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/elfutils/ChangeLog,v 1.72 2005/12/19 22:57:25 vapier Exp $
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/elfutils/ChangeLog,v 1.73 2006/01/06 01:04:49 vapier Exp $
+
+ 06 Jan 2006; Mike Frysinger <vapier@gentoo.org>
+ +files/elfutils-0.118-no-nested-functions.patch, elfutils-0.118.ebuild:
+ Add a hack so eu-nm is not generated with an executable stack #116968 by
+ Benno Schulenberg.
19 Dec 2005; Mike Frysinger <vapier@gentoo.org>
+files/elfutils-0.118-libelf-link.patch, elfutils-0.118.ebuild:
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
index 44c21d4a48ea..c5af46165dec 100644
--- a/dev-libs/elfutils/Manifest
+++ b/dev-libs/elfutils/Manifest
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-MD5 5296f560f36e07915670646692b1d1de ChangeLog 9695
+MD5 d50545f60c5a196420f5d1e82a356991 ChangeLog 9916
MD5 0ffad2235361cffdfff3684c03ac028a elfutils-0.108-r1.ebuild 1778
MD5 b2fd70caba6530bf2fe7b375e0023073 elfutils-0.108.ebuild 1761
-MD5 66efd35817dc1d72d6a5f85dc0a57fe4 elfutils-0.118.ebuild 1777
+MD5 e5bd6d76abcd44a82e4c59733d16ca81 elfutils-0.118.ebuild 1838
MD5 648c7e7b8f19b21266e556cc6979c0a6 files/digest-elfutils-0.108 143
MD5 e9fcbbccbeaf0d6f3fdfb27f9563e824 files/digest-elfutils-0.108-r1 145
MD5 d27a5faa3886979a3b6592519692fe22 files/digest-elfutils-0.118 145
@@ -13,11 +13,12 @@ MD5 41c5834ecf3d28e43b7fbe3b927e582a files/elfutils-0.108-portability.patch 1845
MD5 a5bda0a1599fd2232fb0d2cf5f3269a7 files/elfutils-0.108-robustify2.patch 12832
MD5 c96d3cf0593d10e4994829b1bfe3995b files/elfutils-0.118-PaX-support.patch 954
MD5 fa69d386e8ae35fe375ce49897b1d3e2 files/elfutils-0.118-libelf-link.patch 1495
+MD5 0228df51885bf33b7ef07cf3ee5db319 files/elfutils-0.118-no-nested-functions.patch 1961
MD5 567094e03359ffc1c95af7356395228d metadata.xml 162
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
-iD8DBQFDpzsA2+ySkm8kpY0RAm8eAJ9aWkjafgrdyI/Aq+fp75d5yiTWJwCgmJtJ
-bpG0bMmJjKfU2ePcOh7EpwA=
-=O9CL
+iD8DBQFDvcJ02+ySkm8kpY0RAskyAJ4o5Usott5j3QUGaMT5IeaTu7s0yQCfYtwn
+ntt8qsJq4e+jybIACBwR70Y=
+=B1L3
-----END PGP SIGNATURE-----
diff --git a/dev-libs/elfutils/elfutils-0.118.ebuild b/dev-libs/elfutils/elfutils-0.118.ebuild
index 4e4d572493ab..555d521b1e96 100644
--- a/dev-libs/elfutils/elfutils-0.118.ebuild
+++ b/dev-libs/elfutils/elfutils-0.118.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2005 Gentoo Foundation
+# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/elfutils/elfutils-0.118.ebuild,v 1.4 2005/12/19 22:57:25 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/elfutils/elfutils-0.118.ebuild,v 1.5 2006/01/06 01:04:49 vapier Exp $
inherit eutils
@@ -35,6 +35,7 @@ src_unpack() {
epatch "${WORKDIR}"/patch/
epatch "${FILESDIR}"/${P}-libelf-link.patch
epatch "${FILESDIR}"/${P}-PaX-support.patch
+ epatch "${FILESDIR}"/${P}-no-nested-functions.patch #116968
# Needed by ${P}-portability.patch
autoreconf || die
diff --git a/dev-libs/elfutils/files/elfutils-0.118-no-nested-functions.patch b/dev-libs/elfutils/files/elfutils-0.118-no-nested-functions.patch
new file mode 100644
index 000000000000..f89158b1a1b3
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.118-no-nested-functions.patch
@@ -0,0 +1,59 @@
+Using nested functions causes gcc to generate trampolines which
+requires an executable stack.
+
+http://bugs.gentoo.org/116968
+
+--- elfutils/src/nm.c
++++ elfutils/src/nm.c
+@@ -926,23 +926,22 @@
+ /* Maximum size of memory we allocate on the stack. */
+ #define MAX_STACK_ALLOC 65536
+
+-static void
+-show_symbols (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, Elf_Scn *xndxscn,
+- GElf_Shdr *shdr, const char *prefix, const char *fname,
+- const char *fullname)
+-{
++/* hack to avoid nested functions -> executable stack */
++static Ebl *_show_symbols_ebl;
++static GElf_Shdr *_show_symbols_shdr;
++static
+ int sort_by_name (const void *p1, const void *p2)
+ {
+ GElf_SymX *s1 = (GElf_SymX *) p1;
+ GElf_SymX *s2 = (GElf_SymX *) p2;
+ int result;
+
+- result = strcmp (elf_strptr (ebl->elf, shdr->sh_link, s1->sym.st_name),
+- elf_strptr (ebl->elf, shdr->sh_link, s2->sym.st_name));
++ result = strcmp (elf_strptr (_show_symbols_ebl->elf, _show_symbols_shdr->sh_link, s1->sym.st_name),
++ elf_strptr (_show_symbols_ebl->elf, _show_symbols_shdr->sh_link, s2->sym.st_name));
+
+ return reverse_sort ? -result : result;
+ }
+-
++static
+ int sort_by_address (const void *p1, const void *p2)
+ {
+ GElf_SymX *s1 = (GElf_SymX *) p1;
+@@ -954,6 +953,11 @@
+ return reverse_sort ? -result : result;
+ }
+
++static void
++show_symbols (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, Elf_Scn *xndxscn,
++ GElf_Shdr *shdr, const char *prefix, const char *fname,
++ const char *fullname)
++{
+ /* Get the section header string table index. */
+ size_t shstrndx;
+ if (elf_getshstrndx (ebl->elf, &shstrndx) < 0)
+@@ -1129,6 +1133,8 @@
+ nentries = nentries_used;
+
+ /* Sort the entries according to the users wishes. */
++ _show_symbols_ebl = ebl;
++ _show_symbols_shdr = shdr;
+ if (sort == sort_name)
+ qsort (sym_mem, nentries, sizeof (GElf_SymX), sort_by_name);
+ else if (sort == sort_numeric)