summaryrefslogtreecommitdiff
path: root/patches/binutils
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-08-14 20:11:44 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-08-14 20:11:44 (GMT)
commit6c368af5b4e68c05c8774ea5795b708aca9d0d66 (patch)
tree85f99014c1d7d312006d95d6dc37f9bf1ab47b8e /patches/binutils
parentab0fc7eab41d6e253549dbc63431f9ba153a0418 (diff)
Do a clean-up pass on the OBSOLETE features (versions):
- remove legions of those, - remove associated patches no longer needed, - mark then as (OBSOLETE) in the prompt;
Diffstat (limited to 'patches/binutils')
-rw-r--r--patches/binutils/2.11.2/gcc-pr3106.patch28
-rw-r--r--patches/binutils/2.13.90.0.2/README6
-rw-r--r--patches/binutils/2.13.90.0.2/rh62-binutils-2.11.93.0.2-sparc-nonpic.patch96
-rw-r--r--patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-glibc21.patch58
-rw-r--r--patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-gotpc.patch372
-rw-r--r--patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-tpoff32.patch27
-rw-r--r--patches/binutils/2.14.90.0.5/binutils-cross-demangler.patch11
-rw-r--r--patches/binutils/2.14.90.0.5/binutils-sh-relocs.patch38
-rw-r--r--patches/binutils/2.14.90.0.7/binutils-cross-demangler.patch11
-rw-r--r--patches/binutils/2.14.92/binutils-skip-comments.patch101
-rw-r--r--patches/binutils/2.14.92/gccpr15247-fix.patch192
-rw-r--r--patches/binutils/2.15.90.0.3/binutils-20040817-linkonce.patch118
-rw-r--r--patches/binutils/2.15.90.0.3/binutils-20040820-duplicates.patch74
-rw-r--r--patches/binutils/2.15.90.0.3/binutils-skip-comments.patch101
-rw-r--r--patches/binutils/2.15.90.0.3/gccpr15247-fix.patch192
-rw-r--r--patches/binutils/2.15.91.0.2/binutils-20040817-linkonce.patch118
-rw-r--r--patches/binutils/2.15.91.0.2/binutils-dup-sections.patch68
-rw-r--r--patches/binutils/2.15.91.0.2/binutils-skip-comments.patch101
-rw-r--r--patches/binutils/2.17.50.0.8/100-uclibc-conf.patch139
-rw-r--r--patches/binutils/2.17.50.0.8/110-arm-eabi-conf.patch24
-rw-r--r--patches/binutils/2.17.50.0.8/300-001_ld_makefile_patch.patch50
-rw-r--r--patches/binutils/2.17.50.0.8/300-012_check_ldrunpath_length.patch47
-rw-r--r--patches/binutils/2.17.50.0.9/100-uclibc-conf.patch139
-rw-r--r--patches/binutils/2.17.50.0.9/110-arm-eabi-conf.patch24
-rw-r--r--patches/binutils/2.17.50.0.9/300-001_ld_makefile_patch.patch50
-rw-r--r--patches/binutils/2.17.50.0.9/300-012_check_ldrunpath_length.patch47
26 files changed, 0 insertions, 2232 deletions
diff --git a/patches/binutils/2.11.2/gcc-pr3106.patch b/patches/binutils/2.11.2/gcc-pr3106.patch
deleted file mode 100644
index c3a0264..0000000
--- a/patches/binutils/2.11.2/gcc-pr3106.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-See http://gcc.gnu.org/PR3106
-Backported from gcc-3.0.x
-
-Fixes error
- .../binutils-2.11.2/libiberty/strerror.c:468: error: conflicting types for `sys_nerr'
- /usr/include/stdio.h:258: error: previous declaration of `sys_nerr'
- make[1]: *** [strerror.o] Error 1
- make: *** [all-libiberty] Error 2
-on Mac OS X.
-
---- binutils-2.11.2/libiberty/strerror.c.old 2004-03-24 16:23:19.000000000 -0800
-+++ binutils-2.11.2/libiberty/strerror.c 2004-03-24 16:23:48.000000000 -0800
-@@ -13,6 +13,7 @@
- incompatible with our later declaration, perhaps by using const
- attributes. So we hide the declaration in errno.h (if any) using a
- macro. */
-+#define sys_nerr sys_nerr__
- #define sys_errlist sys_errlist__
- #endif
-
-@@ -20,6 +21,7 @@
- #include <errno.h>
-
- #ifdef HAVE_SYS_ERRLIST
-+#undef sys_nerr
- #undef sys_errlist
- #endif
-
diff --git a/patches/binutils/2.13.90.0.2/README b/patches/binutils/2.13.90.0.2/README
deleted file mode 100644
index 521e669..0000000
--- a/patches/binutils/2.13.90.0.2/README
+++ /dev/null
@@ -1,6 +0,0 @@
-The files rh62*.patch are from the Red Hat 6.2 file
-binutils-2.13.90.0.2-2.src.rpm
-
-I am trusting here that Red Hat's patches are appropriate for all CPU
-types. If I'm wrong, just remove the offending patch...
-- Dan Kegel
diff --git a/patches/binutils/2.13.90.0.2/rh62-binutils-2.11.93.0.2-sparc-nonpic.patch b/patches/binutils/2.13.90.0.2/rh62-binutils-2.11.93.0.2-sparc-nonpic.patch
deleted file mode 100644
index f8719a5..0000000
--- a/patches/binutils/2.13.90.0.2/rh62-binutils-2.11.93.0.2-sparc-nonpic.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-2002-04-20 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-sparc.c (elf32_sparc_relocate_section): Find real output
- section with SEC_MERGE.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
-
---- binutils/bfd/elf32-sparc.c.jj Sat Apr 20 22:11:57 2002
-+++ binutils/bfd/elf32-sparc.c Sat Apr 20 23:06:33 2002
-@@ -1144,7 +1144,7 @@ elf32_sparc_relocate_section (output_bfd
- struct elf_link_hash_entry *h;
- Elf_Internal_Sym *sym;
- asection *sec;
-- bfd_vma relocation, off;
-+ bfd_vma relocation, off, orig_addend = 0;
- bfd_reloc_status_type r;
- boolean is_plt = false;
- boolean unresolved_reloc;
-@@ -1192,6 +1192,7 @@ elf32_sparc_relocate_section (output_bfd
- {
- sym = local_syms + r_symndx;
- sec = local_sections[r_symndx];
-+ orig_addend = rel->r_addend;
- relocation = _bfd_elf_rela_local_sym (output_bfd, sym, sec, rel);
- }
- else
-@@ -1527,6 +1528,25 @@ elf32_sparc_relocate_section (output_bfd
- asection *osec;
-
- osec = sec->output_section;
-+ /* FIXME: As soon as making sections zero size
-+ is possible, this if can go away. */
-+ if (bfd_is_abs_section (osec)
-+ && h == NULL
-+ && (sec->flags & SEC_MERGE)
-+ && ELF_ST_TYPE (sym->st_info) == STT_SECTION
-+ && (elf_section_data (sec)->sec_info_type
-+ == ELF_INFO_TYPE_MERGE))
-+ {
-+ asection *msec;
-+
-+ msec = sec;
-+ _bfd_merged_section_offset (output_bfd, &msec,
-+ elf_section_data (sec)->sec_info,
-+ sym->st_value + orig_addend,
-+ (bfd_vma) 0);
-+ osec = msec->output_section;
-+ }
-+
- indx = elf_section_data (osec)->dynindx;
-
- /* FIXME: we really should be able to link non-pic
---- binutils/bfd/elf64-sparc.c.jj Sat Apr 20 22:11:57 2002
-+++ binutils/bfd/elf64-sparc.c Sat Apr 20 23:12:18 2002
-@@ -1939,7 +1939,7 @@ sparc64_elf_relocate_section (output_bfd
- struct elf_link_hash_entry *h;
- Elf_Internal_Sym *sym;
- asection *sec;
-- bfd_vma relocation, off;
-+ bfd_vma relocation, off, orig_addend = 0;
- bfd_reloc_status_type r;
- boolean is_plt = false;
- boolean unresolved_reloc;
-@@ -1982,6 +1982,7 @@ sparc64_elf_relocate_section (output_bfd
- {
- sym = local_syms + r_symndx;
- sec = local_sections[r_symndx];
-+ orig_addend = rel->r_addend;
- relocation = _bfd_elf_rela_local_sym (output_bfd, sym, sec, rel);
- }
- else
-@@ -2211,6 +2212,25 @@ sparc64_elf_relocate_section (output_bfd
- asection *osec;
-
- osec = sec->output_section;
-+ /* FIXME: As soon as making sections zero size
-+ is possible, this if can go away. */
-+ if (bfd_is_abs_section (osec)
-+ && h == NULL
-+ && (sec->flags & SEC_MERGE)
-+ && ELF_ST_TYPE (sym->st_info) == STT_SECTION
-+ && (elf_section_data (sec)->sec_info_type
-+ == ELF_INFO_TYPE_MERGE))
-+ {
-+ asection *msec;
-+
-+ msec = sec;
-+ _bfd_merged_section_offset (output_bfd, &msec,
-+ elf_section_data (sec)->sec_info,
-+ sym->st_value + orig_addend,
-+ (bfd_vma) 0);
-+ osec = msec->output_section;
-+ }
-+
- indx = elf_section_data (osec)->dynindx;
-
- /* FIXME: we really should be able to link non-pic
diff --git a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-glibc21.patch b/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-glibc21.patch
deleted file mode 100644
index a35b8f8..0000000
--- a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-glibc21.patch
+++ /dev/null
@@ -1,58 +0,0 @@
---- binutils/ld/emulparams/elf_i386_glibc21.sh.jj Sat Aug 3 17:04:41 2002
-+++ binutils/ld/emulparams/elf_i386_glibc21.sh Sat Aug 3 17:04:41 2002
-@@ -0,0 +1,11 @@
-+SCRIPT_NAME=elf
-+OUTPUT_FORMAT="elf32-i386"
-+TEXT_START_ADDR=0x08048000
-+MAXPAGESIZE=0x1000
-+NONPAGED_TEXT_START_ADDR=0x08048000
-+ARCH=i386
-+MACHINE=
-+NOP=0x9090
-+TEMPLATE_NAME=elf32
-+GENERATE_SHLIB_SCRIPT=yes
-+LIB_PATH=/usr/i386-glibc21-linux/lib:/usr/local/lib
---- binutils/ld/configure.tgt.jj Thu Aug 1 20:49:32 2002
-+++ binutils/ld/configure.tgt Sat Aug 3 17:06:18 2002
-@@ -143,7 +143,8 @@ i[3456]86-*-linux*aout*) targ_emul=i386l
- ;;
- i[3456]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
- i[3456]86-*-linux-gnu*) targ_emul=elf_i386
-- targ_extra_emuls=i386linux
-+ targ_extra_emuls="i386linux elf_i386_glibc21"
-+ targ_extra_libpath=elf_i386_glibc21
- if test x${want64} = xtrue; then
- targ_extra_emuls="$targ_extra_emuls elf_x86_64"
- fi
---- binutils/ld/Makefile.am.jj Thu Aug 1 20:49:32 2002
-+++ binutils/ld/Makefile.am Sat Aug 3 17:04:41 2002
-@@ -181,6 +181,7 @@ ALL_EMULATIONS = \
- eelf_i386.o \
- eelf_i386_be.o \
- eelf_i386_chaos.o \
-+ eelf_i386_glibc21.o \
- eelf_i386_fbsd.o \
- eelf_i386_ldso.o \
- eelf_s390.o \
-@@ -718,6 +719,9 @@ eelf_i386_be.c: $(srcdir)/emulparams/elf
- eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf_chaos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_chaos "$(tdir_elf_i386_chaos)"
-+eelf_i386_glibc21.c: $(srcdir)/emulparams/elf_i386_glibc21.sh \
-+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+ ${GENSCRIPTS} elf_i386_glibc21 "$(tdir_elf_i386_glibc21)"
- eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \
- $(srcdir)/emulparams/elf_i386.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
---- binutils/ld/Makefile.in.jj Thu Aug 1 20:49:32 2002
-+++ binutils/ld/Makefile.in Sat Aug 3 17:07:34 2002
-@@ -1197,6 +1197,9 @@ eelf_i386_be.c: $(srcdir)/emulparams/elf
- eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf_chaos.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_i386_chaos "$(tdir_elf_i386_chaos)"
-+eelf_i386_glibc21.c: $(srcdir)/emulparams/elf_i386_glibc21.sh \
-+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+ ${GENSCRIPTS} elf_i386_glibc21 "$(tdir_elf_i386_glibc21)"
- eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \
- $(srcdir)/emulparams/elf_i386.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-gotpc.patch b/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-gotpc.patch
deleted file mode 100644
index 030dfa9..0000000
--- a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-gotpc.patch
+++ /dev/null
@@ -1,372 +0,0 @@
-2002-08-03 Jakub Jelinek <jakub@redhat.com>
-
- * config/tc-i386.c (output_insn): Save frag_now and frag_now_fix ()
- at start of insn, pass it to output_disp and output_imm.
- (output_disp): Added arguments. If _GLOBAL_OFFSET_TABLE_ is seen
- in displacement for R_386_32 reloc, use R_386_GOTPC and compute
- properly addend.
- (output_imm): Added arguments. Compute properly addend for
- R_386_GOTPC.
- (md_apply_fix3): Remove R_386_GOTPC handling.
- * testsuite/gas/i386/gotpc.s: New.
- * testsuite/gas/i386/gotpc.d: New.
- * testsuite/gas/i386/i386.exp: Add gotpc test.
-
---- binutils/gas/config/tc-i386.c.jj 2002-07-18 11:35:39.000000000 +0200
-+++ binutils/gas/config/tc-i386.c 2002-08-02 21:13:18.000000000 +0200
-@@ -104,8 +104,10 @@ static void output_insn PARAMS ((void));
- static void output_branch PARAMS ((void));
- static void output_jump PARAMS ((void));
- static void output_interseg_jump PARAMS ((void));
--static void output_imm PARAMS ((void));
--static void output_disp PARAMS ((void));
-+static void output_imm PARAMS ((fragS *insn_start_frag,
-+ offsetT insn_start_off));
-+static void output_disp PARAMS ((fragS *insn_start_frag,
-+ offsetT insn_start_off));
- #ifndef I386COFF
- static void s_bss PARAMS ((int));
- #endif
-@@ -3101,14 +3103,21 @@ output_interseg_jump ()
- md_number_to_chars (p + size, (valueT) i.op[0].imms->X_add_number, 2);
- }
-
-+
- static void
- output_insn ()
- {
-+ fragS *insn_start_frag;
-+ offsetT insn_start_off;
-+
- /* Tie dwarf2 debug info to the address at the start of the insn.
- We can't do this after the insn has been output as the current
- frag may have been closed off. eg. by frag_var. */
- dwarf2_emit_insn (0);
-
-+ insn_start_frag = frag_now;
-+ insn_start_off = frag_now_fix ();
-+
- /* Output jumps. */
- if (i.tm.opcode_modifier & Jump)
- output_branch ();
-@@ -3179,10 +3188,10 @@ output_insn ()
- }
-
- if (i.disp_operands)
-- output_disp ();
-+ output_disp (insn_start_frag, insn_start_off);
-
- if (i.imm_operands)
-- output_imm ();
-+ output_imm (insn_start_frag, insn_start_off);
- }
-
- #ifdef DEBUG386
-@@ -3194,7 +3203,9 @@ output_insn ()
- }
-
- static void
--output_disp ()
-+output_disp (insn_start_frag, insn_start_off)
-+ fragS *insn_start_frag;
-+ offsetT insn_start_off;
- {
- char *p;
- unsigned int n;
-@@ -3224,6 +3235,7 @@ output_disp ()
- }
- else
- {
-+ RELOC_ENUM reloc_type;
- int size = 4;
- int sign = 0;
- int pcrel = (i.flags[n] & Operand_PCrel) != 0;
-@@ -3266,16 +3278,50 @@ output_disp ()
- }
-
- p = frag_more (size);
-+ reloc_type = reloc (size, pcrel, sign, i.reloc[n]);
-+#ifdef BFD_ASSEMBLER
-+ if (reloc_type == BFD_RELOC_32
-+ && GOT_symbol
-+ && GOT_symbol == i.op[n].disps->X_add_symbol
-+ && (i.op[n].disps->X_op == O_symbol
-+ || (i.op[n].disps->X_op == O_add
-+ && ((symbol_get_value_expression
-+ (i.op[n].disps->X_op_symbol)->X_op)
-+ == O_subtract))))
-+ {
-+ offsetT add;
-+
-+ if (insn_start_frag == frag_now)
-+ add = (p - frag_now->fr_literal) - insn_start_off;
-+ else
-+ {
-+ fragS *fr;
-+
-+ add = insn_start_frag->fr_fix - insn_start_off;
-+ for (fr = insn_start_frag->fr_next;
-+ fr && fr != frag_now; fr = fr->fr_next)
-+ add += fr->fr_fix;
-+ add += p - frag_now->fr_literal;
-+ }
-+
-+ /* We don't support dynamic linking on x86-64 yet. */
-+ if (flag_code == CODE_64BIT)
-+ abort ();
-+ reloc_type = BFD_RELOC_386_GOTPC;
-+ i.op[n].disps->X_add_number += add;
-+ }
-+#endif
- fix_new_exp (frag_now, p - frag_now->fr_literal, size,
-- i.op[n].disps, pcrel,
-- reloc (size, pcrel, sign, i.reloc[n]));
-+ i.op[n].disps, pcrel, reloc_type);
- }
- }
- }
- }
-
- static void
--output_imm ()
-+output_imm (insn_start_frag, insn_start_off)
-+ fragS *insn_start_frag;
-+ offsetT insn_start_off;
- {
- char *p;
- unsigned int n;
-@@ -3328,6 +3374,48 @@ output_imm ()
- p = frag_more (size);
- reloc_type = reloc (size, 0, sign, i.reloc[n]);
- #ifdef BFD_ASSEMBLER
-+ /* This is tough to explain. We end up with this one if we
-+ * have operands that look like
-+ * "_GLOBAL_OFFSET_TABLE_+[.-.L284]". The goal here is to
-+ * obtain the absolute address of the GOT, and it is strongly
-+ * preferable from a performance point of view to avoid using
-+ * a runtime relocation for this. The actual sequence of
-+ * instructions often look something like:
-+ *
-+ * call .L66
-+ * .L66:
-+ * popl %ebx
-+ * addl $_GLOBAL_OFFSET_TABLE_+[.-.L66],%ebx
-+ *
-+ * The call and pop essentially return the absolute address
-+ * of the label .L66 and store it in %ebx. The linker itself
-+ * will ultimately change the first operand of the addl so
-+ * that %ebx points to the GOT, but to keep things simple, the
-+ * .o file must have this operand set so that it generates not
-+ * the absolute address of .L66, but the absolute address of
-+ * itself. This allows the linker itself simply treat a GOTPC
-+ * relocation as asking for a pcrel offset to the GOT to be
-+ * added in, and the addend of the relocation is stored in the
-+ * operand field for the instruction itself.
-+ *
-+ * Our job here is to fix the operand so that it would add
-+ * the correct offset so that %ebx would point to itself. The
-+ * thing that is tricky is that .-.L66 will point to the
-+ * beginning of the instruction, so we need to further modify
-+ * the operand so that it will point to itself. There are
-+ * other cases where you have something like:
-+ *
-+ * .long $_GLOBAL_OFFSET_TABLE_+[.-.L66]
-+ *
-+ * and here no correction would be required. Internally in
-+ * the assembler we treat operands of this form as not being
-+ * pcrel since the '.' is explicitly mentioned, and I wonder
-+ * whether it would simplify matters to do it this way. Who
-+ * knows. In earlier versions of the PIC patches, the
-+ * pcrel_adjust field was used to store the correction, but
-+ * since the expression is not pcrel, I felt it would be
-+ * confusing to do it this way. */
-+
- if (reloc_type == BFD_RELOC_32
- && GOT_symbol
- && GOT_symbol == i.op[n].imms->X_add_symbol
-@@ -3337,11 +3425,26 @@ output_imm ()
- (i.op[n].imms->X_op_symbol)->X_op)
- == O_subtract))))
- {
-+ offsetT add;
-+
-+ if (insn_start_frag == frag_now)
-+ add = (p - frag_now->fr_literal) - insn_start_off;
-+ else
-+ {
-+ fragS *fr;
-+
-+ add = insn_start_frag->fr_fix - insn_start_off;
-+ for (fr = insn_start_frag->fr_next;
-+ fr && fr != frag_now; fr = fr->fr_next)
-+ add += fr->fr_fix;
-+ add += p - frag_now->fr_literal;
-+ }
-+
- /* We don't support dynamic linking on x86-64 yet. */
- if (flag_code == CODE_64BIT)
- abort ();
- reloc_type = BFD_RELOC_386_GOTPC;
-- i.op[n].imms->X_add_number += 3;
-+ i.op[n].imms->X_add_number += add;
- }
- #endif
- fix_new_exp (frag_now, p - frag_now->fr_literal, size,
-@@ -4542,48 +4645,6 @@ md_apply_fix3 (fixP, valP, seg)
- runtime we merely add the offset to the actual PLT entry. */
- value = -4;
- break;
-- case BFD_RELOC_386_GOTPC:
--
--/* This is tough to explain. We end up with this one if we have
-- * operands that look like "_GLOBAL_OFFSET_TABLE_+[.-.L284]". The goal
-- * here is to obtain the absolute address of the GOT, and it is strongly
-- * preferable from a performance point of view to avoid using a runtime
-- * relocation for this. The actual sequence of instructions often look
-- * something like:
-- *
-- * call .L66
-- * .L66:
-- * popl %ebx
-- * addl $_GLOBAL_OFFSET_TABLE_+[.-.L66],%ebx
-- *
-- * The call and pop essentially return the absolute address of
-- * the label .L66 and store it in %ebx. The linker itself will
-- * ultimately change the first operand of the addl so that %ebx points to
-- * the GOT, but to keep things simple, the .o file must have this operand
-- * set so that it generates not the absolute address of .L66, but the
-- * absolute address of itself. This allows the linker itself simply
-- * treat a GOTPC relocation as asking for a pcrel offset to the GOT to be
-- * added in, and the addend of the relocation is stored in the operand
-- * field for the instruction itself.
-- *
-- * Our job here is to fix the operand so that it would add the correct
-- * offset so that %ebx would point to itself. The thing that is tricky is
-- * that .-.L66 will point to the beginning of the instruction, so we need
-- * to further modify the operand so that it will point to itself.
-- * There are other cases where you have something like:
-- *
-- * .long $_GLOBAL_OFFSET_TABLE_+[.-.L66]
-- *
-- * and here no correction would be required. Internally in the assembler
-- * we treat operands of this form as not being pcrel since the '.' is
-- * explicitly mentioned, and I wonder whether it would simplify matters
-- * to do it this way. Who knows. In earlier versions of the PIC patches,
-- * the pcrel_adjust field was used to store the correction, but since the
-- * expression is not pcrel, I felt it would be confusing to do it this
-- * way. */
--
-- value -= 1;
-- break;
- case BFD_RELOC_386_GOT32:
- case BFD_RELOC_386_TLS_GD:
- case BFD_RELOC_386_TLS_LDM:
---- binutils/gas/testsuite/gas/i386/gotpc.s.jj 2002-08-02 21:17:57.000000000 +0200
-+++ binutils/gas/testsuite/gas/i386/gotpc.s 2002-08-03 22:55:47.000000000 +0200
-@@ -0,0 +1,40 @@
-+ .text
-+test:
-+ addl $_GLOBAL_OFFSET_TABLE_+[.-test], %eax
-+ addl $_GLOBAL_OFFSET_TABLE_+[.-test], %ebx
-+ addl $_GLOBAL_OFFSET_TABLE_, %eax
-+ addl $_GLOBAL_OFFSET_TABLE_, %ebx
-+ leal _GLOBAL_OFFSET_TABLE+[.-test](%eax), %ebx
-+ leal _GLOBAL_OFFSET_TABLE+[.-test](%ebx), %eax
-+ leal _GLOBAL_OFFSET_TABLE+[.-test](%eax), %eax
-+ leal _GLOBAL_OFFSET_TABLE+[.-test](%ebx), %ebx
-+ subl $_GLOBAL_OFFSET_TABLE_+[.-test], %eax
-+ subl $_GLOBAL_OFFSET_TABLE_+[.-test], %ebx
-+ subl $_GLOBAL_OFFSET_TABLE_, %eax
-+ subl $_GLOBAL_OFFSET_TABLE_, %ebx
-+ orl $_GLOBAL_OFFSET_TABLE_+[.-test], %eax
-+ orl $_GLOBAL_OFFSET_TABLE_+[.-test], %ebx
-+ orl $_GLOBAL_OFFSET_TABLE_, %eax
-+ orl $_GLOBAL_OFFSET_TABLE_, %ebx
-+ movl $_GLOBAL_OFFSET_TABLE_+[.-test], %eax
-+ movl $_GLOBAL_OFFSET_TABLE_+[.-test], %ebx
-+ movl $_GLOBAL_OFFSET_TABLE_, %eax
-+ movl $_GLOBAL_OFFSET_TABLE_, %ebx
-+ movl $_GLOBAL_OFFSET_TABLE_+[.-test], foo
-+ movl $_GLOBAL_OFFSET_TABLE_+[.-test], %gs:foo
-+ gs; movl $_GLOBAL_OFFSET_TABLE_+[.-test], foo
-+ movl $_GLOBAL_OFFSET_TABLE_+[.-test], _GLOBAL_OFFSET_TABLE_
-+ movl _GLOBAL_OFFSET_TABLE_+[.-test], %eax
-+ movl _GLOBAL_OFFSET_TABLE_+[.-test], %ebx
-+ movl %eax, _GLOBAL_OFFSET_TABLE_+[.-test]
-+ movl %ebx, _GLOBAL_OFFSET_TABLE_+[.-test]
-+ movl %eax, %gs:_GLOBAL_OFFSET_TABLE_+[.-test]
-+ movl %ebx, %gs:_GLOBAL_OFFSET_TABLE_+[.-test]
-+ gs; movl %eax, _GLOBAL_OFFSET_TABLE_+[.-test]
-+ gs; movl %ebx, _GLOBAL_OFFSET_TABLE_+[.-test]
-+ leal _GLOBAL_OFFSET_TABLE_@GOTOFF(%ebx), %eax
-+ leal _GLOBAL_OFFSET_TABLE_@GOTOFF(%ebx), %ebx
-+ movl _GLOBAL_OFFSET_TABLE_@GOTOFF(%ebx), %eax
-+ movl _GLOBAL_OFFSET_TABLE_@GOTOFF(%ebx), %ebx
-+ .long _GLOBAL_OFFSET_TABLE_+[.-test]
-+ .long _GLOBAL_OFFSET_TABLE_@GOTOFF
---- binutils/gas/testsuite/gas/i386/gotpc.d.jj 2002-08-02 21:18:43.000000000 +0200
-+++ binutils/gas/testsuite/gas/i386/gotpc.d 2002-08-03 23:05:43.000000000 +0200
-@@ -0,0 +1,52 @@
-+#objdump: -drw
-+#name: i386 gotpc
-+
-+.*: +file format .*
-+
-+Disassembly of section .text:
-+
-+0+000 <test>:
-+ 0: 05 01 00 00 00 [ ]*add \$0x1,%eax 1: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 5: 81 c3 07 00 00 00 [ ]*add \$0x7,%ebx 7: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ b: 05 01 00 00 00 [ ]*add \$0x1,%eax c: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 10: 81 c3 02 00 00 00 [ ]*add \$0x2,%ebx 12: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 16: 8d 98 16 00 00 00 [ ]*lea 0x16\(%eax\),%ebx 18: (R_386_)?(dir)?32 _GLOBAL_OFFSET_TABLE
-+ 1c: 8d 83 1c 00 00 00 [ ]*lea 0x1c\(%ebx\),%eax 1e: (R_386_)?(dir)?32 _GLOBAL_OFFSET_TABLE
-+ 22: 8d 80 22 00 00 00 [ ]*lea 0x22\(%eax\),%eax 24: (R_386_)?(dir)?32 _GLOBAL_OFFSET_TABLE
-+ 28: 8d 9b 28 00 00 00 [ ]*lea 0x28\(%ebx\),%ebx 2a: (R_386_)?(dir)?32 _GLOBAL_OFFSET_TABLE
-+ 2e: 2d 2f 00 00 00 [ ]*sub \$0x2f,%eax 2f: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 33: 81 eb 35 00 00 00 [ ]*sub \$0x35,%ebx 35: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 39: 2d 01 00 00 00 [ ]*sub \$0x1,%eax 3a: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 3e: 81 eb 02 00 00 00 [ ]*sub \$0x2,%ebx 40: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 44: 0d 45 00 00 00 [ ]*or \$0x45,%eax 45: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 49: 81 cb 4b 00 00 00 [ ]*or \$0x4b,%ebx 4b: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 4f: 0d 01 00 00 00 [ ]*or \$0x1,%eax 50: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 54: 81 cb 02 00 00 00 [ ]*or \$0x2,%ebx 56: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 5a: b8 5b 00 00 00 [ ]*mov \$0x5b,%eax 5b: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 5f: bb 60 00 00 00 [ ]*mov \$0x60,%ebx 60: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 64: b8 01 00 00 00 [ ]*mov \$0x1,%eax 65: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 69: bb 01 00 00 00 [ ]*mov \$0x1,%ebx 6a: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 6e: c7 05 00 00 00 00 74 00 00 00 [ ]*movl \$0x74,0x0 70: (R_386_)?(dir)?32 foo
-+[ ]*74: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 78: 65 c7 05 00 00 00 00 7f 00 00 00 [ ]*movl \$0x7f,%gs:0x0 7b: (R_386_)?(dir)?32 foo
-+[ ]*7f: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 83: 65 c7 05 00 00 00 00 8a 00 00 00 [ ]*movl \$0x8a,%gs:0x0 86: (R_386_)?(dir)?32 foo
-+[ ]*8a: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 8e: c7 05 02 00 00 00 94 00 00 00 [ ]*movl \$0x94,0x2 90: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+[ ]*94: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 98: a1 99 00 00 00 [ ]*mov 0x99,%eax 99: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ 9d: 8b 1d 9f 00 00 00 [ ]*mov 0x9f,%ebx 9f: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ a3: a3 a4 00 00 00 [ ]*mov %eax,0xa4 a4: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ a8: 89 1d aa 00 00 00 [ ]*mov %ebx,0xaa aa: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ ae: 65 a3 b0 00 00 00 [ ]*mov %eax,%gs:0xb0 b0: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ b4: 65 89 1d b7 00 00 00 [ ]*mov %ebx,%gs:0xb7 b7: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ bb: 65 a3 bd 00 00 00 [ ]*mov %eax,%gs:0xbd bd: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ c1: 65 89 1d c4 00 00 00 [ ]*mov %ebx,%gs:0xc4 c4: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ c8: 8d 83 00 00 00 00 [ ]*lea 0x0\(%ebx\),%eax ca: (R_386_)?GOTOFF _GLOBAL_OFFSET_TABLE_
-+ ce: 8d 9b 00 00 00 00 [ ]*lea 0x0\(%ebx\),%ebx d0: (R_386_)?GOTOFF _GLOBAL_OFFSET_TABLE_
-+ d4: 8b 83 00 00 00 00 [ ]*mov 0x0\(%ebx\),%eax d6: (R_386_)?GOTOFF _GLOBAL_OFFSET_TABLE_
-+ da: 8b 9b 00 00 00 00 [ ]*mov 0x0\(%ebx\),%ebx dc: (R_386_)?GOTOFF _GLOBAL_OFFSET_TABLE_
-+ e0: e0 00 [ ]*loopne e2 <test\+0xe2> e0: (R_386_)?GOTPC _GLOBAL_OFFSET_TABLE_
-+ e2: 00 00 [ ]*add %al,\(%eax\)
-+ e4: 00 00 [ ]*add %al,\(%eax\) e4: (R_386_)?GOTOFF _GLOBAL_OFFSET_TABLE_
-+ ...
---- binutils/gas/testsuite/gas/i386/i386.exp.jj 2002-07-18 11:35:39.000000000 +0200
-+++ binutils/gas/testsuite/gas/i386/i386.exp 2002-08-02 21:57:46.000000000 +0200
-@@ -53,6 +53,7 @@ if [expr ([istarget "i*86-*-*"] || [ist
- run_dump_test "jump"
- run_dump_test "ssemmx2"
- run_dump_test "sse2"
-+ run_dump_test "gotpc"
-
- # PIC is only supported on ELF targets.
- if { ([istarget "*-*-elf*"] || [istarget "*-*-linux*"] )
-
diff --git a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-tpoff32.patch b/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-tpoff32.patch
deleted file mode 100644
index 511a11e..0000000
--- a/patches/binutils/2.13.90.0.2/rh62-binutils-2.13.90.0.2-tpoff32.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-2002-08-07 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
- for R_386_TLS_TPOFF32 relocs against symndx 0.
-
---- binutils/bfd/elf32-i386.c.jj 2002-07-30 16:14:55.000000000 +0200
-+++ binutils/bfd/elf32-i386.c 2002-08-07 23:41:48.000000000 +0200
-@@ -2561,13 +2567,17 @@ elf_i386_relocate_section (output_bfd, i
- outrel.r_offset = (htab->sgot->output_section->vma
- + htab->sgot->output_offset + off);
-
-- bfd_put_32 (output_bfd, 0,
-- htab->sgot->contents + off);
- indx = h && h->dynindx != -1 ? h->dynindx : 0;
- if (r_type == R_386_TLS_GD)
- dr_type = R_386_TLS_DTPMOD32;
- else
- dr_type = R_386_TLS_TPOFF32;
-+ if (dr_type == R_386_TLS_TPOFF32 && indx == 0)
-+ bfd_put_32 (output_bfd, relocation - dtpoff_base (info),
-+ htab->sgot->contents + off);
-+ else
-+ bfd_put_32 (output_bfd, 0,
-+ htab->sgot->contents + off);
- outrel.r_info = ELF32_R_INFO (indx, dr_type);
- loc = (Elf32_External_Rel *) htab->srelgot->contents;
- loc += htab->srelgot->reloc_count++;
diff --git a/patches/binutils/2.14.90.0.5/binutils-cross-demangler.patch b/patches/binutils/2.14.90.0.5/binutils-cross-demangler.patch
deleted file mode 100644
index ec701ce..0000000
--- a/patches/binutils/2.14.90.0.5/binutils-cross-demangler.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- orig/Makefile.in 2004-05-12 18:22:30.000000000 -0700
-+++ binutils-2.14.90.0.5/Makefile.in 2004-05-12 18:26:19.000000000 -0700
-@@ -24384,6 +24384,8 @@
- # Demangler depends on libiberty.
- configure-demangler: maybe-configure-libiberty
- all-demangler: maybe-all-libiberty
-+configure-build-demangler: maybe-configure-build-libiberty
-+all-build-demangler: maybe-all-build-libiberty
-
- # The new demangler, which is included in libiberty, is written in C++.
- # A working C++ compiler is required. For the target demangler, it may
diff --git a/patches/binutils/2.14.90.0.5/binutils-sh-relocs.patch b/patches/binutils/2.14.90.0.5/binutils-sh-relocs.patch
deleted file mode 100644
index ca0f2ac..0000000
--- a/patches/binutils/2.14.90.0.5/binutils-sh-relocs.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Message-Id: <200307311239.h6VCdNe27056@r-rr.iij4u.or.jp>
-To: dank@kegel.com
-Cc: kkojima@rr.iij4u.or.jp
-Subject: Re: Writing PIC version of __udivsi3_i4? (was: Re: "make tests" fails
- with "libc.so: text relocations used" in glibc-2.3.2 for sh4)
-In-Reply-To: Your message of "Wed, 30 Jul 2003 21:55:54 -0700"
- <3F28A15A.5010400@kegel.com>
-References: <3F28A15A.5010400@kegel.com>
-Date: Thu, 31 Jul 2003 21:47:38 +0900
-From: kaz Kojima <kkojima@rr.iij4u.or.jp>
-
-Dan Kegel <dank@kegel.com> wrote:
->> I'll give binutils-2.14.90.0.5 a shot, then.
->
-> No joy - same problem. Guess I'll take this up on binutils and/or libc-alpha.
-
-Please try the patch below, though it's a diff against the current
-binutils CVS.
-
-Regards,
- kaz
---
-diff -u3p ORIG/src/bfd/elf32-sh.c LOCAL/src/bfd/elf32-sh.c
---- src/bfd/elf32-sh.c.old Fri Jul 25 14:46:58 2003
-+++ src/bfd/elf32-sh.c Thu Jul 31 21:09:38 2003
-@@ -6497,8 +6497,10 @@ sh_elf_check_relocs (bfd *abfd, struct b
- sreloc, 2))
- return FALSE;
- }
-+#if 0
- if (sec->flags & SEC_READONLY)
- info->flags |= DF_TEXTREL;
-+#endif
- elf_section_data (sec)->sreloc = sreloc;
- }
-
-
-
diff --git a/patches/binutils/2.14.90.0.7/binutils-cross-demangler.patch b/patches/binutils/2.14.90.0.7/binutils-cross-demangler.patch
deleted file mode 100644
index ec701ce..0000000
--- a/patches/binutils/2.14.90.0.7/binutils-cross-demangler.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- orig/Makefile.in 2004-05-12 18:22:30.000000000 -0700
-+++ binutils-2.14.90.0.5/Makefile.in 2004-05-12 18:26:19.000000000 -0700
-@@ -24384,6 +24384,8 @@
- # Demangler depends on libiberty.
- configure-demangler: maybe-configure-libiberty
- all-demangler: maybe-all-libiberty
-+configure-build-demangler: maybe-configure-build-libiberty
-+all-build-demangler: maybe-all-build-libiberty
-
- # The new demangler, which is included in libiberty, is written in C++.
- # A working C++ compiler is required. For the target demangler, it may
diff --git a/patches/binutils/2.14.92/binutils-skip-comments.patch b/patches/binutils/2.14.92/binutils-skip-comments.patch
deleted file mode 100644
index 804a17e..0000000
--- a/patches/binutils/2.14.92/binutils-skip-comments.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -1,6 +1,6 @@
- /* read.c - read a source file -
- Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-- 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This file is part of GAS, the GNU Assembler.
-
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/patches/binutils/2.14.92/gccpr15247-fix.patch b/patches/binutils/2.14.92/gccpr15247-fix.patch
deleted file mode 100644
index 967bf7f..0000000
--- a/patches/binutils/2.14.92/gccpr15247-fix.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-See
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15247
-
-Fixes spurious error
-/tmp/ccvNi4ou.s: Assembler messages:
-/tmp/ccvNi4ou.s:2310: Error: Illegal operands: There are only 32 single precision f registers; [0-31]
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc10/build/sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/math/dosincos.o] Error 1
-
-when compiling glibc's dosincos.c with gcc-3.4.0
-
-===================================================================
-RCS file: /cvs/src/src/opcodes/sparc-opc.c,v
-retrieving revision 1.9
-retrieving revision 1.10
-diff -u -r1.9 -r1.10
---- src/opcodes/sparc-opc.c 2004/01/18 23:46:32 1.9
-+++ src/opcodes/sparc-opc.c 2004/04/20 10:23:51 1.10
-@@ -1273,110 +1273,72 @@
- #define FM_DF 2 /* v9 */
- #define FM_QF 3 /* v9 */
-
--#define fmovicc(opcode, fpsize, cond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags, v9 }
--
--#define fmovfcc(opcode, fpsize, fcond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags, v9 }
-+#define fmoviccx(opcode, fpsize, args, cond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags, v9 }
-+
-+#define fmovfccx(opcode, fpsize, args, fcond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags, v9 }
-
- /* FIXME: use fmovicc/fmovfcc? */ /* v9 */
--#define fmovcc(opcode, fpsize, cond, fcond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags | F_FLOAT, v9 }
--
--/* v9 */ fmovcc ("fmovda", FM_DF, CONDA, FCONDA, 0),
--/* v9 */ fmovcc ("fmovqa", FM_QF, CONDA, FCONDA, 0),
--/* v9 */ fmovcc ("fmovsa", FM_SF, CONDA, FCONDA, 0),
--/* v9 */ fmovicc ("fmovdcc", FM_DF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovqcc", FM_QF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovscc", FM_SF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovdcs", FM_DF, CONDCS, 0),
--/* v9 */ fmovicc ("fmovqcs", FM_QF, CONDCS, 0),
--/* v9 */ fmovicc ("fmovscs", FM_SF, CONDCS, 0),
--/* v9 */ fmovcc ("fmovde", FM_DF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovqe", FM_QF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovse", FM_SF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovdg", FM_DF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovqg", FM_QF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovsg", FM_SF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovdge", FM_DF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovcc ("fmovqge", FM_QF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovcc ("fmovsge", FM_SF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovicc ("fmovdgeu", FM_DF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovqgeu", FM_QF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovsgeu", FM_SF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovdgu", FM_DF, CONDGU, 0),
--/* v9 */ fmovicc ("fmovqgu", FM_QF, CONDGU, 0),
--/* v9 */ fmovicc ("fmovsgu", FM_SF, CONDGU, 0),
--/* v9 */ fmovcc ("fmovdl", FM_DF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovql", FM_QF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovsl", FM_SF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovdle", FM_DF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovcc ("fmovqle", FM_QF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovcc ("fmovsle", FM_SF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovicc ("fmovdleu", FM_DF, CONDLEU, 0),
--/* v9 */ fmovicc ("fmovqleu", FM_QF, CONDLEU, 0),
--/* v9 */ fmovicc ("fmovsleu", FM_SF, CONDLEU, 0),
--/* v9 */ fmovfcc ("fmovdlg", FM_DF, FCONDLG, 0),
--/* v9 */ fmovfcc ("fmovqlg", FM_QF, FCONDLG, 0),
--/* v9 */ fmovfcc ("fmovslg", FM_SF, FCONDLG, 0),
--/* v9 */ fmovicc ("fmovdlu", FM_DF, CONDLU, F_ALIAS),
--/* v9 */ fmovicc ("fmovqlu", FM_QF, CONDLU, F_ALIAS),
--/* v9 */ fmovicc ("fmovslu", FM_SF, CONDLU, F_ALIAS),
--/* v9 */ fmovcc ("fmovdn", FM_DF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovqn", FM_QF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovsn", FM_SF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovdne", FM_DF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovcc ("fmovqne", FM_QF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovcc ("fmovsne", FM_SF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovicc ("fmovdneg", FM_DF, CONDNEG, 0),
--/* v9 */ fmovicc ("fmovqneg", FM_QF, CONDNEG, 0),
--/* v9 */ fmovicc ("fmovsneg", FM_SF, CONDNEG, 0),
--/* v9 */ fmovcc ("fmovdnz", FM_DF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovqnz", FM_QF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovsnz", FM_SF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovfcc ("fmovdo", FM_DF, FCONDO, 0),
--/* v9 */ fmovfcc ("fmovqo", FM_QF, FCONDO, 0),
--/* v9 */ fmovfcc ("fmovso", FM_SF, FCONDO, 0),
--/* v9 */ fmovicc ("fmovdpos", FM_DF, CONDPOS, 0),
--/* v9 */ fmovicc ("fmovqpos", FM_QF, CONDPOS, 0),
--/* v9 */ fmovicc ("fmovspos", FM_SF, CONDPOS, 0),
--/* v9 */ fmovfcc ("fmovdu", FM_DF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovqu", FM_QF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovsu", FM_SF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovdue", FM_DF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovque", FM_QF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovsue", FM_SF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovdug", FM_DF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovqug", FM_QF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovsug", FM_SF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovduge", FM_DF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovquge", FM_QF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovsuge", FM_SF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovdul", FM_DF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovqul", FM_QF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovsul", FM_SF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovdule", FM_DF, FCONDULE, 0),
--/* v9 */ fmovfcc ("fmovqule", FM_QF, FCONDULE, 0),
--/* v9 */ fmovfcc ("fmovsule", FM_SF, FCONDULE, 0),
--/* v9 */ fmovicc ("fmovdvc", FM_DF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovqvc", FM_QF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovsvc", FM_SF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovdvs", FM_DF, CONDVS, 0),
--/* v9 */ fmovicc ("fmovqvs", FM_QF, CONDVS, 0),
--/* v9 */ fmovicc ("fmovsvs", FM_SF, CONDVS, 0),
--/* v9 */ fmovcc ("fmovdz", FM_DF, CONDZ, FCONDZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovqz", FM_QF, CONDZ, FCONDZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovsz", FM_SF, CONDZ, FCONDZ, F_ALIAS),
--
-+#define fmovccx(opcode, fpsize, args, cond, fcond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags | F_FLOAT, v9 }
-+
-+#define fmovicc(suffix, cond, flags) /* v9 */ \
-+fmoviccx("fmovd" suffix, FM_DF, "B,H", cond, flags), \
-+fmoviccx("fmovq" suffix, FM_QF, "R,J", cond, flags), \
-+fmoviccx("fmovs" suffix, FM_SF, "f,g", cond, flags)
-+
-+#define fmovfcc(suffix, fcond, flags) /* v9 */ \
-+fmovfccx("fmovd" suffix, FM_DF, "B,H", fcond, flags), \
-+fmovfccx("fmovq" suffix, FM_QF, "R,J", fcond, flags), \
-+fmovfccx("fmovs" suffix, FM_SF, "f,g", fcond, flags)
-+
-+#define fmovcc(suffix, cond, fcond, flags) /* v9 */ \
-+fmovccx("fmovd" suffix, FM_DF, "B,H", cond, fcond, flags), \
-+fmovccx("fmovq" suffix, FM_QF, "R,J", cond, fcond, flags), \
-+fmovccx("fmovs" suffix, FM_SF, "f,g", cond, fcond, flags)
-+
-+/* v9 */ fmovcc ("a", CONDA, FCONDA, 0),
-+/* v9 */ fmovicc ("cc", CONDCC, 0),
-+/* v9 */ fmovicc ("cs", CONDCS, 0),
-+/* v9 */ fmovcc ("e", CONDE, FCONDE, 0),
-+/* v9 */ fmovcc ("g", CONDG, FCONDG, 0),
-+/* v9 */ fmovcc ("ge", CONDGE, FCONDGE, 0),
-+/* v9 */ fmovicc ("geu", CONDGEU, F_ALIAS),
-+/* v9 */ fmovicc ("gu", CONDGU, 0),
-+/* v9 */ fmovcc ("l", CONDL, FCONDL, 0),
-+/* v9 */ fmovcc ("le", CONDLE, FCONDLE, 0),
-+/* v9 */ fmovicc ("leu", CONDLEU, 0),
-+/* v9 */ fmovfcc ("lg", FCONDLG, 0),
-+/* v9 */ fmovicc ("lu", CONDLU, F_ALIAS),
-+/* v9 */ fmovcc ("n", CONDN, FCONDN, 0),
-+/* v9 */ fmovcc ("ne", CONDNE, FCONDNE, 0),
-+/* v9 */ fmovicc ("neg", CONDNEG, 0),
-+/* v9 */ fmovcc ("nz", CONDNZ, FCONDNZ, F_ALIAS),
-+/* v9 */ fmovfcc ("o", FCONDO, 0),
-+/* v9 */ fmovicc ("pos", CONDPOS, 0),
-+/* v9 */ fmovfcc ("u", FCONDU, 0),
-+/* v9 */ fmovfcc ("ue", FCONDUE, 0),
-+/* v9 */ fmovfcc ("ug", FCONDUG, 0),
-+/* v9 */ fmovfcc ("uge", FCONDUGE, 0),
-+/* v9 */ fmovfcc ("ul", FCONDUL, 0),
-+/* v9 */ fmovfcc ("ule", FCONDULE, 0),
-+/* v9 */ fmovicc ("vc", CONDVC, 0),
-+/* v9 */ fmovicc ("vs", CONDVS, 0),
-+/* v9 */ fmovcc ("z", CONDZ, FCONDZ, F_ALIAS),
-+
-+#undef fmoviccx /* v9 */
-+#undef fmovfccx /* v9 */
-+#undef fmovccx /* v9 */
- #undef fmovicc /* v9 */
- #undef fmovfcc /* v9 */
- #undef fmovcc /* v9 */
diff --git a/patches/binutils/2.15.90.0.3/binutils-20040817-linkonce.patch b/patches/binutils/2.15.90.0.3/binutils-20040817-linkonce.patch
deleted file mode 100644
index 97fa6ee..0000000
--- a/patches/binutils/2.15.90.0.3/binutils-20040817-linkonce.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From http://sources.redhat.com/ml/binutils/2004-08/msg00190.html
-
-Date: Tue, 17 Aug 2004 12:04:29 +0200
-From: Jakub Jelinek <jakub at redhat dot com>
-To: binutils at sources dot redhat dot com
-Subject: [PATCH] Fix `defined in discarded section' errors when building ia64 gcc
-Message-ID: <20040817100429.GL30497@sunsite.ms.mff.cuni.cz>
-Reply-To: Jakub Jelinek <jakub at redhat dot com>
-References: <20040817090201.GK30497@sunsite.ms.mff.cuni.cz>
-In-Reply-To: <20040817090201 dot GK30497 at sunsite dot ms dot mff dot cuni dot cz>
-
-On Tue, Aug 17, 2004 at 11:02:01AM +0200, Jakub Jelinek wrote:
-> Current gcc 3.4.x (at least gcc-3_4-rhl-branch) doesn't build with CVS
-> binutils (nor 2.15.91.0.2).
-> The problem is that libstdc++.so linking fails with:
-> `.gnu.linkonce.t._ZNSdD2Ev' referenced in section `.gnu.linkonce.ia64unw._ZNSdD2Ev' of .libs/sstream-inst.o: defined in discarded section `.gnu.linkonce.t._ZNSdD2Ev' of .libs/sstream-inst.o
-> The problem is that both io-inst.s and sstream-inst.s have
-> .gnu.linkonce.t._ZNSdD2Ev definition, but because io-inst.cc
-> also instantiates some templates sstream-inst.cc doesn't instantiate,
-> the inliner can do a better job in io-inst.cc.
-> The result is that _ZNSdD2Ev in io-inst.cc is a leaf routine, while
-> it is not in sstream-inst.cc (in assembly,
-> _ZNSdD2Ev in io-inst.s starts with .prologue and no .save directives,
-> while _ZNSdD2Ev] in sstream-inst.s has .prologue 12, 35 and some
-> .save directives.
-> IA-64 ABI allows leaf routines to have no unwind section at all,
-> which means .gnu.linkonce.ia64unw._ZNSdD2Ev is not created in
-> io-inst.o at all and as .gnu.linkonce.t._ZNSdD2Ev comes first
-> and wins, .gnu.linkonce.ia64unw._ZNSdD2Ev in sstream.o suddenly
-> references a discarded section.
->
-> Not sure what should be done here, but certainly the compiler
-> isn't at fault here, it is a binutils problem.
-> One fix could be to create empty .gnu.linkonce.ia64unw.* section
-> in assembler, another special case ia64 unwind sections in the linker.
-
-Here is a patch for the first possibility.
-It certainly makes libstdc++.so to link and even the unwind info looks
-good on brief skimming.
-
-2004-08-17 Jakub Jelinek <jakub@redhat.com>
-
- * config/tc-ia64.c (start_unwind_section): Add linkonce_empty
- argument, don't do anything if current section is not
- .gnu.linkonce.t.* and linkonce_empty is set.
- (generate_unwind_image, dot_endp): Adjust callers, call
- start_unwind_section (*, 1) if nothing will be put into the
- section.
-
---- binutils/gas/config/tc-ia64.c.jj 2004-07-30 11:42:24.000000000 +0200
-+++ binutils/gas/config/tc-ia64.c 2004-08-17 13:45:04.288173205 +0200
-@@ -1,5 +1,6 @@
- /* tc-ia64.c -- Assembler for the HP/Intel IA-64 architecture.
-- Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
-+ Free Software Foundation, Inc.
- Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
- This file is part of GAS, the GNU Assembler.
-@@ -3297,7 +3298,7 @@ static char *special_linkonce_name[] =
- };
-
- static void
--start_unwind_section (const segT text_seg, int sec_index)
-+start_unwind_section (const segT text_seg, int sec_index, int linkonce_empty)
- {
- /*
- Use a slightly ugly scheme to derive the unwind section names from
-@@ -3359,6 +3360,8 @@ start_unwind_section (const segT text_se
- prefix = special_linkonce_name [sec_index - SPECIAL_SECTION_UNWIND];
- suffix += sizeof (".gnu.linkonce.t.") - 1;
- }
-+ else if (linkonce_empty)
-+ return;
-
- prefix_len = strlen (prefix);
- suffix_len = strlen (suffix);
-@@ -3444,7 +3447,7 @@ generate_unwind_image (const segT text_s
- expressionS exp;
- bfd_reloc_code_real_type reloc;
-
-- start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO);
-+ start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO, 0);
-
- /* Make sure the section has 4 byte alignment for ILP32 and
- 8 byte alignment for LP64. */
-@@ -3485,6 +3488,8 @@ generate_unwind_image (const segT text_s
- unwind.personality_routine = 0;
- }
- }
-+ else
-+ start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO, 1);
-
- free_saved_prologue_counts ();
- unwind.list = unwind.tail = unwind.current_entry = NULL;
-@@ -4164,7 +4169,7 @@ dot_endp (dummy)
- subseg_set (md.last_text_seg, 0);
- unwind.proc_end = expr_build_dot ();
-
-- start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND);
-+ start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND, 0);
-
- /* Make sure that section has 4 byte alignment for ILP32 and
- 8 byte alignment for LP64. */
-@@ -4204,6 +4209,9 @@ dot_endp (dummy)
- bytes_per_address);
-
- }
-+ else
-+ start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND, 1);
-+
- subseg_set (saved_seg, saved_subseg);
-
- /* Parse names of main and alternate entry points and set symbol sizes. */
-
-
- Jakub
-
diff --git a/patches/binutils/2.15.90.0.3/binutils-20040820-duplicates.patch b/patches/binutils/2.15.90.0.3/binutils-20040820-duplicates.patch
deleted file mode 100644
index 03f6453..0000000
--- a/patches/binutils/2.15.90.0.3/binutils-20040820-duplicates.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-See http://sources.redhat.com/ml/binutils/2004-08/msg00256.html
-
-Date: Fri, 20 Aug 2004 21:13:43 -0400
-From: Daniel Jacobowitz <drow at false dot org>
-To: binutils at sources dot redhat dot com
-Subject: Re: Handle SEC_LINK_DUPLICATES_SAME_CONTENTS for arm-linux
-Message-ID: <20040821011342.GA30319@nevyn.them.org>
-Mail-Followup-To: binutils at sources dot redhat dot com
-References: <20040818145518.GA9774@nevyn.them.org> <20040819055040.GA11820@lucon.org> <20040819080034.GE21716@bubble.modra.org> <20040820173240.GA17678@nevyn.them.org> <20040821003737.GB16016@bubble.modra.org>
-In-Reply-To: <20040821003737 dot GB16016 at bubble dot modra dot org>
-
-On Sat, Aug 21, 2004 at 10:07:38AM +0930, Alan Modra wrote:
-> On Fri, Aug 20, 2004 at 01:32:40PM -0400, Daniel Jacobowitz wrote:
-> > Thanks. How's this?
->
-> As you might have guessed from my rather slack review of your previous
-> patch, I trust you enough to give the OK without proper review. But
-> since you asked... :)
-
-Checked in as so.
-
---
-Daniel Jacobowitz
-
-2004-08-20 Daniel Jacobowitz <dan@debian.org>
-
- * elflink.c (_bfd_elf_section_already_linked): Handle
- SEC_LINK_DUPLICATES_SAME_CONTENTS.
-
-Index: elflink.c
-===================================================================
-RCS file: /big/fsf/rsync/src-cvs/src/bfd/elflink.c,v
-retrieving revision 1.97
-diff -u -p -r1.97 elflink.c
---- binutils/bfd/elflink.c 18 Aug 2004 02:45:42 -0000 1.97
-+++ binutils/bfd/elflink.c 21 Aug 2004 00:59:08 -0000
-@@ -9366,6 +9366,36 @@ _bfd_elf_section_already_linked (bfd *ab
- (_("%B: duplicate section `%A' has different size\n"),
- abfd, sec);
- break;
-+
-+ case SEC_LINK_DUPLICATES_SAME_CONTENTS:
-+ if (sec->size != l->sec->size)
-+ (*_bfd_error_handler)
-+ (_("%B: duplicate section `%A' has different size\n"),
-+ abfd, sec);
-+ else if (sec->size != 0)
-+ {
-+ bfd_byte *sec_contents, *l_sec_contents;
-+
-+ if (!bfd_malloc_and_get_section (abfd, sec, &sec_contents))
-+ (*_bfd_error_handler)
-+ (_("%B: warning: could not read contents of section `%A'\n"),
-+ abfd, sec);
-+ else if (!bfd_malloc_and_get_section (l->sec->owner, l->sec,
-+ &l_sec_contents))
-+ (*_bfd_error_handler)
-+ (_("%B: warning: could not read contents of section `%A'\n"),
-+ l->sec->owner, l->sec);
-+ else if (memcmp (sec_contents, l_sec_contents, sec->size) != 0)
-+ (*_bfd_error_handler)
-+ (_("%B: warning: duplicate section `%A' has different contents\n"),
-+ abfd, sec);
-+
-+ if (sec_contents)
-+ free (sec_contents);
-+ if (l_sec_contents)
-+ free (l_sec_contents);
-+ }
-+ break;
- }
-
- /* Set the output_section field so that lang_add_section
-
diff --git a/patches/binutils/2.15.90.0.3/binutils-skip-comments.patch b/patches/binutils/2.15.90.0.3/binutils-skip-comments.patch
deleted file mode 100644
index 804a17e..0000000
--- a/patches/binutils/2.15.90.0.3/binutils-skip-comments.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -1,6 +1,6 @@
- /* read.c - read a source file -
- Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-- 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This file is part of GAS, the GNU Assembler.
-
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/patches/binutils/2.15.90.0.3/gccpr15247-fix.patch b/patches/binutils/2.15.90.0.3/gccpr15247-fix.patch
deleted file mode 100644
index 967bf7f..0000000
--- a/patches/binutils/2.15.90.0.3/gccpr15247-fix.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-See
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15247
-
-Fixes spurious error
-/tmp/ccvNi4ou.s: Assembler messages:
-/tmp/ccvNi4ou.s:2310: Error: Illegal operands: There are only 32 single precision f registers; [0-31]
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc10/build/sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/math/dosincos.o] Error 1
-
-when compiling glibc's dosincos.c with gcc-3.4.0
-
-===================================================================
-RCS file: /cvs/src/src/opcodes/sparc-opc.c,v
-retrieving revision 1.9
-retrieving revision 1.10
-diff -u -r1.9 -r1.10
---- src/opcodes/sparc-opc.c 2004/01/18 23:46:32 1.9
-+++ src/opcodes/sparc-opc.c 2004/04/20 10:23:51 1.10
-@@ -1273,110 +1273,72 @@
- #define FM_DF 2 /* v9 */
- #define FM_QF 3 /* v9 */
-
--#define fmovicc(opcode, fpsize, cond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags, v9 }
--
--#define fmovfcc(opcode, fpsize, fcond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags, v9 }, \
--{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags, v9 }
-+#define fmoviccx(opcode, fpsize, args, cond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags, v9 }
-+
-+#define fmovfccx(opcode, fpsize, args, fcond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags, v9 }
-
- /* FIXME: use fmovicc/fmovfcc? */ /* v9 */
--#define fmovcc(opcode, fpsize, cond, fcond, flags) /* v9 */ \
--{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags | F_FLOAT, v9 }, \
--{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags | F_FLOAT, v9 }
--
--/* v9 */ fmovcc ("fmovda", FM_DF, CONDA, FCONDA, 0),
--/* v9 */ fmovcc ("fmovqa", FM_QF, CONDA, FCONDA, 0),
--/* v9 */ fmovcc ("fmovsa", FM_SF, CONDA, FCONDA, 0),
--/* v9 */ fmovicc ("fmovdcc", FM_DF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovqcc", FM_QF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovscc", FM_SF, CONDCC, 0),
--/* v9 */ fmovicc ("fmovdcs", FM_DF, CONDCS, 0),
--/* v9 */ fmovicc ("fmovqcs", FM_QF, CONDCS, 0),
--/* v9 */ fmovicc ("fmovscs", FM_SF, CONDCS, 0),
--/* v9 */ fmovcc ("fmovde", FM_DF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovqe", FM_QF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovse", FM_SF, CONDE, FCONDE, 0),
--/* v9 */ fmovcc ("fmovdg", FM_DF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovqg", FM_QF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovsg", FM_SF, CONDG, FCONDG, 0),
--/* v9 */ fmovcc ("fmovdge", FM_DF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovcc ("fmovqge", FM_QF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovcc ("fmovsge", FM_SF, CONDGE, FCONDGE, 0),
--/* v9 */ fmovicc ("fmovdgeu", FM_DF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovqgeu", FM_QF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovsgeu", FM_SF, CONDGEU, F_ALIAS),
--/* v9 */ fmovicc ("fmovdgu", FM_DF, CONDGU, 0),
--/* v9 */ fmovicc ("fmovqgu", FM_QF, CONDGU, 0),
--/* v9 */ fmovicc ("fmovsgu", FM_SF, CONDGU, 0),
--/* v9 */ fmovcc ("fmovdl", FM_DF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovql", FM_QF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovsl", FM_SF, CONDL, FCONDL, 0),
--/* v9 */ fmovcc ("fmovdle", FM_DF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovcc ("fmovqle", FM_QF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovcc ("fmovsle", FM_SF, CONDLE, FCONDLE, 0),
--/* v9 */ fmovicc ("fmovdleu", FM_DF, CONDLEU, 0),
--/* v9 */ fmovicc ("fmovqleu", FM_QF, CONDLEU, 0),
--/* v9 */ fmovicc ("fmovsleu", FM_SF, CONDLEU, 0),
--/* v9 */ fmovfcc ("fmovdlg", FM_DF, FCONDLG, 0),
--/* v9 */ fmovfcc ("fmovqlg", FM_QF, FCONDLG, 0),
--/* v9 */ fmovfcc ("fmovslg", FM_SF, FCONDLG, 0),
--/* v9 */ fmovicc ("fmovdlu", FM_DF, CONDLU, F_ALIAS),
--/* v9 */ fmovicc ("fmovqlu", FM_QF, CONDLU, F_ALIAS),
--/* v9 */ fmovicc ("fmovslu", FM_SF, CONDLU, F_ALIAS),
--/* v9 */ fmovcc ("fmovdn", FM_DF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovqn", FM_QF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovsn", FM_SF, CONDN, FCONDN, 0),
--/* v9 */ fmovcc ("fmovdne", FM_DF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovcc ("fmovqne", FM_QF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovcc ("fmovsne", FM_SF, CONDNE, FCONDNE, 0),
--/* v9 */ fmovicc ("fmovdneg", FM_DF, CONDNEG, 0),
--/* v9 */ fmovicc ("fmovqneg", FM_QF, CONDNEG, 0),
--/* v9 */ fmovicc ("fmovsneg", FM_SF, CONDNEG, 0),
--/* v9 */ fmovcc ("fmovdnz", FM_DF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovqnz", FM_QF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovsnz", FM_SF, CONDNZ, FCONDNZ, F_ALIAS),
--/* v9 */ fmovfcc ("fmovdo", FM_DF, FCONDO, 0),
--/* v9 */ fmovfcc ("fmovqo", FM_QF, FCONDO, 0),
--/* v9 */ fmovfcc ("fmovso", FM_SF, FCONDO, 0),
--/* v9 */ fmovicc ("fmovdpos", FM_DF, CONDPOS, 0),
--/* v9 */ fmovicc ("fmovqpos", FM_QF, CONDPOS, 0),
--/* v9 */ fmovicc ("fmovspos", FM_SF, CONDPOS, 0),
--/* v9 */ fmovfcc ("fmovdu", FM_DF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovqu", FM_QF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovsu", FM_SF, FCONDU, 0),
--/* v9 */ fmovfcc ("fmovdue", FM_DF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovque", FM_QF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovsue", FM_SF, FCONDUE, 0),
--/* v9 */ fmovfcc ("fmovdug", FM_DF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovqug", FM_QF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovsug", FM_SF, FCONDUG, 0),
--/* v9 */ fmovfcc ("fmovduge", FM_DF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovquge", FM_QF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovsuge", FM_SF, FCONDUGE, 0),
--/* v9 */ fmovfcc ("fmovdul", FM_DF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovqul", FM_QF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovsul", FM_SF, FCONDUL, 0),
--/* v9 */ fmovfcc ("fmovdule", FM_DF, FCONDULE, 0),
--/* v9 */ fmovfcc ("fmovqule", FM_QF, FCONDULE, 0),
--/* v9 */ fmovfcc ("fmovsule", FM_SF, FCONDULE, 0),
--/* v9 */ fmovicc ("fmovdvc", FM_DF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovqvc", FM_QF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovsvc", FM_SF, CONDVC, 0),
--/* v9 */ fmovicc ("fmovdvs", FM_DF, CONDVS, 0),
--/* v9 */ fmovicc ("fmovqvs", FM_QF, CONDVS, 0),
--/* v9 */ fmovicc ("fmovsvs", FM_SF, CONDVS, 0),
--/* v9 */ fmovcc ("fmovdz", FM_DF, CONDZ, FCONDZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovqz", FM_QF, CONDZ, FCONDZ, F_ALIAS),
--/* v9 */ fmovcc ("fmovsz", FM_SF, CONDZ, FCONDZ, F_ALIAS),
--
-+#define fmovccx(opcode, fpsize, args, cond, fcond, flags) /* v9 */ \
-+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags | F_FLOAT, v9 }, \
-+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags | F_FLOAT, v9 }
-+
-+#define fmovicc(suffix, cond, flags) /* v9 */ \
-+fmoviccx("fmovd" suffix, FM_DF, "B,H", cond, flags), \
-+fmoviccx("fmovq" suffix, FM_QF, "R,J", cond, flags), \
-+fmoviccx("fmovs" suffix, FM_SF, "f,g", cond, flags)
-+
-+#define fmovfcc(suffix, fcond, flags) /* v9 */ \
-+fmovfccx("fmovd" suffix, FM_DF, "B,H", fcond, flags), \
-+fmovfccx("fmovq" suffix, FM_QF, "R,J", fcond, flags), \
-+fmovfccx("fmovs" suffix, FM_SF, "f,g", fcond, flags)
-+
-+#define fmovcc(suffix, cond, fcond, flags) /* v9 */ \
-+fmovccx("fmovd" suffix, FM_DF, "B,H", cond, fcond, flags), \
-+fmovccx("fmovq" suffix, FM_QF, "R,J", cond, fcond, flags), \
-+fmovccx("fmovs" suffix, FM_SF, "f,g", cond, fcond, flags)
-+
-+/* v9 */ fmovcc ("a", CONDA, FCONDA, 0),
-+/* v9 */ fmovicc ("cc", CONDCC, 0),
-+/* v9 */ fmovicc ("cs", CONDCS, 0),
-+/* v9 */ fmovcc ("e", CONDE, FCONDE, 0),
-+/* v9 */ fmovcc ("g", CONDG, FCONDG, 0),
-+/* v9 */ fmovcc ("ge", CONDGE, FCONDGE, 0),
-+/* v9 */ fmovicc ("geu", CONDGEU, F_ALIAS),
-+/* v9 */ fmovicc ("gu", CONDGU, 0),
-+/* v9 */ fmovcc ("l", CONDL, FCONDL, 0),
-+/* v9 */ fmovcc ("le", CONDLE, FCONDLE, 0),
-+/* v9 */ fmovicc ("leu", CONDLEU, 0),
-+/* v9 */ fmovfcc ("lg", FCONDLG, 0),
-+/* v9 */ fmovicc ("lu", CONDLU, F_ALIAS),
-+/* v9 */ fmovcc ("n", CONDN, FCONDN, 0),
-+/* v9 */ fmovcc ("ne", CONDNE, FCONDNE, 0),
-+/* v9 */ fmovicc ("neg", CONDNEG, 0),
-+/* v9 */ fmovcc ("nz", CONDNZ, FCONDNZ, F_ALIAS),
-+/* v9 */ fmovfcc ("o", FCONDO, 0),
-+/* v9 */ fmovicc ("pos", CONDPOS, 0),
-+/* v9 */ fmovfcc ("u", FCONDU, 0),
-+/* v9 */ fmovfcc ("ue", FCONDUE, 0),
-+/* v9 */ fmovfcc ("ug", FCONDUG, 0),
-+/* v9 */ fmovfcc ("uge", FCONDUGE, 0),
-+/* v9 */ fmovfcc ("ul", FCONDUL, 0),
-+/* v9 */ fmovfcc ("ule", FCONDULE, 0),
-+/* v9 */ fmovicc ("vc", CONDVC, 0),
-+/* v9 */ fmovicc ("vs", CONDVS, 0),
-+/* v9 */ fmovcc ("z", CONDZ, FCONDZ, F_ALIAS),
-+
-+#undef fmoviccx /* v9 */
-+#undef fmovfccx /* v9 */
-+#undef fmovccx /* v9 */
- #undef fmovicc /* v9 */
- #undef fmovfcc /* v9 */
- #undef fmovcc /* v9 */
diff --git a/patches/binutils/2.15.91.0.2/binutils-20040817-linkonce.patch b/patches/binutils/2.15.91.0.2/binutils-20040817-linkonce.patch
deleted file mode 100644
index 97fa6ee..0000000
--- a/patches/binutils/2.15.91.0.2/binutils-20040817-linkonce.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From http://sources.redhat.com/ml/binutils/2004-08/msg00190.html
-
-Date: Tue, 17 Aug 2004 12:04:29 +0200
-From: Jakub Jelinek <jakub at redhat dot com>
-To: binutils at sources dot redhat dot com
-Subject: [PATCH] Fix `defined in discarded section' errors when building ia64 gcc
-Message-ID: <20040817100429.GL30497@sunsite.ms.mff.cuni.cz>
-Reply-To: Jakub Jelinek <jakub at redhat dot com>
-References: <20040817090201.GK30497@sunsite.ms.mff.cuni.cz>
-In-Reply-To: <20040817090201 dot GK30497 at sunsite dot ms dot mff dot cuni dot cz>
-
-On Tue, Aug 17, 2004 at 11:02:01AM +0200, Jakub Jelinek wrote:
-> Current gcc 3.4.x (at least gcc-3_4-rhl-branch) doesn't build with CVS
-> binutils (nor 2.15.91.0.2).
-> The problem is that libstdc++.so linking fails with:
-> `.gnu.linkonce.t._ZNSdD2Ev' referenced in section `.gnu.linkonce.ia64unw._ZNSdD2Ev' of .libs/sstream-inst.o: defined in discarded section `.gnu.linkonce.t._ZNSdD2Ev' of .libs/sstream-inst.o
-> The problem is that both io-inst.s and sstream-inst.s have
-> .gnu.linkonce.t._ZNSdD2Ev definition, but because io-inst.cc
-> also instantiates some templates sstream-inst.cc doesn't instantiate,
-> the inliner can do a better job in io-inst.cc.
-> The result is that _ZNSdD2Ev in io-inst.cc is a leaf routine, while
-> it is not in sstream-inst.cc (in assembly,
-> _ZNSdD2Ev in io-inst.s starts with .prologue and no .save directives,
-> while _ZNSdD2Ev] in sstream-inst.s has .prologue 12, 35 and some
-> .save directives.
-> IA-64 ABI allows leaf routines to have no unwind section at all,
-> which means .gnu.linkonce.ia64unw._ZNSdD2Ev is not created in
-> io-inst.o at all and as .gnu.linkonce.t._ZNSdD2Ev comes first
-> and wins, .gnu.linkonce.ia64unw._ZNSdD2Ev in sstream.o suddenly
-> references a discarded section.
->
-> Not sure what should be done here, but certainly the compiler
-> isn't at fault here, it is a binutils problem.
-> One fix could be to create empty .gnu.linkonce.ia64unw.* section
-> in assembler, another special case ia64 unwind sections in the linker.
-
-Here is a patch for the first possibility.
-It certainly makes libstdc++.so to link and even the unwind info looks
-good on brief skimming.
-
-2004-08-17 Jakub Jelinek <jakub@redhat.com>
-
- * config/tc-ia64.c (start_unwind_section): Add linkonce_empty
- argument, don't do anything if current section is not
- .gnu.linkonce.t.* and linkonce_empty is set.
- (generate_unwind_image, dot_endp): Adjust callers, call
- start_unwind_section (*, 1) if nothing will be put into the
- section.
-
---- binutils/gas/config/tc-ia64.c.jj 2004-07-30 11:42:24.000000000 +0200
-+++ binutils/gas/config/tc-ia64.c 2004-08-17 13:45:04.288173205 +0200
-@@ -1,5 +1,6 @@
- /* tc-ia64.c -- Assembler for the HP/Intel IA-64 architecture.
-- Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
-+ Free Software Foundation, Inc.
- Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
- This file is part of GAS, the GNU Assembler.
-@@ -3297,7 +3298,7 @@ static char *special_linkonce_name[] =
- };
-
- static void
--start_unwind_section (const segT text_seg, int sec_index)
-+start_unwind_section (const segT text_seg, int sec_index, int linkonce_empty)
- {
- /*
- Use a slightly ugly scheme to derive the unwind section names from
-@@ -3359,6 +3360,8 @@ start_unwind_section (const segT text_se
- prefix = special_linkonce_name [sec_index - SPECIAL_SECTION_UNWIND];
- suffix += sizeof (".gnu.linkonce.t.") - 1;
- }
-+ else if (linkonce_empty)
-+ return;
-
- prefix_len = strlen (prefix);
- suffix_len = strlen (suffix);
-@@ -3444,7 +3447,7 @@ generate_unwind_image (const segT text_s
- expressionS exp;
- bfd_reloc_code_real_type reloc;
-
-- start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO);
-+ start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO, 0);
-
- /* Make sure the section has 4 byte alignment for ILP32 and
- 8 byte alignment for LP64. */
-@@ -3485,6 +3488,8 @@ generate_unwind_image (const segT text_s
- unwind.personality_routine = 0;
- }
- }
-+ else
-+ start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO, 1);
-
- free_saved_prologue_counts ();
- unwind.list = unwind.tail = unwind.current_entry = NULL;
-@@ -4164,7 +4169,7 @@ dot_endp (dummy)
- subseg_set (md.last_text_seg, 0);
- unwind.proc_end = expr_build_dot ();
-
-- start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND);
-+ start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND, 0);
-
- /* Make sure that section has 4 byte alignment for ILP32 and
- 8 byte alignment for LP64. */
-@@ -4204,6 +4209,9 @@ dot_endp (dummy)
- bytes_per_address);
-
- }
-+ else
-+ start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND, 1);
-+
- subseg_set (saved_seg, saved_subseg);
-
- /* Parse names of main and alternate entry points and set symbol sizes. */
-
-
- Jakub
-
diff --git a/patches/binutils/2.15.91.0.2/binutils-dup-sections.patch b/patches/binutils/2.15.91.0.2/binutils-dup-sections.patch
deleted file mode 100644
index 4e4934d..0000000
--- a/patches/binutils/2.15.91.0.2/binutils-dup-sections.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-See http://sources.redhat.com/ml/binutils/2004-08/msg00256.html
-
-Date: Fri, 20 Aug 2004 21:13:43 -0400
-From: Daniel Jacobowitz <drow at false dot org>
-To: binutils at sources dot redhat dot com
-Subject: Re: Handle SEC_LINK_DUPLICATES_SAME_CONTENTS for arm-linux
-Message-ID: <20040821011342.GA30319@nevyn.them.org>
-Mail-Followup-To: binutils at sources dot redhat dot com
-References: <20040818145518.GA9774@nevyn.them.org> <20040819055040.GA11820@lucon.org> <20040819080034.GE21716@bubble.modra.org> <20040820173240.GA17678@nevyn.them.org> <20040821003737.GB16016@bubble.modra.org>
-In-Reply-To: <20040821003737 dot GB16016 at bubble dot modra dot org>
-
-On Sat, Aug 21, 2004 at 10:07:38AM +0930, Alan Modra wrote:
-> On Fri, Aug 20, 2004 at 01:32:40PM -0400, Daniel Jacobowitz wrote:
-> > Thanks. How's this?
->
-> As you might have guessed from my rather slack review of your previous
-> patch, I trust you enough to give the OK without proper review. But
-> since you asked... :)
-
-Checked in as so.
-
---
-Daniel Jacobowitz
-
-[ rediffed against binutils-2.15.91.0.2, with some elbow grease ]
-
-2004-08-20 Daniel Jacobowitz <dan@debian.org>
-
- * elflink.c (_bfd_elf_section_already_linked): Handle
- SEC_LINK_DUPLICATES_SAME_CONTENTS.
---- binutils-2.15.91.0.2/bfd/elflink.c.old 2004-07-27 21:36:08.000000000 -0700
-+++ binutils-2.15.91.0.2/bfd/elflink.c 2004-08-26 06:38:07.000000000 -0700
-@@ -9359,6 +9359,35 @@
- (_("%s: %s: warning: duplicate section `%s' has different size\n"),
- bfd_archive_filename (abfd), name);
- break;
-+ case SEC_LINK_DUPLICATES_SAME_CONTENTS:
-+ if (sec->size != l->sec->size)
-+ (*_bfd_error_handler)
-+ (_("%B: duplicate section `%A' has different size\n"),
-+ bfd_archive_filename (abfd), sec);
-+ else if (sec->size != 0)
-+ {
-+ bfd_byte *sec_contents, *l_sec_contents;
-+
-+ if (!bfd_malloc_and_get_section (abfd, sec, &sec_contents))
-+ (*_bfd_error_handler)
-+ (_("%B: warning: could not read contents of section `%A'\n"),
-+ bfd_archive_filename (abfd), sec);
-+ else if (!bfd_malloc_and_get_section (l->sec->owner, l->sec,
-+ &l_sec_contents))
-+ (*_bfd_error_handler)
-+ (_("%B: warning: could not read contents of section `%A'\n"),
-+ bfd_archive_filename(l->sec->owner), l->sec);
-+ else if (memcmp (sec_contents, l_sec_contents, sec->size) != 0)
-+ (*_bfd_error_handler)
-+ (_("%B: warning: duplicate section `%A' has different contents\n"),
-+ bfd_archive_filename (abfd), sec);
-+
-+ if (sec_contents)
-+ free (sec_contents);
-+ if (l_sec_contents)
-+ free (l_sec_contents);
-+ }
-+ break;
- }
-
- /* Set the output_section field so that lang_add_section
diff --git a/patches/binutils/2.15.91.0.2/binutils-skip-comments.patch b/patches/binutils/2.15.91.0.2/binutils-skip-comments.patch
deleted file mode 100644
index 804a17e..0000000
--- a/patches/binutils/2.15.91.0.2/binutils-skip-comments.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -1,6 +1,6 @@
- /* read.c - read a source file -
- Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-- 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This file is part of GAS, the GNU Assembler.
-
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/patches/binutils/2.17.50.0.8/100-uclibc-conf.patch b/patches/binutils/2.17.50.0.8/100-uclibc-conf.patch
deleted file mode 100644
index 25222e5..0000000
--- a/patches/binutils/2.17.50.0.8/100-uclibc-conf.patch
+++ /dev/null
@@ -1,139 +0,0 @@
---- binutils-2.16.91.0.7/bfd/configure
-+++ binutils-2.16.91.0.7/bfd/configure
-@@ -3576,7 +3576,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/binutils/configure
-+++ binutils-2.16.91.0.7/binutils/configure
-@@ -3411,7 +3411,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/configure
-+++ binutils-2.16.91.0.7/configure
-@@ -1270,7 +1270,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -1578,7 +1578,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[3456789]86-*-vsta) ;; # don't add gprof back in
- i[3456789]86-*-go32*) ;; # don't add gprof back in
---- binutils-2.16.91.0.7/configure.in
-+++ binutils-2.16.91.0.7/configure.in
-@@ -468,7 +468,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -776,7 +776,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[[3456789]]86-*-vsta) ;; # don't add gprof back in
- i[[3456789]]86-*-go32*) ;; # don't add gprof back in
---- binutils-2.16.91.0.7/gas/configure
-+++ binutils-2.16.91.0.7/gas/configure
-@@ -3411,7 +3411,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/gprof/configure
-+++ binutils-2.16.91.0.7/gprof/configure
-@@ -3419,6 +3419,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- binutils-2.16.91.0.7/ld/configure
-+++ binutils-2.16.91.0.7/ld/configure
-@@ -3413,7 +3413,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/libtool.m4
-+++ binutils-2.16.91.0.7/libtool.m4
-@@ -739,7 +739,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/ltconfig
-+++ binutils-2.16.91.0.7/ltconfig
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1247,7 +1248,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
---- binutils-2.16.91.0.7/opcodes/configure
-+++ binutils-2.16.91.0.7/opcodes/configure
-@@ -3579,7 +3579,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
diff --git a/patches/binutils/2.17.50.0.8/110-arm-eabi-conf.patch b/patches/binutils/2.17.50.0.8/110-arm-eabi-conf.patch
deleted file mode 100644
index be85ceb..0000000
--- a/patches/binutils/2.17.50.0.8/110-arm-eabi-conf.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -urN binutils-2.16.91.0.7.orig/configure binutils-2.16.91.0.7/configure
---- binutils-2.16.91.0.7.orig/configure 2006-05-31 14:54:24.000000000 +0300
-+++ binutils-2.16.91.0.7/configure 2006-05-31 14:55:53.000000000 +0300
-@@ -1299,7 +1299,7 @@
- arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- ;;
-- arm*-*-linux-gnueabi)
-+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- noconfigdirs="$noconfigdirs target-libjava target-libobjc"
- ;;
-diff -urN binutils-2.16.91.0.7.orig/configure.in binutils-2.16.91.0.7/configure.in
---- binutils-2.16.91.0.7.orig/configure.in 2006-05-31 14:54:24.000000000 +0300
-+++ binutils-2.16.91.0.7/configure.in 2006-05-31 14:55:53.000000000 +0300
-@@ -497,7 +497,7 @@
- arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- ;;
-- arm*-*-linux-gnueabi)
-+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- noconfigdirs="$noconfigdirs target-libjava target-libobjc"
- ;;
diff --git a/patches/binutils/2.17.50.0.8/300-001_ld_makefile_patch.patch b/patches/binutils/2.17.50.0.8/300-001_ld_makefile_patch.patch
deleted file mode 100644
index 04a7e61..0000000
--- a/patches/binutils/2.17.50.0.8/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
---- binutils-2.16.91.0.1/ld/Makefile.am
-+++ binutils-2.16.91.0.1/ld/Makefile.am
-@@ -20,7 +20,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
---- binutils-2.16.91.0.1/ld/Makefile.in
-+++ binutils-2.16.91.0.1/ld/Makefile.in
-@@ -268,7 +268,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
- BASEDIR = $(srcdir)/..
- BFDDIR = $(BASEDIR)/bfd
- INCDIR = $(BASEDIR)/include
diff --git a/patches/binutils/2.17.50.0.8/300-012_check_ldrunpath_length.patch b/patches/binutils/2.17.50.0.8/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a..0000000
--- a/patches/binutils/2.17.50.0.8/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -871,6 +873,8 @@
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
diff --git a/patches/binutils/2.17.50.0.9/100-uclibc-conf.patch b/patches/binutils/2.17.50.0.9/100-uclibc-conf.patch
deleted file mode 100644
index 25222e5..0000000
--- a/patches/binutils/2.17.50.0.9/100-uclibc-conf.patch
+++ /dev/null
@@ -1,139 +0,0 @@
---- binutils-2.16.91.0.7/bfd/configure
-+++ binutils-2.16.91.0.7/bfd/configure
-@@ -3576,7 +3576,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/binutils/configure
-+++ binutils-2.16.91.0.7/binutils/configure
-@@ -3411,7 +3411,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/configure
-+++ binutils-2.16.91.0.7/configure
-@@ -1270,7 +1270,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -1578,7 +1578,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[3456789]86-*-vsta) ;; # don't add gprof back in
- i[3456789]86-*-go32*) ;; # don't add gprof back in
---- binutils-2.16.91.0.7/configure.in
-+++ binutils-2.16.91.0.7/configure.in
-@@ -468,7 +468,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -776,7 +776,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[[3456789]]86-*-vsta) ;; # don't add gprof back in
- i[[3456789]]86-*-go32*) ;; # don't add gprof back in
---- binutils-2.16.91.0.7/gas/configure
-+++ binutils-2.16.91.0.7/gas/configure
-@@ -3411,7 +3411,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/gprof/configure
-+++ binutils-2.16.91.0.7/gprof/configure
-@@ -3419,6 +3419,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- binutils-2.16.91.0.7/ld/configure
-+++ binutils-2.16.91.0.7/ld/configure
-@@ -3413,7 +3413,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/libtool.m4
-+++ binutils-2.16.91.0.7/libtool.m4
-@@ -739,7 +739,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
---- binutils-2.16.91.0.7/ltconfig
-+++ binutils-2.16.91.0.7/ltconfig
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1247,7 +1248,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
---- binutils-2.16.91.0.7/opcodes/configure
-+++ binutils-2.16.91.0.7/opcodes/configure
-@@ -3579,7 +3579,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux-gnu*|linux-uclibc*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
diff --git a/patches/binutils/2.17.50.0.9/110-arm-eabi-conf.patch b/patches/binutils/2.17.50.0.9/110-arm-eabi-conf.patch
deleted file mode 100644
index be85ceb..0000000
--- a/patches/binutils/2.17.50.0.9/110-arm-eabi-conf.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -urN binutils-2.16.91.0.7.orig/configure binutils-2.16.91.0.7/configure
---- binutils-2.16.91.0.7.orig/configure 2006-05-31 14:54:24.000000000 +0300
-+++ binutils-2.16.91.0.7/configure 2006-05-31 14:55:53.000000000 +0300
-@@ -1299,7 +1299,7 @@
- arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- ;;
-- arm*-*-linux-gnueabi)
-+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- noconfigdirs="$noconfigdirs target-libjava target-libobjc"
- ;;
-diff -urN binutils-2.16.91.0.7.orig/configure.in binutils-2.16.91.0.7/configure.in
---- binutils-2.16.91.0.7.orig/configure.in 2006-05-31 14:54:24.000000000 +0300
-+++ binutils-2.16.91.0.7/configure.in 2006-05-31 14:55:53.000000000 +0300
-@@ -497,7 +497,7 @@
- arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- ;;
-- arm*-*-linux-gnueabi)
-+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
- noconfigdirs="$noconfigdirs target-libffi target-qthreads"
- noconfigdirs="$noconfigdirs target-libjava target-libobjc"
- ;;
diff --git a/patches/binutils/2.17.50.0.9/300-001_ld_makefile_patch.patch b/patches/binutils/2.17.50.0.9/300-001_ld_makefile_patch.patch
deleted file mode 100644
index 04a7e61..0000000
--- a/patches/binutils/2.17.50.0.9/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
---- binutils-2.16.91.0.1/ld/Makefile.am
-+++ binutils-2.16.91.0.1/ld/Makefile.am
-@@ -20,7 +20,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
---- binutils-2.16.91.0.1/ld/Makefile.in
-+++ binutils-2.16.91.0.1/ld/Makefile.in
-@@ -268,7 +268,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
- BASEDIR = $(srcdir)/..
- BFDDIR = $(BASEDIR)/bfd
- INCDIR = $(BASEDIR)/include
diff --git a/patches/binutils/2.17.50.0.9/300-012_check_ldrunpath_length.patch b/patches/binutils/2.17.50.0.9/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a..0000000
--- a/patches/binutils/2.17.50.0.9/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -871,6 +873,8 @@
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,