diff options
author | Mike Frysinger <vapier@gentoo.org> | 2008-04-20 08:20:05 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2008-04-20 08:20:05 +0000 |
commit | 0f093c1a13673f9ff40c8a2e1cf6a65acab557b6 (patch) | |
tree | fc22c8a2193807983dfafa48d485d6f224d7a4ec /dev-libs/elfutils | |
parent | Fix by Ryan Hill for building with gcc-4.3 #200767. (diff) | |
download | historical-0f093c1a13673f9ff40c8a2e1cf6a65acab557b6.tar.gz historical-0f093c1a13673f9ff40c8a2e1cf6a65acab557b6.tar.bz2 historical-0f093c1a13673f9ff40c8a2e1cf6a65acab557b6.zip |
Use Debian patched tarball to fix #158438 and add fix by Ryan Hill for building with gcc-4.3 #204610.
Package-Manager: portage-2.2_pre5
Diffstat (limited to 'dev-libs/elfutils')
-rw-r--r-- | dev-libs/elfutils/ChangeLog | 9 | ||||
-rw-r--r-- | dev-libs/elfutils/Manifest | 15 | ||||
-rw-r--r-- | dev-libs/elfutils/elfutils-0.131-r2.ebuild | 52 | ||||
-rw-r--r-- | dev-libs/elfutils/files/elfutils-0.131-gnu-inline.patch | 255 |
4 files changed, 329 insertions, 2 deletions
diff --git a/dev-libs/elfutils/ChangeLog b/dev-libs/elfutils/ChangeLog index f0f3e97b6068..a854cbb09cdc 100644 --- a/dev-libs/elfutils/ChangeLog +++ b/dev-libs/elfutils/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-libs/elfutils # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/elfutils/ChangeLog,v 1.113 2008/01/06 17:38:46 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/elfutils/ChangeLog,v 1.114 2008/04/20 08:20:04 vapier Exp $ + +*elfutils-0.131-r2 (20 Apr 2008) + + 20 Apr 2008; Mike Frysinger <vapier@gentoo.org> + +files/elfutils-0.131-gnu-inline.patch, +elfutils-0.131-r2.ebuild: + Use Debian patched tarball to fix #158438 and add fix by Ryan Hill for + building with gcc-4.3 #204610. *elfutils-0.131-r1 (06 Jan 2008) diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest index 07e77b39767c..6ac71816132d 100644 --- a/dev-libs/elfutils/Manifest +++ b/dev-libs/elfutils/Manifest @@ -1,8 +1,12 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX elfutils-0.118-PaX-support.patch 954 RMD160 ed86dfec7b51b273721f3dd0c6e11bba935e6c1e SHA1 baaaa3686902c3f4ce9f81f7a83e2e66ba1575d2 SHA256 e769e1168dc645ce99655f984f5c19a54d765210cacd098556b6b68743b877fa AUX elfutils-0.118-glibc-hacks.patch 368 RMD160 ebd18a941f0c5771c164b7c3754f34acd086cc6d SHA1 d929f8ce58dc759e47ddc38d6017546f7f56edd8 SHA256 917145e0a236a3eb6f222cf2ae84924281c92e55e2054a9990947fe34023a61b AUX elfutils-0.118-libelf-link.patch 1495 RMD160 7b69456f49f98caf51ccae2af239a3bd09e0fa8d SHA1 8a15cd628add3975536b35f319acd70a30da6991 SHA256 edb9eaf85521ca15a0fa8282125ae41892fcc577a7c596df9948738ab0d2c180 AUX elfutils-0.118-no-nested-functions.patch 1961 RMD160 271c15eb11f4fb69e9972928bb47a72e27184df3 SHA1 08aae8d7520d766e66e8314a0d4b5842d73616c4 SHA256 5648aa0a4b4b519c1103fcd7e3f0b6e2009377e1e13e798b20d7c3cbeee12a10 AUX elfutils-0.120-mkinstalldirs.patch 752 RMD160 523cceb5a3d394ebba88cb5bdb6e0b41daf9e6da SHA1 17786d9131067cf59c57d8de1ac529eae47bd99b SHA256 73cd540e3a473b145d0efa227d8744fcef531834f2b730dd1cfc191b86872ffb +AUX elfutils-0.131-gnu-inline.patch 8904 RMD160 a89857be29b95f00948e1e78d11e0b3fd05ed6b6 SHA1 7aa507d9e8c4b14260fd7661648ac6db5bc2f30c SHA256 104447b9c80a8c290d93e4ae601df39f3fec6c9733eb2e71ae954a7fb0dcea36 DIST elfutils-0.118-patches-1.0.tar.bz2 16369 RMD160 9125f94c0c1c6380100bae6f5d9fb0341001ce2f SHA1 0445a0634521c371c625e454061c5bcce973fe75 SHA256 d61d0849c4e3114d503ec1a3cb477c285f1bddf89178b3011c9948fac14c3bb8 DIST elfutils-0.118.tar.gz 1083164 RMD160 4952405a42290bffbed9f8ee7f1cfcc7fc3ae8fd SHA1 882029a3fd7cd7d5d1cba4d8d0e238d0e3308ac0 SHA256 e90db35bc93e23b198b60f09fb767ab5bf855921f7fd7e7e00add16772d3fe32 DIST elfutils-0.123-patches-1.0.tar.bz2 18420 RMD160 a0e0621742ef5ecc39482bdd80950e94738b749e SHA1 cf701e4c3c9f6f2e360bc0d7503276c8dd24f81a SHA256 15820b04bb95f52b26fcdc1057272006fb02e4cbca71b6c2c4d47cd6ab6e9a80 @@ -13,11 +17,20 @@ DIST elfutils-0.127-patches-1.0.tar.bz2 19950 RMD160 7bd6e8fd52a2c5df3b423a6e9f5 DIST elfutils-0.127.tar.gz 1247883 RMD160 f083e5d3d5fdbb82f15a95f4b420c0086d2f52e1 SHA1 2b6074069960ed9258df0efc9899e7a3a0be5aeb SHA256 bb5d2a846dbb5c9e779cec37a0ebdb4b1c8071131cfcce05358a08367281c38a DIST elfutils-0.131-patches-1.0.tar.bz2 16640 RMD160 28c168d3d3f6731697354ab867a25c99c387ed32 SHA1 d83422054505c8e265afda85946b930636cc1321 SHA256 f959d97b68a53eedf1712bdfbf496faae0de5a0e2474aa5641a9811263b5ff8e DIST elfutils-0.131.tar.gz 1412328 RMD160 18483d0d03e642eafdceabdfcebf88456b5aafba SHA1 d371731e3c09f05aad05f9b02ac2abc049528fac SHA256 947a9566a622f701a2fe2416d3b85b397d38d5f4189da91fc0a306b4d9950e6f +DIST elfutils_0.131.orig.tar.gz 1412328 RMD160 18483d0d03e642eafdceabdfcebf88456b5aafba SHA1 d371731e3c09f05aad05f9b02ac2abc049528fac SHA256 947a9566a622f701a2fe2416d3b85b397d38d5f4189da91fc0a306b4d9950e6f EBUILD elfutils-0.118.ebuild 1761 RMD160 68bcd05f0e005ddab426817af50eda4f7ae2caf5 SHA1 62dd172c0a6e6256b91b473462347ac68630c667 SHA256 7451204a33d72859aafade9264518a1e1f1cd9a6dc96b4d0e1119a4b80845b58 EBUILD elfutils-0.123.ebuild 1637 RMD160 0501e449df019558384729caf014d2cc569a0cad SHA1 c062c770067ea749407a82d3a84724e3a4232bd4 SHA256 b86cb794db60d54e5f1fceb24cb259873af9d698dfc69e5018151ea34298e614 EBUILD elfutils-0.125.ebuild 1636 RMD160 121766c9e35bbbe57dc77ec21483813a4654aaba SHA1 96555058dcaf1a90d52a8cc55de6f9883988c6c8 SHA256 d9be4d9f3a21b3b9f80157d0eb902f99fcf6c85dd38a339f9bb42be714491ecd EBUILD elfutils-0.127.ebuild 1634 RMD160 e54b2eebd01feae4d5f744b74a659b378f63292e SHA1 8f25094d816c1dda4fdef7ace8e7dee720776f09 SHA256 4122c95b20f86d5d6ac53f5a84d4c947cc837199f970041d66e871f1617133ea EBUILD elfutils-0.131-r1.ebuild 1718 RMD160 3f616ab94b1e857de1debb37861393010027d6b1 SHA1 aa77b3e6fbf17a6a345b114cc79e143a44955fa8 SHA256 33dfcd202766305fa203e77c8ef2eee5819f456fddef1f5e063bb5445f4f88c0 +EBUILD elfutils-0.131-r2.ebuild 1621 RMD160 a77b784a264a226df7351fdf4c97f2741cbf2600 SHA1 b1545ecd52720389ad20dfb3a8be1da04e30f01f SHA256 75379b2e2ec752fd22e4575834c129916e5cdd34b3bc7a6bba3c4b0051e6cadf EBUILD elfutils-0.131.ebuild 1650 RMD160 742c347e9fce2c83f02c8b251c4c0b07dd216984 SHA1 cf429cdda485964d273650770db75a38afc9465f SHA256 ae972acca05eae85708ac0b25549c1119a3904bcaa7a700ef2700db832a59ee9 -MISC ChangeLog 14190 RMD160 412d4d4d535b18b8b2c82c98e3ab3528419fc228 SHA1 46766a1bad2982aeeae441736fc41eec00a2d61a SHA256 673902253b9b23249aced4581e64aac808db4344f478c8ca6242d0fefb1158e8 +MISC ChangeLog 14450 RMD160 013af22c22139e3bc5d5bc543b8045b9f31d8965 SHA1 7c015edae980e5bc34c13348d41f4da9e049c7dd SHA256 8011d54b9099d50e2d8651efa469c28af08cb8298b7bef5a651cc733c1aa2c20 MISC metadata.xml 162 RMD160 d002486a43522f2116b1d9d59828c484956d66e2 SHA1 d6b4923897f6ae673b4f93646f5b4ba61d5a2c3c SHA256 65a915d44de1f01d4b7f72d313b4192c38374a9835d24988c00c1e73dca5805a +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.7 (GNU/Linux) + +iD8DBQFICvy6j9hvisErhMIRAkK2AKDmkrzXbk3sG/H/Rhn4cZ+mL5eFxwCg1gRM +qSKoICHGrGc0wl5tH/v+B4A= +=pxfq +-----END PGP SIGNATURE----- diff --git a/dev-libs/elfutils/elfutils-0.131-r2.ebuild b/dev-libs/elfutils/elfutils-0.131-r2.ebuild new file mode 100644 index 000000000000..134d1feb4322 --- /dev/null +++ b/dev-libs/elfutils/elfutils-0.131-r2.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/elfutils/elfutils-0.131-r2.ebuild,v 1.1 2008/04/20 08:20:04 vapier Exp $ + +inherit eutils + +DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" +HOMEPAGE="http://people.redhat.com/drepper/" +#SRC_URI="ftp://sources.redhat.com/pub/systemtap/${PN}/${P}.tar.gz" +SRC_URI="mirror://debian/pool/main/e/elfutils/elfutils_${PV}.orig.tar.gz" + +LICENSE="OpenSoftware" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="" + +# 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 +DEPEND="elibc_glibc? ( >=sys-libs/glibc-2.3.2 ) + sys-devel/gettext + sys-devel/autoconf + >=sys-devel/binutils-2.15.90.0.1 + >=sys-devel/gcc-3.3.3 + !dev-libs/libelf" +RDEPEND="" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-gnu-inline.patch #204610 + find . -name Makefile.in -print0 | xargs -0 sed -i -e 's:-W\(error\|extra\)::g' + sed -i 's:\<off64_t\>:__off64_t:g' libelf/libelf.h || die #204502 +} + +src_compile() { + econf \ + --program-prefix="eu-" \ + --enable-shared \ + || die "./configure failed" + emake || die +} + +src_test() { + env LD_LIBRARY_PATH="${S}/libelf:${S}/libebl:${S}/libdw:${S}/libasm" \ + make check || die "test failed" +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc AUTHORS ChangeLog NEWS NOTES README THANKS TODO +} diff --git a/dev-libs/elfutils/files/elfutils-0.131-gnu-inline.patch b/dev-libs/elfutils/files/elfutils-0.131-gnu-inline.patch new file mode 100644 index 000000000000..334e704a1817 --- /dev/null +++ b/dev-libs/elfutils/files/elfutils-0.131-gnu-inline.patch @@ -0,0 +1,255 @@ +fix 'extern inline' handling to use gnu inlines + +http://bugs.gentoo.org/204610 + +--- elfutils-0.131/backends/ia64_retval.c ++++ elfutils-0.131/backends/ia64_retval.c +@@ -96,7 +96,7 @@ + If we find a datum that's not the same FP type as the first datum, punt. + If we count more than eight total homogeneous FP data, punt. */ + +- inline int hfa (const Dwarf_Op *loc, int nregs) ++ __gnu_inline int hfa (const Dwarf_Op *loc, int nregs) + { + if (fpregs_used == 0) + *locp = loc; +--- elfutils-0.131/libdw/dwarf_entry_breakpoints.c ++++ elfutils-0.131/libdw/dwarf_entry_breakpoints.c +@@ -64,7 +64,7 @@ + *bkpts = NULL; + + /* Add one breakpoint location to the result vector. */ +- inline int add_bkpt (Dwarf_Addr pc) ++ __gnu_inline int add_bkpt (Dwarf_Addr pc) + { + Dwarf_Addr *newlist = realloc (*bkpts, ++nbkpts * sizeof newlist[0]); + if (newlist == NULL) +@@ -80,7 +80,7 @@ + } + + /* Fallback result, break at the entrypc/lowpc value. */ +- inline int entrypc_bkpt (void) ++ __gnu_inline int entrypc_bkpt (void) + { + Dwarf_Addr pc; + return INTUSE(dwarf_entrypc) (die, &pc) < 0 ? -1 : add_bkpt (pc); +@@ -107,7 +107,7 @@ + /* Search a contiguous PC range for prologue-end markers. + If DWARF, look for proper markers. + Failing that, if ADHOC, look for the ad hoc convention. */ +- inline int search_range (Dwarf_Addr low, Dwarf_Addr high, ++ __gnu_inline int search_range (Dwarf_Addr low, Dwarf_Addr high, + bool dwarf, bool adhoc) + { + size_t l = 0, u = nlines; +--- elfutils-0.131/libdw/dwarf_getscopevar.c ++++ elfutils-0.131/libdw/dwarf_getscopevar.c +@@ -93,7 +93,7 @@ + size_t match_file_len = match_file == NULL ? 0 : strlen (match_file); + bool lastfile_matches = false; + const char *lastfile = NULL; +- inline bool file_matches (Dwarf_Files *files, size_t idx) ++ __gnu_inline bool file_matches (Dwarf_Files *files, size_t idx) + { + if (idx >= files->nfiles) + return false; +--- elfutils-0.131/libdw/libdw.h ++++ elfutils-0.131/libdw/libdw.h +@@ -633,6 +633,12 @@ + + /* Inline optimizations. */ + #ifdef __OPTIMIZE__ ++# if defined(__GNUC_STDC_INLINE__) || defined(__GNUC_GNU_INLINE__) ++# define __gnu_inline inline __attribute__ ((__gnu_inline__)) ++# else ++# define __gnu_inline inline ++# endif ++ + /* Return attribute code of given attribute. */ + __libdw_extern_inline unsigned int + dwarf_whatattr (Dwarf_Attribute *attr) +--- elfutils-0.131/libdw/libdw_visit_scopes.c ++++ elfutils-0.131/libdw/libdw_visit_scopes.c +@@ -109,7 +109,7 @@ + if (INTUSE(dwarf_child) (&root->die, &child.die) != 0) + return -1; + +- inline int recurse (void) ++ __gnu_inline int recurse (void) + { + return __libdw_visit_scopes (depth + 1, &child, + previsit, postvisit, arg); +--- elfutils-0.131/libdwfl/argp-std.c ++++ elfutils-0.131/libdwfl/argp-std.c +@@ -106,7 +106,7 @@ + static error_t + parse_opt (int key, char *arg, struct argp_state *state) + { +- inline void failure (Dwfl *dwfl, int errnum, const char *msg) ++ __gnu_inline void failure (Dwfl *dwfl, int errnum, const char *msg) + { + if (errnum == -1) + argp_failure (state, EXIT_FAILURE, 0, "%s: %s", +@@ -116,7 +116,7 @@ + if (dwfl != NULL) + dwfl_end (dwfl); + } +- inline error_t fail (Dwfl *dwfl, int errnum, const char *msg) ++ __gnu_inline error_t fail (Dwfl *dwfl, int errnum, const char *msg) + { + failure (dwfl, errnum, msg); + return errnum == -1 ? EIO : errnum; +--- elfutils-0.131/libdwfl/dwfl_module_addrsym.c ++++ elfutils-0.131/libdwfl/dwfl_module_addrsym.c +@@ -59,7 +59,7 @@ + + /* Return true iff we consider ADDR to lie in the same section as SYM. */ + GElf_Word addr_shndx = SHN_UNDEF; +- inline bool same_section (const GElf_Sym *sym, GElf_Word shndx) ++ __gnu_inline bool same_section (const GElf_Sym *sym, GElf_Word shndx) + { + /* For absolute symbols and the like, only match exactly. */ + if (shndx >= SHN_LORESERVE) +--- elfutils-0.131/libdwfl/dwfl_module_getsrc_file.c ++++ elfutils-0.131/libdwfl/dwfl_module_getsrc_file.c +@@ -79,15 +79,15 @@ + && cu != NULL + && (error = __libdwfl_cu_getsrclines (cu)) == DWFL_E_NOERROR) + { +- inline const char *INTUSE(dwarf_line_file) (const Dwarf_Line *line) ++ __gnu_inline const char *INTUSE(dwarf_line_file) (const Dwarf_Line *line) + { + return line->files->info[line->file].name; + } +- inline Dwarf_Line *dwfl_line (const Dwfl_Line *line) ++ __gnu_inline Dwarf_Line *dwfl_line (const Dwfl_Line *line) + { + return &dwfl_linecu (line)->die.cu->lines->info[line->idx]; + } +- inline const char *dwfl_line_file (const Dwfl_Line *line) ++ __gnu_inline const char *dwfl_line_file (const Dwfl_Line *line) + { + return INTUSE(dwarf_line_file) (dwfl_line (line)); + } +--- elfutils-0.131/libdwfl/elf-from-memory.c ++++ elfutils-0.131/libdwfl/elf-from-memory.c +@@ -216,7 +216,7 @@ + bool found_base = false; + switch (ehdr.e32.e_ident[EI_CLASS]) + { +- inline void handle_segment (GElf_Addr vaddr, GElf_Off offset, ++ __gnu_inline void handle_segment (GElf_Addr vaddr, GElf_Off offset, + GElf_Xword filesz, GElf_Xword align) + { + GElf_Off segment_end = ((offset + filesz + align - 1) & -align); +@@ -280,7 +280,7 @@ + + switch (ehdr.e32.e_ident[EI_CLASS]) + { +- inline bool handle_segment (GElf_Addr vaddr, GElf_Off offset, ++ __gnu_inline bool handle_segment (GElf_Addr vaddr, GElf_Off offset, + GElf_Xword filesz, GElf_Xword align) + { + GElf_Off start = offset & -align; +--- elfutils-0.131/libdwfl/linux-kernel-modules.c ++++ elfutils-0.131/libdwfl/linux-kernel-modules.c +@@ -541,7 +541,7 @@ + { + Dwarf_Addr start; + Dwarf_Addr end; +- inline Dwfl_Module *report (void) ++ __gnu_inline Dwfl_Module *report (void) + { + return INTUSE(dwfl_report_module) (dwfl, KERNEL_MODNAME, start, end); + } +@@ -628,7 +628,7 @@ + only '_' and one only using '-'. */ + + char alternate_name[namelen + 1]; +- inline bool subst_name (char from, char to) ++ __gnu_inline bool subst_name (char from, char to) + { + const char *n = memchr (module_name, from, namelen); + if (n == NULL) +--- elfutils-0.131/libdwfl/linux-proc-maps.c ++++ elfutils-0.131/libdwfl/linux-proc-maps.c +@@ -134,7 +134,7 @@ + char *last_file = NULL; + Dwarf_Addr low = 0, high = 0; + +- inline bool report (void) ++ __gnu_inline bool report (void) + { + if (last_file != NULL) + { +--- elfutils-0.131/src/ld.h ++++ elfutils-0.131/src/ld.h +@@ -1087,7 +1087,7 @@ + + /* Checked whether the symbol is undefined and referenced from a DSO. */ + extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx); +-extern inline bool ++extern __gnu_inline bool + linked_from_dso_p (struct scninfo *scninfo, size_t symidx) + { + struct usedfiles *file = scninfo->fileinfo; +--- elfutils-0.131/src/readelf.c ++++ elfutils-0.131/src/readelf.c +@@ -5722,7 +5722,7 @@ + qsort (regs, maxreg + 1, sizeof regs[0], &compare_registers); + + /* Collect the unique sets and sort them. */ +- inline bool same_set (const struct register_info *a, ++ __gnu_inline bool same_set (const struct register_info *a, + const struct register_info *b) + { + return (a < ®s[maxnreg] && a->regloc != NULL +--- elfutils-0.131/src/strip.c ++++ elfutils-0.131/src/strip.c +@@ -1336,7 +1336,7 @@ + /* Update section headers when the data size has changed. + We also update the SHT_NOBITS section in the debug + file so that the section headers match in sh_size. */ +- inline void update_section_size (const Elf_Data *newdata) ++ __gnu_inline void update_section_size (const Elf_Data *newdata) + { + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); +--- elfutils-0.131/src/unstrip.c ++++ elfutils-0.131/src/unstrip.c +@@ -389,7 +389,7 @@ + { + Elf_Data *data = elf_getdata (outscn, NULL); + +- inline void adjust_reloc (GElf_Xword *info) ++ __gnu_inline void adjust_reloc (GElf_Xword *info) + { + size_t ndx = GELF_R_SYM (*info); + if (ndx != STN_UNDEF) +@@ -1039,7 +1039,7 @@ + } + + bool fail = false; +- inline void check_match (bool match, Elf_Scn *scn, const char *name) ++ __gnu_inline void check_match (bool match, Elf_Scn *scn, const char *name) + { + if (!match) + { +@@ -1267,7 +1267,7 @@ + } + + /* Locate a matching unallocated section in SECTIONS. */ +- inline struct section *find_unalloc_section (const GElf_Shdr *shdr, ++ __gnu_inline struct section *find_unalloc_section (const GElf_Shdr *shdr, + const char *name) + { + size_t l = nalloc, u = stripped_shnum - 1; +@@ -2182,7 +2182,7 @@ + handle_implicit_modules (const struct arg_info *info) + { + struct match_module_info mmi = { info->args, NULL, info->match_files }; +- inline ptrdiff_t next (ptrdiff_t offset) ++ __gnu_inline ptrdiff_t next (ptrdiff_t offset) + { + return dwfl_getmodules (info->dwfl, &match_module, &mmi, offset); + } |