diff --git a/arm-ld-12643.diff b/arm-ld-12643.diff deleted file mode 100644 index 654a084..0000000 --- a/arm-ld-12643.diff +++ /dev/null @@ -1,29 +0,0 @@ ---- ld/configure.tgt -+++ ld/configure.tgt -@@ -71,7 +71,7 @@ - arm*-*-symbianelf*) targ_emul=armsymbian;; - arm-*-kaos*) targ_emul=armelf ;; - arm9e-*-elf) targ_emul=armelf ;; --arm*b-*-linux-*eabi) targ_emul=armelfb_linux_eabi -+arm*b-*-linux-*eabi*) targ_emul=armelfb_linux_eabi - targ_extra_emuls=armelf_linux_eabi - targ_extra_libpath=$targ_extra_emuls - ;; -@@ -79,7 +79,7 @@ - targ_extra_emuls="armelfb armelf armelf_linux" - targ_extra_libpath="armelf_linux" - ;; --arm*-*-linux-*eabi) targ_emul=armelf_linux_eabi -+arm*-*-linux-*eabi*) targ_emul=armelf_linux_eabi - targ_extra_emuls=armelfb_linux_eabi - targ_extra_libpath=$targ_extra_emuls - ;; -@@ -87,7 +87,7 @@ - targ_extra_emuls="armelf armelfb armelfb_linux" - targ_extra_libpath="armelfb_linux" - ;; --arm*-*-uclinux*eabi) targ_emul=armelf_linux_eabi -+arm*-*-uclinux*eabi*) targ_emul=armelf_linux_eabi - targ_extra_emuls=armelfb_linux_eabi - targ_extra_libpath=$targ_extra_emuls - ;; diff --git a/binutils-add-pep.diff b/binutils-add-pep.diff deleted file mode 100644 index fa5867c..0000000 --- a/binutils-add-pep.diff +++ /dev/null @@ -1,27 +0,0 @@ -Index: binutils-2.21.0/bfd/config.bfd -=================================================================== ---- binutils-2.21.0.orig/bfd/config.bfd 2011-04-01 14:04:23.000000000 +0200 -+++ binutils-2.21.0/bfd/config.bfd 2011-06-17 15:20:41.000000000 +0200 -@@ -641,7 +641,7 @@ case "${targ}" in - targ_selvecs="bfd_elf32_i386_vec i386linux_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec" - want64=true - ;; -- x86_64-*-mingw*) -+ x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep ) - targ_defvec=x86_64pe_vec - targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec i386pe_vec i386pei_vec bfd_elf32_i386_vec" - want64=true -Index: binutils-2.21.0/ld/configure.tgt -=================================================================== ---- binutils-2.21.0.orig/ld/configure.tgt 2011-04-01 14:04:28.000000000 +0200 -+++ binutils-2.21.0/ld/configure.tgt 2011-06-17 15:21:29.000000000 +0200 -@@ -278,6 +278,9 @@ i[3-7]86-*-cygwin*) targ_emul=i386pe ; - test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; - i[3-7]86-*-mingw32*) targ_emul=i386pe ; - targ_extra_ofiles="deffilep.o pe-dll.o" ;; -+x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ; -+ targ_extra_emuls=i386pe ; -+ targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; - x86_64-*-mingw*) targ_emul=i386pep ; - targ_extra_emuls=i386pe - targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; diff --git a/binutils-no-copy-dt-needed-default.patch b/binutils-no-copy-dt-needed-default.patch deleted file mode 100644 index 14279e4..0000000 --- a/binutils-no-copy-dt-needed-default.patch +++ /dev/null @@ -1,65 +0,0 @@ -From: Michael Matz -To: Ian Lance Taylor -Cc: binutils at sourceware dot org -Subject: Re: Make no-copy-dt-needed default? - - - * ldmain.c (add_DT_NEEDED_for_dynamic): Default to FALSE. - * ld.texinfo (--copy-dt-needed-entries): Mention new default. - -Index: ld.texinfo -=================================================================== -RCS file: /cvs/src/src/ld/ld.texinfo,v -retrieving revision 1.279 -diff -u -p -r1.279 ld.texinfo ---- ld/ld.texinfo 9 Aug 2011 13:10:44 -0000 1.279 -+++ ld/ld.texinfo 16 Aug 2011 15:58:50 -0000 -@@ -1258,21 +1258,20 @@ option. - @itemx --no-copy-dt-needed-entries - This option affects the treatment of dynamic libraries referred to - by DT_NEEDED tags @emph{inside} ELF dynamic libraries mentioned on the --command line. Normally the linker will add a DT_NEEDED tag to the -+command line. Normally the linker won't add a DT_NEEDED tag to the - output binary for each library mentioned in a DT_NEEDED tag in an --input dynamic library. With @option{--no-copy-dt-needed-entries} -+input dynamic library. With @option{--copy-dt-needed-entries} - specified on the command line however any dynamic libraries that --follow it will have their DT_NEEDED entries ignored. The default --behaviour can be restored with @option{--copy-dt-needed-entries}. -+follow it will have their DT_NEEDED entries added. The default -+behaviour can be restored with @option{--no-copy-dt-needed-entries}. - - This option also has an effect on the resolution of symbols in dynamic --libraries. With the default setting dynamic libraries mentioned on --the command line will be recursively searched, following their --DT_NEEDED tags to other libraries, in order to resolve symbols --required by the output binary. With --@option{--no-copy-dt-needed-entries} specified however the searching --of dynamic libraries that follow it will stop with the dynamic --library itself. No DT_NEEDED links will be traversed to resolve -+libraries. With @option{--copy-dt-needed-entries} dynamic libraries -+mentioned on the command line will be recursively searched, following -+their DT_NEEDED tags to other libraries, in order to resolve symbols -+required by the output binary. With the default setting however -+the searching of dynamic libraries that follow it will stop with the -+dynamic library itself. No DT_NEEDED links will be traversed to resolve - symbols. - - @cindex cross reference table -Index: ldmain.c -=================================================================== -RCS file: /cvs/src/src/ld/ldmain.c,v -retrieving revision 1.158 -diff -u -p -r1.158 ldmain.c ---- ld/ldmain.c 4 Aug 2011 20:47:46 -0000 1.158 -+++ ld/ldmain.c 16 Aug 2011 15:58:50 -0000 -@@ -105,7 +105,7 @@ bfd_boolean add_DT_NEEDED_for_regular; - /* True means create DT_NEEDED entries for dynamic libraries that - are DT_NEEDED by dynamic libraries specifically mentioned on - the command line. */ --bfd_boolean add_DT_NEEDED_for_dynamic = TRUE; -+bfd_boolean add_DT_NEEDED_for_dynamic; - - /* TRUE if we should demangle symbol names. */ - bfd_boolean demangling; - diff --git a/bnc713504.diff b/bnc713504.diff deleted file mode 100644 index 8557b2c..0000000 --- a/bnc713504.diff +++ /dev/null @@ -1,20 +0,0 @@ - * elf64-ppc.c (ppc64_elf_edit_toc): Ignore can_optimize bit if - we haven't seen expected -mcmodel=medium/large code relocs. - -Index: bfd/elf64-ppc.c -=================================================================== -RCS file: /cvs/src/src/bfd/elf64-ppc.c,v -retrieving revision 1.360 -diff -u -p -r1.360 elf64-ppc.c ---- bfd/elf64-ppc.c 14 Aug 2011 08:11:56 -0000 1.360 -+++ bfd/elf64-ppc.c 19 Aug 2011 02:13:57 -0000 -@@ -8267,7 +8362,7 @@ ppc64_elf_edit_toc (struct bfd_link_info - some_unused = 1; - last = 0; - } -- else if (*drop) -+ else if (*drop & ref_from_discarded) - { - some_unused = 1; - last = ref_from_discarded; - diff --git a/bso12982.diff b/bso12982.diff deleted file mode 100644 index 62bb1de..0000000 --- a/bso12982.diff +++ /dev/null @@ -1,17 +0,0 @@ -=================================================================== -RCS file: /cvs/src/src/bfd/elflink.c,v -retrieving revision 1.414 -retrieving revision 1.415 -diff -u -r1.414 -r1.415 ---- src/bfd/elflink.c 2011/07/11 15:03:05 1.414 -+++ src/bfd/elflink.c 2011/07/11 18:39:13 1.415 -@@ -5525,7 +5525,8 @@ - { - asection *s; - -- if (inputobj->flags & (DYNAMIC | EXEC_P | BFD_LINKER_CREATED)) -+ if (inputobj->flags -+ & (DYNAMIC | EXEC_P | BFD_PLUGIN | BFD_LINKER_CREATED)) - continue; - s = bfd_get_section_by_name (inputobj, ".note.GNU-stack"); - if (s) diff --git a/readelf-bad-elf-endless-loop.patch b/readelf-bad-elf-endless-loop.patch deleted file mode 100644 index 0612532..0000000 --- a/readelf-bad-elf-endless-loop.patch +++ /dev/null @@ -1,337 +0,0 @@ ---- binutils/readelf.c 2011/04/28 17:23:16 1.545 -+++ binutils/readelf.c 2011/06/08 15:59:07 1.546 -@@ -4548,7 +4554,7 @@ - dynamic_strings = (char *) get_data (NULL, file, section->sh_offset, - 1, section->sh_size, - _("dynamic strings")); -- dynamic_strings_length = section->sh_size; -+ dynamic_strings_length = dynamic_strings == NULL ? 0 : section->sh_size; - } - else if (section->sh_type == SHT_SYMTAB_SHNDX) - { -@@ -5029,6 +5035,8 @@ - start = (unsigned char *) get_data (NULL, file, section->sh_offset, - 1, section->sh_size, - _("section data")); -+ if (start == NULL) -+ continue; - - indices = start; - size = (section->sh_size / section->sh_entsize) - 1; -@@ -5734,6 +5742,7 @@ - aux.symtab = GET_ELF_SYMBOLS (file, sec); - - strsec = section_headers + sec->sh_link; -+ assert (aux.strtab == NULL); - aux.strtab = (char *) get_data (NULL, file, strsec->sh_offset, - 1, strsec->sh_size, - _("string table")); -@@ -5816,11 +5825,11 @@ - } - else - { -- aux.info_size = sec->sh_size; - aux.info_addr = sec->sh_addr; - aux.info = (unsigned char *) get_data (NULL, file, sec->sh_offset, 1, -- aux.info_size, -+ sec->sh_size, - _("unwind info")); -+ aux.info_size = aux.info == NULL ? 0 : sec->sh_size; - - printf (_("\nUnwind section ")); - -@@ -6147,6 +6156,7 @@ - aux.symtab = GET_ELF_SYMBOLS (file, sec); - - strsec = section_headers + sec->sh_link; -+ assert (aux.strtab == NULL); - aux.strtab = (char *) get_data (NULL, file, strsec->sh_offset, - 1, strsec->sh_size, - _("string table")); -@@ -6273,7 +6283,6 @@ - arm_sec->sec = sec; - arm_sec->data = get_data (NULL, aux->file, sec->sh_offset, 1, - sec->sh_size, _("unwind data")); -- - arm_sec->rela = NULL; - arm_sec->nrelas = 0; - -@@ -7032,6 +7041,7 @@ - aux.symtab = GET_ELF_SYMBOLS (file, sec); - - strsec = section_headers + sec->sh_link; -+ assert (aux.strtab == NULL); - aux.strtab = get_data (NULL, file, strsec->sh_offset, - 1, strsec->sh_size, _("string table")); - aux.strtab_size = aux.strtab != NULL ? strsec->sh_size : 0; -@@ -7541,7 +7551,7 @@ - dynamic_strings = (char *) get_data (NULL, file, offset, 1, - str_tab_len, - _("dynamic string table")); -- dynamic_strings_length = str_tab_len; -+ dynamic_strings_length = dynamic_strings == NULL ? 0 : str_tab_len; - break; - } - } -@@ -8079,9 +8089,9 @@ - edefs = (Elf_External_Verdef *) - get_data (NULL, file, section->sh_offset, 1,section->sh_size, - _("version definition section")); -- endbuf = (char *) edefs + section->sh_size; - if (!edefs) - break; -+ endbuf = (char *) edefs + section->sh_size; - - for (idx = cnt = 0; cnt < section->sh_info; ++cnt) - { -@@ -8198,9 +8208,9 @@ - section->sh_offset, 1, - section->sh_size, - _("version need section")); -- endbuf = (char *) eneed + section->sh_size; - if (!eneed) - break; -+ endbuf = (char *) eneed + section->sh_size; - - for (idx = cnt = 0; cnt < section->sh_info; ++cnt) - { -@@ -8416,9 +8426,10 @@ - Elf_External_Vernaux evna; - unsigned long a_off; - -- get_data (&evn, file, offset, sizeof (evn), 1, -- _("version need")); -- -+ if (get_data (&evn, file, offset, sizeof (evn), 1, -+ _("version need")) == NULL) -+ break; -+ - ivn.vn_aux = BYTE_GET (evn.vn_aux); - ivn.vn_next = BYTE_GET (evn.vn_next); - -@@ -8426,11 +8437,17 @@ - - do - { -- get_data (&evna, file, a_off, sizeof (evna), -- 1, _("version need aux (2)")); -- -- ivna.vna_next = BYTE_GET (evna.vna_next); -- ivna.vna_other = BYTE_GET (evna.vna_other); -+ if (get_data (&evna, file, a_off, sizeof (evna), -+ 1, _("version need aux (2)")) == NULL) -+ { -+ ivna.vna_next = 0; -+ ivna.vna_other = 0; -+ } -+ else -+ { -+ ivna.vna_next = BYTE_GET (evna.vna_next); -+ ivna.vna_other = BYTE_GET (evna.vna_other); -+ } - - a_off += ivna.vna_next; - } -@@ -8471,11 +8488,17 @@ - - do - { -- get_data (&evd, file, offset, sizeof (evd), 1, -- _("version def")); -- -- ivd.vd_next = BYTE_GET (evd.vd_next); -- ivd.vd_ndx = BYTE_GET (evd.vd_ndx); -+ if (get_data (&evd, file, offset, sizeof (evd), 1, -+ _("version def")) == NULL) -+ { -+ ivd.vd_next = 0; -+ ivd.vd_ndx = 0; -+ } -+ else -+ { -+ ivd.vd_next = BYTE_GET (evd.vd_next); -+ ivd.vd_ndx = BYTE_GET (evd.vd_ndx); -+ } - - offset += ivd.vd_next; - } -@@ -8489,10 +8512,11 @@ - - ivd.vd_aux = BYTE_GET (evd.vd_aux); - -- get_data (&evda, file, -- offset - ivd.vd_next + ivd.vd_aux, -- sizeof (evda), 1, -- _("version def aux")); -+ if (get_data (&evda, file, -+ offset - ivd.vd_next + ivd.vd_aux, -+ sizeof (evda), 1, -+ _("version def aux")) == NULL) -+ break; - - ivda.vda_name = BYTE_GET (evda.vda_name); - -@@ -9153,8 +9177,8 @@ - print_symbol (25, psym->st_name < strtab_size - ? strtab + psym->st_name : _("")); - -- if (section->sh_type == SHT_DYNSYM && -- version_info[DT_VERSIONTAGIDX (DT_VERSYM)] != 0) -+ if (section->sh_type == SHT_DYNSYM -+ && version_info[DT_VERSIONTAGIDX (DT_VERSYM)] != 0) - { - unsigned char data[2]; - unsigned short vers_data; -@@ -9166,8 +9190,9 @@ - (file, version_info[DT_VERSIONTAGIDX (DT_VERSYM)], - sizeof data + si * sizeof (vers_data)); - -- get_data (&data, file, offset + si * sizeof (vers_data), -- sizeof (data), 1, _("version data")); -+ if (get_data (&data, file, offset + si * sizeof (vers_data), -+ sizeof (data), 1, _("version data")) == NULL) -+ break; - - vers_data = byte_get (data, 2); - -@@ -9195,8 +9220,14 @@ - { - unsigned long vna_off; - -- get_data (&evn, file, offset, sizeof (evn), 1, -- _("version need")); -+ if (get_data (&evn, file, offset, sizeof (evn), 1, -+ _("version need")) == NULL) -+ { -+ ivna.vna_next = 0; -+ ivna.vna_other = 0; -+ ivna.vna_name = 0; -+ break; -+ } - - ivn.vn_aux = BYTE_GET (evn.vn_aux); - ivn.vn_next = BYTE_GET (evn.vn_next); -@@ -9207,13 +9238,20 @@ - { - Elf_External_Vernaux evna; - -- get_data (&evna, file, vna_off, -- sizeof (evna), 1, -- _("version need aux (3)")); -- -- ivna.vna_other = BYTE_GET (evna.vna_other); -- ivna.vna_next = BYTE_GET (evna.vna_next); -- ivna.vna_name = BYTE_GET (evna.vna_name); -+ if (get_data (&evna, file, vna_off, -+ sizeof (evna), 1, -+ _("version need aux (3)")) == NULL) -+ { -+ ivna.vna_next = 0; -+ ivna.vna_other = 0; -+ ivna.vna_name = 0; -+ } -+ else -+ { -+ ivna.vna_other = BYTE_GET (evna.vna_other); -+ ivna.vna_next = BYTE_GET (evna.vna_next); -+ ivna.vna_name = BYTE_GET (evna.vna_name); -+ } - - vna_off += ivna.vna_next; - } -@@ -9260,12 +9298,19 @@ - { - Elf_External_Verdef evd; - -- get_data (&evd, file, off, sizeof (evd), -- 1, _("version def")); -- -- ivd.vd_ndx = BYTE_GET (evd.vd_ndx); -- ivd.vd_aux = BYTE_GET (evd.vd_aux); -- ivd.vd_next = BYTE_GET (evd.vd_next); -+ if (get_data (&evd, file, off, sizeof (evd), -+ 1, _("version def")) == NULL) -+ { -+ ivd.vd_ndx = 0; -+ ivd.vd_aux = 0; -+ ivd.vd_next = 0; -+ } -+ else -+ { -+ ivd.vd_ndx = BYTE_GET (evd.vd_ndx); -+ ivd.vd_aux = BYTE_GET (evd.vd_aux); -+ ivd.vd_next = BYTE_GET (evd.vd_next); -+ } - - off += ivd.vd_next; - } -@@ -9275,8 +9320,9 @@ - off -= ivd.vd_next; - off += ivd.vd_aux; - -- get_data (&evda, file, off, sizeof (evda), -- 1, _("version def aux")); -+ if (get_data (&evda, file, off, sizeof (evda), -+ 1, _("version def aux")) == NULL) -+ break; - - ivda.vda_name = BYTE_GET (evda.vda_name); - -@@ -10361,12 +10407,17 @@ - - snprintf (buf, sizeof (buf), _("%s section data"), section->name); - section->address = sec->sh_addr; -- section->size = sec->sh_size; - section->start = (unsigned char *) get_data (NULL, (FILE *) file, - sec->sh_offset, 1, - sec->sh_size, buf); -- if (uncompress_section_contents (§ion->start, §ion->size)) -- sec->sh_size = section->size; -+ if (section->start == NULL) -+ section->size = 0; -+ else -+ { -+ section->size = sec->sh_size; -+ if (uncompress_section_contents (§ion->start, §ion->size)) -+ sec->sh_size = section->size; -+ } - - if (section->start == NULL) - return 0; -@@ -11934,6 +11985,9 @@ - offset = offset_from_vma (file, pltgot, global_end - pltgot); - data = (unsigned char *) get_data (NULL, file, offset, - global_end - pltgot, 1, _("GOT")); -+ if (data == NULL) -+ return 0; -+ - printf (_("\nPrimary GOT:\n")); - printf (_(" Canonical gp value: ")); - print_vma (pltgot + 0x7ff0, LONG_HEX); -@@ -12030,6 +12084,9 @@ - offset = offset_from_vma (file, mips_pltgot, end - mips_pltgot); - data = (unsigned char *) get_data (NULL, file, offset, end - mips_pltgot, - 1, _("PLT GOT")); -+ if (data == NULL) -+ return 0; -+ - printf (_("\nPLT GOT:\n\n")); - printf (_(" Reserved entries:\n")); - printf (_(" %*s %*s Purpose\n"), -@@ -12108,8 +12165,6 @@ - strtab = (char *) get_data (NULL, file, string_sec->sh_offset, 1, - string_sec->sh_size, - _("liblist string table")); -- strtab_size = string_sec->sh_size; -- - if (strtab == NULL - || section->sh_entsize != sizeof (Elf32_External_Lib)) - { -@@ -12117,6 +12172,7 @@ - free (elib); - break; - } -+ strtab_size = string_sec->sh_size; - - printf (_("\nLibrary list section '%s' contains %lu entries:\n"), - SECTION_NAME (section), diff --git a/s390-pic-dso.diff b/s390-pic-dso.diff deleted file mode 100644 index 240a7b6..0000000 --- a/s390-pic-dso.diff +++ /dev/null @@ -1,170 +0,0 @@ -Index: bfd/elf32-s390.c -=================================================================== ---- bfd/elf32-s390.c.orig 2010-10-25 17:54:14.000000000 +0200 -+++ bfd/elf32-s390.c 2011-01-10 17:46:32.000000000 +0100 -@@ -2504,13 +2504,34 @@ elf_s390_relocate_section (output_bfd, i - unresolved_reloc = FALSE; - break; - -- case R_390_8: -- case R_390_16: -- case R_390_32: - case R_390_PC16: - case R_390_PC16DBL: - case R_390_PC32DBL: - case R_390_PC32: -+ /* This is strictly required only for PC32DBL, which -+ is not handled by ld.so, but let's be helpful to the user also -+ in the other cases. */ -+ if (info->shared -+ && !SYMBOL_REFERENCES_LOCAL (info, h) -+ && (input_section->flags & SEC_ALLOC) != 0 -+ && (input_section->flags & SEC_READONLY) != 0 -+ && (!h->def_regular -+ || r_type != R_390_PC32DBL -+ || h->type != STT_FUNC -+ || ELF_ST_VISIBILITY (h->other) != STV_PROTECTED)) -+ { -+ (*_bfd_error_handler) -+ (_("%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"), -+ input_bfd, elf_howto_table[r_type].name, -+ h->root.root.string); -+ bfd_set_error (bfd_error_bad_value); -+ return FALSE; -+ } -+ /* Fall through. */ -+ -+ case R_390_8: -+ case R_390_16: -+ case R_390_32: - if ((input_section->flags & SEC_ALLOC) == 0) - break; - -Index: bfd/elf64-s390.c -=================================================================== ---- bfd/elf64-s390.c.orig 2010-10-25 17:54:15.000000000 +0200 -+++ bfd/elf64-s390.c 2011-01-10 17:46:32.000000000 +0100 -@@ -2497,15 +2497,36 @@ elf_s390_relocate_section (bfd *output_b - unresolved_reloc = FALSE; - break; - -- case R_390_8: -- case R_390_16: -- case R_390_32: -- case R_390_64: - case R_390_PC16: - case R_390_PC16DBL: - case R_390_PC32: - case R_390_PC32DBL: - case R_390_PC64: -+ /* This is strictly required only for PC32DBL, which -+ is not handled by ld.so, but let's be helpful to the user also -+ in the other cases. */ -+ if (info->shared -+ && !SYMBOL_REFERENCES_LOCAL (info, h) -+ && (input_section->flags & SEC_ALLOC) != 0 -+ && (input_section->flags & SEC_READONLY) != 0 -+ && (!h->def_regular -+ || r_type != R_390_PC32DBL -+ || h->type != STT_FUNC -+ || ELF_ST_VISIBILITY (h->other) != STV_PROTECTED)) -+ { -+ (*_bfd_error_handler) -+ (_("%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"), -+ input_bfd, elf_howto_table[r_type].name, -+ h->root.root.string); -+ bfd_set_error (bfd_error_bad_value); -+ return FALSE; -+ } -+ /* Fall through. */ -+ -+ case R_390_8: -+ case R_390_16: -+ case R_390_32: -+ case R_390_64: - if ((input_section->flags & SEC_ALLOC) == 0) - break; - -Index: ld/testsuite/ld-elfvers/vers.exp -=================================================================== ---- ld/testsuite/ld-elfvers/vers.exp.orig 2010-11-05 04:54:21.000000000 +0100 -+++ ld/testsuite/ld-elfvers/vers.exp 2011-01-10 17:47:22.000000000 +0100 -@@ -97,6 +97,7 @@ if [istarget mips*-*-*] { - - case $target_triplet in { - { ia64-*-* } { set as_options "-x" } -+ { s390-*-linux-* } { set as_options "-march=z900" } - { sparc-*-* } { set as_options "-Av9a" } - default { set as_options "" } - } -@@ -768,8 +769,9 @@ proc build_exec { test source execname f - pass $test - } - --if [istarget x86_64-*-linux*] { -- # x86_64 doesn't like non-pic shared libraries -+if { [istarget x86_64-*-linux*] \ -+ || [istarget s390*-*-linux*] } { -+ # x86_64 and s390 don't like non-pic shared libraries - set pic "yes" - } else { - set pic "no" -Index: ld/testsuite/ld-elfvsb/elfvsb.exp -=================================================================== ---- ld/testsuite/ld-elfvsb/elfvsb.exp.orig 2010-02-09 11:46:26.000000000 +0100 -+++ ld/testsuite/ld-elfvsb/elfvsb.exp 2011-01-10 17:46:32.000000000 +0100 -@@ -292,6 +292,7 @@ proc visibility_run {visibility} { - setup_xfail "sparc*-*-linux*" - } - } -+ setup_xfail "s390*-*-linux*" - setup_xfail "x86_64-*-linux*" - if { ![istarget hppa*64*-*-linux*] } { - setup_xfail "hppa*-*-linux*" -@@ -333,6 +334,7 @@ proc visibility_run {visibility} { - setup_xfail "alpha*-*-linux*" - setup_xfail "mips*-*-linux*" - } -+ setup_xfail "s390*-*-linux*" - setup_xfail "x86_64-*-linux*" - if { ![istarget hppa*64*-*-linux*] } { - setup_xfail "hppa*-*-linux*" -@@ -402,6 +404,7 @@ proc visibility_run {visibility} { - setup_xfail "sparc*-*-linux*" - } - } -+ setup_xfail "s390*-*-linux*" - setup_xfail "x86_64-*-linux*" - if { ![istarget hppa*64*-*-linux*] } { - setup_xfail "hppa*-*-linux*" -Index: ld/testsuite/ld-shared/shared.exp -=================================================================== ---- ld/testsuite/ld-shared/shared.exp.orig 2010-10-28 11:08:35.000000000 +0200 -+++ ld/testsuite/ld-shared/shared.exp 2011-01-10 17:48:12.000000000 +0100 -@@ -234,7 +234,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $ - setup_xfail "sparc*-*-linux*" - } - setup_xfail "x86_64-*-linux*" -- setup_xfail "s390x-*-linux*" -+ setup_xfail "s390*-*-linux*" - if [ string match $shared_needs_pic "yes" ] { - setup_xfail "arm*-*-linux*" - } -@@ -257,7 +257,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $ - setup_xfail "sparc*-*-linux*" - } - setup_xfail "x86_64-*-linux*" -- setup_xfail "s390x-*-linux*" -+ setup_xfail "s390*-*-linux*" - if [ string match $shared_needs_pic "yes" ] { - setup_xfail "arm*-*-linux*" - } -@@ -310,7 +310,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG $p - setup_xfail "sparc*-*-linux*" - } - setup_xfail "x86_64-*-linux*" -- setup_xfail "s390x-*-linux*" -+ setup_xfail "s390*-*-linux*" - if [ string match $shared_needs_pic "yes" ] { - setup_xfail "arm*-*-linux*" - } diff --git a/s390-pic.patch b/s390-pic.patch deleted file mode 100644 index c63716a..0000000 --- a/s390-pic.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: libiberty/configure -=================================================================== ---- libiberty/configure.orig 2010-11-05 11:31:22.000000000 +0100 -+++ libiberty/configure 2011-01-10 17:45:26.000000000 +0100 -@@ -4865,7 +4865,7 @@ if [ "${shared}" = "yes" ]; then - *-fpic* ) PICFLAG=-fpic ;; - * ) PICFLAG=-fPIC ;; - esac ;; -- s390*-*-*) PICFLAG=-fpic ;; -+ s390*-*-*) PICFLAG=-fPIC ;; - sh*-*-*) PICFLAG=-fPIC ;; - esac - fi -Index: libiberty/configure.ac -=================================================================== ---- libiberty/configure.ac.orig 2010-11-05 00:41:21.000000000 +0100 -+++ libiberty/configure.ac 2011-01-10 17:45:33.000000000 +0100 -@@ -216,7 +216,7 @@ if [[ "${shared}" = "yes" ]]; then - *-fpic* ) PICFLAG=-fpic ;; - * ) PICFLAG=-fPIC ;; - esac ;; -- s390*-*-*) PICFLAG=-fpic ;; -+ s390*-*-*) PICFLAG=-fPIC ;; - sh*-*-*) PICFLAG=-fPIC ;; - esac - fi