diff options
author | 2003-09-20 21:51:05 +0000 | |
---|---|---|
committer | 2003-09-20 21:51:05 +0000 | |
commit | 3a3c0aa578e7eaa1552d35686bd20d2c2f093039 (patch) | |
tree | c9674e6e731b206044ad8cf15dad264b84478acc /sys-devel | |
parent | added hppa static fpic bugfix by tausq (diff) | |
download | gentoo-2-3a3c0aa578e7eaa1552d35686bd20d2c2f093039.tar.gz gentoo-2-3a3c0aa578e7eaa1552d35686bd20d2c2f093039.tar.bz2 gentoo-2-3a3c0aa578e7eaa1552d35686bd20d2c2f093039.zip |
added hppa static fpic bugfix by tausq
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/binutils/ChangeLog | 6 | ||||
-rw-r--r-- | sys-devel/binutils/Manifest | 4 | ||||
-rw-r--r-- | sys-devel/binutils/binutils-2.14.90.0.6-r3.ebuild | 7 | ||||
-rw-r--r-- | sys-devel/binutils/files/2.14/binutils-2.14.90.0.6-hppa-static.diff | 88 |
4 files changed, 101 insertions, 4 deletions
diff --git a/sys-devel/binutils/ChangeLog b/sys-devel/binutils/ChangeLog index 570491a33d82..bc758c776183 100644 --- a/sys-devel/binutils/ChangeLog +++ b/sys-devel/binutils/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for sys-devel/binutils # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/ChangeLog,v 1.72 2003/09/20 18:32:04 solar Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/ChangeLog,v 1.73 2003/09/20 21:50:58 pappy Exp $ + + 20 Sep 2003; Alexander Gabert <pappy@gentoo.org> + binutils-2.14.90.0.6-r3.ebuild: + added hppa static fpic bugfix by tausq 20 Sep 2003; <solar@gentoo.org> binutils-2.14.90.0.6-r3.ebuild, files/2.14/binutils-2.14.90.0.6-bfd-elf-interp.patch: diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest index 16730d4e6fab..85160bb7ed13 100644 --- a/sys-devel/binutils/Manifest +++ b/sys-devel/binutils/Manifest @@ -4,12 +4,12 @@ MD5 6d2fe81a47256f8c2cc53c0d9696ed84 binutils-2.14.90.0.2.ebuild 5330 MD5 0128e4349da81a9b35d368f3f5457d08 binutils-2.14.90.0.6-r1.ebuild 5115 MD5 87e2477ba1072a1fc76af67ab531b0a2 binutils-2.14.90.0.4.1-r1.ebuild 6288 MD5 e56840c0286c1b40a114e80ced64dc45 binutils-2.13.90.0.18.ebuild 4572 -MD5 98ed699e4bf028b14cd4d8cab5f64a02 binutils-2.14.90.0.6-r3.ebuild 5918 +MD5 e52e7c69c718ccce62d22974cc9029f4 binutils-2.14.90.0.6-r3.ebuild 5918 MD5 92e0fa5133dbba4ffefc25a217f28686 binutils-2.14.90.0.5-r1.ebuild 5781 MD5 180a5724a39c60a76cce5d23a40b23f7 binutils-2.13.90.0.18-r1.ebuild 5367 MD5 1b11085f74185bfe7061a6fb01d62ebd binutils-2.12.90.0.15.ebuild 3501 MD5 0d3d8558697ba9460ac9b932bcdf9c1e binutils-2.14.90.0.6-r2.ebuild 5606 -MD5 450040e15afa9ab30266912e57d83e69 ChangeLog 15996 +MD5 e481db552ca8eb28d0294e4ab6a207a7 ChangeLog 15996 MD5 b7db6fb32b4653b2832c60bc12dce7a1 binutils-2.11.92.0.7.ebuild 2325 MD5 6c32de9a9503293bb03048f09dadc182 files/digest-binutils-2.11.92.0.7 74 MD5 fe5fb935b171a472f5eb1a8bca63c136 files/binutils-2.12.90.0.14-glibc21.patch 7936 diff --git a/sys-devel/binutils/binutils-2.14.90.0.6-r3.ebuild b/sys-devel/binutils/binutils-2.14.90.0.6-r3.ebuild index 0e51c822adbb..f329d8b388e1 100644 --- a/sys-devel/binutils/binutils-2.14.90.0.6-r3.ebuild +++ b/sys-devel/binutils/binutils-2.14.90.0.6-r3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.14.90.0.6-r3.ebuild,v 1.3 2003/09/20 18:32:04 solar Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.14.90.0.6-r3.ebuild,v 1.4 2003/09/20 21:50:58 pappy Exp $ IUSE="nls bootstrap build" @@ -70,6 +70,11 @@ src_unpack() { epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-cxx-speedup.patch epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-bfd-elf-interp.patch + if [ "${ARCH}" == "hppa" ] || [ "${ARCH}" == "hppa64" ] + then + epatch ${FILESDIR}/2.14/${PN}-2.14.90.0.6-hppa-static.diff + fi + use x86 &> /dev/null \ && epatch ${FILESDIR}/2.13/${PN}-2.13.90.0.20-array-sects-compat.patch diff --git a/sys-devel/binutils/files/2.14/binutils-2.14.90.0.6-hppa-static.diff b/sys-devel/binutils/files/2.14/binutils-2.14.90.0.6-hppa-static.diff new file mode 100644 index 000000000000..54781022db27 --- /dev/null +++ b/sys-devel/binutils/files/2.14/binutils-2.14.90.0.6-hppa-static.diff @@ -0,0 +1,88 @@ +Index: bfd/elf32-hppa.c +=================================================================== +RCS file: /cvs/src/src/bfd/elf32-hppa.c,v +retrieving revision 1.104 +diff -u -p -r1.104 elf32-hppa.c +--- bfd/elf32-hppa.c 21 Aug 2003 14:00:05 -0000 1.104 ++++ bfd/elf32-hppa.c 27 Aug 2003 06:58:29 -0000 +@@ -3126,10 +3126,12 @@ final_link_relocate (asection *input_sec + bfd_vma value, + struct elf32_hppa_link_hash_table *htab, + asection *sym_sec, +- struct elf32_hppa_link_hash_entry *h) ++ struct elf32_hppa_link_hash_entry *h, ++ struct bfd_link_info *info) + { + int insn; + unsigned int r_type = ELF32_R_TYPE (rel->r_info); ++ unsigned int orig_r_type = r_type; + reloc_howto_type *howto = elf_hppa_howto_table + r_type; + int r_format = howto->bitsize; + enum hppa_reloc_field_selector_type_alt r_field; +@@ -3152,6 +3154,25 @@ final_link_relocate (asection *input_sec + input_section->output_offset + + input_section->output_section->vma); + ++ /* If we are linking statically, convert DLT relocs to DPREL relocs */ ++ if (info->static_link) ++ { ++ switch (r_type) ++ { ++ case R_PARISC_DLTIND21L: ++ r_type = R_PARISC_DPREL21L; ++ break; ++ ++ case R_PARISC_DLTIND14R: ++ r_type = R_PARISC_DPREL14R; ++ break; ++ ++ case R_PARISC_DLTIND14F: ++ r_type = R_PARISC_DPREL14F; ++ break; ++ } ++ } ++ + switch (r_type) + { + case R_PARISC_PCREL12F: +@@ -3373,6 +3394,16 @@ final_link_relocate (asection *input_sec + break; + } + ++ if (info->static_link) ++ { ++ if (orig_r_type == R_PARISC_DLTIND21L) ++ { ++ /* addil LR'0(%dp),%r1 */ ++ insn = 0x2b600000; ++ } ++ /* don't have to touch the RHS */ ++ } ++ + insn = hppa_rebuild_insn (insn, val, r_format); + + /* Update the instruction word. */ +@@ -3806,7 +3837,7 @@ elf32_hppa_relocate_section (bfd *output + } + + r = final_link_relocate (input_section, contents, rel, relocation, +- htab, sym_sec, h); ++ htab, sym_sec, h, info); + + if (r == bfd_reloc_ok) + continue; +Index: ld/lexsup.c +=================================================================== +RCS file: /cvs/src/src/ld/lexsup.c,v +retrieving revision 1.66 +diff -u -p -r1.66 lexsup.c +--- ld/lexsup.c 20 Aug 2003 08:37:15 -0000 1.66 ++++ ld/lexsup.c 27 Aug 2003 06:58:31 -0000 +@@ -675,6 +675,7 @@ parse_args (unsigned argc, char **argv) + link_info.unresolved_syms_in_objects = how_to_report_unresolved_symbols; + if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET) + link_info.unresolved_syms_in_shared_libs = how_to_report_unresolved_symbols; ++ link_info.static_link = TRUE; + break; + case OPTION_CREF: + command_line.cref = TRUE; |