summaryrefslogtreecommitdiffstats
path: root/toolchain/binutils/2.15.94.0.2.2
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/binutils/2.15.94.0.2.2')
-rw-r--r--toolchain/binutils/2.15.94.0.2.2/117_mips_symbolic_link.patch44
-rw-r--r--toolchain/binutils/2.15.94.0.2.2/450-mips-restore-embedded-pic.patch75
2 files changed, 0 insertions, 119 deletions
diff --git a/toolchain/binutils/2.15.94.0.2.2/117_mips_symbolic_link.patch b/toolchain/binutils/2.15.94.0.2.2/117_mips_symbolic_link.patch
deleted file mode 100644
index 45d1dd5ca..000000000
--- a/toolchain/binutils/2.15.94.0.2.2/117_mips_symbolic_link.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /bin/sh -e
-## 117_mips_symbolic_link.dpatch
-##
-## DP: Description: Handle symbolic multigot links. (#270619)
-## DP: Author: Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-## DP: Upstream status: Not submitted
-## DP: Date: 2004-09-08
-
-if [ $# -lt 1 ]; then
- echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
-
-case "$1" in
- -patch) patch -p1 ${patch_opts} < $0;;
- -unpatch) patch -R -p1 ${patch_opts} < $0;;
- *)
- echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urpN binutils-2.15.orig/bfd/elfxx-mips.c binutils-2.15/bfd/elfxx-mips.c
---- binutils-2.15.orig/bfd/elfxx-mips.c 2004-05-17 21:36:03.000000000 +0200
-+++ binutils-2.15/bfd/elfxx-mips.c 2004-08-29 08:48:22.000000000 +0200
-@@ -3909,11 +3910,8 @@ mips_elf_create_dynamic_relocation (bfd
- /* We must now calculate the dynamic symbol table index to use
- in the relocation. */
- if (h != NULL
-- && (! info->symbolic || (h->root.elf_link_hash_flags
-- & ELF_LINK_HASH_DEF_REGULAR) == 0)
-- /* h->root.dynindx may be -1 if this symbol was marked to
-- become local. */
-- && h->root.dynindx != -1)
-+ && ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0
-+ || (h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0))
- {
- indx = h->root.dynindx;
- if (SGI_COMPAT (output_bfd))
diff --git a/toolchain/binutils/2.15.94.0.2.2/450-mips-restore-embedded-pic.patch b/toolchain/binutils/2.15.94.0.2.2/450-mips-restore-embedded-pic.patch
deleted file mode 100644
index 93c1c5950..000000000
--- a/toolchain/binutils/2.15.94.0.2.2/450-mips-restore-embedded-pic.patch
+++ /dev/null
@@ -1,75 +0,0 @@
---- binutils/gas/config/tc-mips.c.orig 2004-12-20 12:16:50.000000000 -0700
-+++ binutils/gas/config/tc-mips.c 2005-03-02 03:42:08.000000000 -0700
-@@ -10955,8 +10955,6 @@
-
- buf = (bfd_byte *) (fixP->fx_frag->fr_literal + fixP->fx_where);
-
-- assert (! fixP->fx_pcrel);
--
- /* Don't treat parts of a composite relocation as done. There are two
- reasons for this:
-
-@@ -11000,7 +10998,6 @@
- case BFD_RELOC_MIPS_CALL_HI16:
- case BFD_RELOC_MIPS_CALL_LO16:
- case BFD_RELOC_MIPS16_GPREL:
-- assert (! fixP->fx_pcrel);
- /* Nothing needed to do. The value comes from the reloc entry */
- break;
-
-@@ -12867,8 +12864,23 @@
- *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
- reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
-
-- assert (! fixp->fx_pcrel);
-- reloc->addend = fixp->fx_addnumber;
-+ if (fixp->fx_pcrel)
-+ {
-+ if (OUTPUT_FLAVOR == bfd_target_elf_flavour)
-+ {
-+ /* At this point, fx_addnumber is "symbol offset - reloc->address".
-+ Relocations want only the symbol offset. */
-+ reloc->addend = fixp->fx_addnumber + reloc->address;
-+ }
-+ else
-+ {
-+ /* A gruesome hack which is a result of the gruesome gas reloc
-+ handling. */
-+ reloc->addend = reloc->address;
-+ }
-+ }
-+ else
-+ reloc->addend = fixp->fx_addnumber;
-
- /* Since the old MIPS ELF ABI uses Rel instead of Rela, encode the vtable
- entry to be used in the relocation's section offset. */
-@@ -12879,6 +12891,16 @@
- }
-
- code = fixp->fx_r_type;
-+ if (fixp->fx_pcrel)
-+ {
-+ if (code == BFD_RELOC_32)
-+ code = BFD_RELOC_32_PCREL;
-+ else
-+ as_bad_where (fixp->fx_file, fixp->fx_line,
-+ _("Cannot make %s relocation PC relative"),
-+ bfd_get_reloc_code_name (code));
-+ }
-+
-
- /* To support a PC relative reloc, we used a Cygnus extension.
- We check for that here to make sure that we don't let such a
---- binutils/gas/config/tc-mips.h 29 Apr 2004 05:14:22 -0000 1.35
-+++ binutils/gas/config/tc-mips.h 5 May 2004 17:38:51 -0000
-@@ -58,6 +58,10 @@
-
- #define MAX_MEM_FOR_RS_ALIGN_CODE (1 + 2)
-
-+/* We permit PC relative difference expressions when generating
-+ embedded PIC code. */
-+#define DIFF_EXPR_OK
-+
- /* Tell assembler that we have an itbl_mips.h header file to include. */
- #define HAVE_ITBL_CPU
-