diff -Nurp binutils-2.16/bfd/ChangeLog binutils-2.16.1/bfd/ChangeLog --- binutils-2.16/bfd/ChangeLog 2005-05-02 15:46:42.000000000 -0400 +++ binutils-2.16.1/bfd/ChangeLog 2005-06-12 14:59:09.000000000 -0400 @@ -1,6 +1,135 @@ 2005-05-02 Daniel Jacobowitz * Makefile.am: Set RELEASE. + * configure.in: Bump version to 2.16.1. + * Makefile.in, configure: Regenerated. + +2005-06-06 Alan Modra + + * elf64-pcc.c (ppc64_elf_gc_mark_hook): For the local sym in .opd + case, include addend when indexing .opd section map. + (ppc64_elf_edit_opd): Add no_opd_opt param. Do nothing besides + clear opd_adjust array if no_opd_opt set. Tidy code. + Ignore zero size .opd. Check bfd_alloc return value. + (ppc_stub_name): Return immediately on bfd_malloc fail. + * elf64-ppc.h (ppc64_elf_edit_opd): Update prototype. + +2005-06-03 Alan Modra + + PR 568 + * elf32-i386.c (elf_i386_relocate_section): Handle zero symndx + for all reloc types. + + Apply from mainline: + 2005-05-12 H.J. Lu + * elf32-i386.c (elf_i386_relocate_section): Allow R_386_GOTOFF + against protected function when building executable. + +2005-06-03 Alan Modra + + * elf64-ppc.c (add_symbol_adjust): Set sym visibility to most + restrictive of func code and func descr for undefined syms as well + as defined. + +2005-05-29 Daniel Jacobowitz + + Backport from mainline: + 2005-05-29 Jakub Jelinek + * elfcode.h (elf_object_p): Fail if e_shoff != 0, e_shnum == 0 and + first shdr has sh_size == 0. Fail if e_shnum is large to cause + arithmetic overflow when allocating the i_shdr array. + Sanity check sh_link and sh_info fields. Fix e_shstrndx sanity check. + + 2005-05-18 H.J. Lu + * elf.c (group_signature): Undo the last change. Check if the + symbol table section is correct. + + 2005-05-17 Nick Clifton + * elf.c (group_signature): Check for a group section which is + actually a (corrupt) symbol table section in disguise and prevent + an infinite loop from occurring. + + 2005-05-17 Tavis Ormandy + * elf.c (bfd_section_from_shdr): Add sanity check when parsing + dynamic sections. + + 2005-05-09 Alan Modra + * elfcode.h (elf_object_p): Add more sanity checks on elf header. + +2005-05-28 David Daney + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Move + calculation of DT_RELSZ to occur after all dynamic relocations + are created. + +2005-05-26 Mark Kettenis + Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_section_processing): Warn and + stop processing of options if one of invalid size is + encountered. + (_bfd_mips_elf_section_from_shdr): Likewise. + (_bfd_mips_elf_fake_sections): Reset the type of empty special + sections. + +2005-05-22 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relax_section): Ignore non-allocated + sections. + (elf64_alpha_check_relocs): Likewise. + (elf64_alpha_relocate_section): Don't emit dynamic relocations to + non-allocated sections. + +2005-05-22 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relax_with_lituse): Relax jsr to + undefweak to use zero register. Call elf64_alpha_relax_got_load + if not all uses removed. + (elf64_alpha_relax_got_load): Relax undefweak to lda zero. + (elf64_alpha_relax_section): Handle undefweak symbols. + (elf64_alpha_calc_dynrel_sizes): Don't add relocs for undefweak. + (elf64_alpha_size_rela_got_1): Likewise. + (elf64_alpha_relocate_section): Likewise. + +2005-05-22 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relax_section): Only operate + on SEC_CODE sections. + +2005-05-13 Bob Wilson + + * elf32-xtensa.c (xtensa_get_property_section_name): Add missing + periods in linkonce_kind values. + +2005-05-10 Alan Modra + + Apply from mainline. + 2005-05-09 Alan Modra + * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_dotsym. + (ppc64_elf_add_symbol_hook): Set has_dotsym. + (ppc64_elf_check_directives): Only process syms when has_dotsym. + (func_desc_adjust): Hide fake function descriptors when function + code entry is defined. + (adjust_opd_syms): Adjust for deleted_section becoming union field. + + 2005-04-05 Alan Modra + * elf64-ppc.c (dec_dynrel_count): New function split out from + ppc64_elf_edit_toc, with additional code from ppc64_elf_edit_opd. + (ppc64_elf_edit_toc, ppc64_elf_edit_opd): Use it. + (ppc64_elf_tls_optimize): Likewise. + + 2005-04-01 Alan Modra + * elf64-ppc.c (ppc64_elf_edit_toc): Account for dynamic relocs + that we no longer need. + +2005-05-02 Daniel Jacobowitz + + * Makefile.am: Clear RELEASE. + * Makefile.in: Regenerated. + +2005-05-02 Daniel Jacobowitz + + * Makefile.am: Set RELEASE. * configure.in: Bump version to 2.16. * Makefile.in, configure: Regenerated. @@ -12,9 +141,7 @@ 2005-04-29 Daniel Jacobowitz - * doc/Makefile.am: Remove stamp rules. Depend on chew.c - instead of $(MKDOC). - * aclocal.m4, Makefile.in, doc/Makefile.in: Regnerated. + * aclocal.m4, Makefile.in: Regenerated. 2005-04-27 Nick Clifton diff -Nurp binutils-2.16/bfd/configure binutils-2.16.1/bfd/configure --- binutils-2.16/bfd/configure 2005-05-02 15:43:54.000000000 -0400 +++ binutils-2.16.1/bfd/configure 2005-06-12 14:58:46.000000000 -0400 @@ -2834,7 +2834,7 @@ fi # Define the identity of the package. PACKAGE=bfd - VERSION=2.16 + VERSION=2.16.1 cat >>confdefs.h <<_ACEOF diff -Nurp binutils-2.16/bfd/configure.in binutils-2.16.1/bfd/configure.in --- binutils-2.16/bfd/configure.in 2005-05-02 15:43:51.000000000 -0400 +++ binutils-2.16.1/bfd/configure.in 2005-06-12 14:58:40.000000000 -0400 @@ -8,7 +8,7 @@ AC_CONFIG_SRCDIR([libbfd.c]) AC_CANONICAL_TARGET AC_ISC_POSIX -AM_INIT_AUTOMAKE(bfd, 2.16) +AM_INIT_AUTOMAKE(bfd, 2.16.1) dnl These must be called before AM_PROG_LIBTOOL, because it may want dnl to call AC_CHECK_PROG. diff -Nurp binutils-2.16/bfd/doc/ChangeLog binutils-2.16.1/bfd/doc/ChangeLog --- binutils-2.16/bfd/doc/ChangeLog 2005-02-21 06:48:00.000000000 -0500 +++ binutils-2.16.1/bfd/doc/ChangeLog 2005-06-12 14:45:45.000000000 -0400 @@ -1,3 +1,26 @@ +2005-06-12 Daniel Jacobowitz + + Backport from mainline: + 2005-05-05 H.J. Lu + * Makefile.am (INCLUDES): Remove -D_GNU_SOURCE. + * Makefile.in: Regenerate. + + 2005-04-21 H.J. Lu + * Makefile.am (INCLUDES): New. Add -D_GNU_SOURCE. + (chew.o): Use it. + * Makefile.in: Regenerate. + +2005-05-09 Daniel Jacobowitz + + * Makefile.am: Use a temporary file to build chew. + * Makefile.in: Regenerated. + +2005-04-29 Daniel Jacobowitz + + * Makefile.am: Remove stamp rules. Depend on chew.c + instead of $(MKDOC). + * Makefile.in: Regnerated. + 2005-02-21 Alan Modra * Makefile.in: Regenerate. diff -Nurp binutils-2.16/bfd/doc/Makefile.am binutils-2.16.1/bfd/doc/Makefile.am --- binutils-2.16/bfd/doc/Makefile.am 2005-04-29 09:56:37.000000000 -0400 +++ binutils-2.16.1/bfd/doc/Makefile.am 2005-06-12 14:44:18.000000000 -0400 @@ -54,11 +54,17 @@ info_TEXINFOS = bfd.texinfo MKDOC = chew$(EXEEXT_FOR_BUILD) -$(MKDOC): chew.o - $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) +INCLUDES = -I.. -I$(srcdir)/.. -I$(srcdir)/../../include \ + -I$(srcdir)/../../intl -I../../intl + +$(MKDOC): $(srcdir)/chew.c + $(CC_FOR_BUILD) -o chew.$$$$ $(srcdir)/chew.c \ + $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(H_CFLAGS) \ + $(INCLUDES); \ + $(SHELL) $(srcdir)/../../move-if-change chew.$$$$ $(MKDOC) chew.o: chew.c - $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c + $(CC_FOR_BUILD) -c $(INCLUDES) $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c protos: libbfd.h libcoff.h bfd.h diff -Nurp binutils-2.16/bfd/doc/Makefile.in binutils-2.16.1/bfd/doc/Makefile.in --- binutils-2.16/bfd/doc/Makefile.in 2005-04-29 09:57:08.000000000 -0400 +++ binutils-2.16.1/bfd/doc/Makefile.in 2005-06-12 14:44:56.000000000 -0400 @@ -261,6 +261,9 @@ SRCIPROT = $(srcdir)/../cache.c $(srcdir TEXIDIR = $(srcdir)/../../texinfo/fsf info_TEXINFOS = bfd.texinfo MKDOC = chew$(EXEEXT_FOR_BUILD) +INCLUDES = -I.. -I$(srcdir)/.. -I$(srcdir)/../../include \ + -I$(srcdir)/../../intl -I../../intl + LIBBFD_H_DEP = \ $(srcdir)/../libbfd-in.h \ $(srcdir)/../init.c \ @@ -582,11 +585,14 @@ uninstall-am: uninstall uninstall-am uninstall-info-am -$(MKDOC): chew.o - $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) +$(MKDOC): $(srcdir)/chew.c + $(CC_FOR_BUILD) -o chew.$$$$ $(srcdir)/chew.c \ + $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(H_CFLAGS) \ + $(INCLUDES); \ + $(SHELL) $(srcdir)/../../move-if-change chew.$$$$ $(MKDOC) chew.o: chew.c - $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c + $(CC_FOR_BUILD) -c $(INCLUDES) $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c protos: libbfd.h libcoff.h bfd.h diff -Nurp binutils-2.16/bfd/elf.c binutils-2.16.1/bfd/elf.c --- binutils-2.16/bfd/elf.c 2005-03-05 21:02:15.000000000 -0500 +++ binutils-2.16.1/bfd/elf.c 2005-05-29 18:00:10.000000000 -0400 @@ -443,8 +443,11 @@ group_signature (bfd *abfd, Elf_Internal Elf_External_Sym_Shndx eshndx; Elf_Internal_Sym isym; - /* First we need to ensure the symbol table is available. */ - if (! bfd_section_from_shdr (abfd, ghdr->sh_link)) + /* First we need to ensure the symbol table is available. Make sure + that it is a symbol table section. */ + hdr = elf_elfsections (abfd) [ghdr->sh_link]; + if (hdr->sh_type != SHT_SYMTAB + || ! bfd_section_from_shdr (abfd, ghdr->sh_link)) return NULL; /* Go read the symbol. */ @@ -1733,6 +1736,9 @@ bfd_section_from_shdr (bfd *abfd, unsign case SHT_DYNAMIC: /* Dynamic linking information. */ if (! _bfd_elf_make_section_from_shdr (abfd, hdr, name)) return FALSE; + if (hdr->sh_link > elf_numsections (abfd) + || elf_elfsections (abfd)[hdr->sh_link] == NULL) + return FALSE; if (elf_elfsections (abfd)[hdr->sh_link]->sh_type != SHT_STRTAB) { Elf_Internal_Shdr *dynsymhdr; diff -Nurp binutils-2.16/bfd/elf32-i386.c binutils-2.16.1/bfd/elf32-i386.c --- binutils-2.16/bfd/elf32-i386.c 2005-02-06 13:11:29.000000000 -0500 +++ binutils-2.16.1/bfd/elf32-i386.c 2005-06-12 13:37:58.000000000 -0400 @@ -2177,6 +2177,21 @@ elf_i386_relocate_section (bfd *output_b unresolved_reloc, warned); } + if (r_symndx == 0) + { + /* r_symndx will be zero only for relocs against symbols from + removed linkonce sections, or sections discarded by a linker + script. For these relocs, we just want the section contents + zeroed. Avoid any special processing in the switch below. */ + r_type = R_386_NONE; + + relocation = 0; + if (howto->pc_relative) + relocation = (input_section->output_section->vma + + input_section->output_offset + + rel->r_offset); + } + switch (r_type) { case R_386_GOT32: @@ -2278,6 +2293,7 @@ elf_i386_relocate_section (bfd *output_b for shared library since it may not be local when used as function address. */ if (info->shared + && !info->executable && h && h->def_regular && h->type == STT_FUNC @@ -2332,21 +2348,6 @@ elf_i386_relocate_section (bfd *output_b case R_386_32: case R_386_PC32: - /* r_symndx will be zero only for relocs against symbols - from removed linkonce sections, or sections discarded by - a linker script. */ - if (r_symndx == 0) - { - /* Zero the section contents. eh_frame generated by old - versions of gcc isn't edited by elf-eh-frame.c, so - FDEs for discarded linkonce functions might remain. - Putting zeros here will zero such FDE's address range. - This is a hint to unwinders and other consumers of - exception handling info that the FDE is invalid. */ - bfd_put_32 (input_bfd, 0, contents + rel->r_offset); - break; - } - if ((input_section->flags & SEC_ALLOC) == 0) break; diff -Nurp binutils-2.16/bfd/elf32-xtensa.c binutils-2.16.1/bfd/elf32-xtensa.c --- binutils-2.16/bfd/elf32-xtensa.c 2005-02-24 08:34:38.000000000 -0500 +++ binutils-2.16.1/bfd/elf32-xtensa.c 2005-05-28 17:52:32.000000000 -0400 @@ -9341,9 +9341,9 @@ xtensa_get_property_section_name (asecti char *linkonce_kind = 0; if (strcmp (base_name, XTENSA_INSN_SEC_NAME) == 0) - linkonce_kind = "x"; + linkonce_kind = "x."; else if (strcmp (base_name, XTENSA_LIT_SEC_NAME) == 0) - linkonce_kind = "p"; + linkonce_kind = "p."; else if (strcmp (base_name, XTENSA_PROP_SEC_NAME) == 0) linkonce_kind = "prop."; else diff -Nurp binutils-2.16/bfd/elf64-alpha.c binutils-2.16.1/bfd/elf64-alpha.c --- binutils-2.16/bfd/elf64-alpha.c 2005-01-31 20:11:11.000000000 -0500 +++ binutils-2.16.1/bfd/elf64-alpha.c 2005-05-28 17:52:32.000000000 -0400 @@ -1302,9 +1302,7 @@ elf64_alpha_relax_with_lituse (info, sym /* Extract the displacement from the instruction, sign-extending it if necessary, then test whether it is within 16 or 32 bits displacement from GP. */ - insn_disp = insn & 0x0000ffff; - if (insn_disp & 0x8000) - insn_disp |= ~0xffff; /* Negative: sign-extend. */ + insn_disp = ((insn & 0xffff) ^ 0x8000) - 0x8000; xdisp = disp + insn_disp; fits16 = (xdisp >= - (bfd_signed_vma) 0x8000 && xdisp < 0x8000); @@ -1373,6 +1371,19 @@ elf64_alpha_relax_with_lituse (info, sym bfd_vma optdest, org; bfd_signed_vma odisp; + /* For undefined weak symbols, we're mostly interested in getting + rid of the got entry whenever possible, so optimize this to a + use of the zero register. */ + if (info->h && info->h->root.root.type == bfd_link_hash_undefweak) + { + insn |= 31 << 16; + bfd_put_32 (info->abfd, (bfd_vma) insn, + info->contents + urel->r_offset); + + info->changed_contents = TRUE; + break; + } + /* If not zero, place to jump without needing pv. */ optdest = elf64_alpha_relax_opt_call (info, symval); org = (info->sec->output_section->vma @@ -1476,9 +1487,11 @@ elf64_alpha_relax_with_lituse (info, sym info->contents + irel->r_offset); info->changed_contents = TRUE; } - } - return TRUE; + return TRUE; + } + else + return elf64_alpha_relax_got_load (info, symval, irel, R_ALPHA_LITERAL); } static bfd_vma @@ -1585,7 +1598,25 @@ elf64_alpha_relax_got_load (info, symval return TRUE; if (r_type == R_ALPHA_LITERAL) - disp = symval - info->gp; + { + /* Look for nice constant addresses. This includes the not-uncommon + special case of 0 for undefweak symbols. */ + if ((info->h && info->h->root.root.type == bfd_link_hash_undefweak) + || (!info->link_info->shared + && (symval >= (bfd_vma)-0x8000 || symval < 0x8000))) + { + disp = 0; + insn = (OP_LDA << 26) | (insn & (31 << 21)) | (31 << 16); + insn |= (symval & 0xffff); + r_type = R_ALPHA_NONE; + } + else + { + disp = symval - info->gp; + insn = (OP_LDA << 26) | (insn & 0x03ff0000); + r_type = R_ALPHA_GPREL16; + } + } else { bfd_vma dtp_base, tp_base; @@ -1594,17 +1625,26 @@ elf64_alpha_relax_got_load (info, symval dtp_base = alpha_get_dtprel_base (info->link_info); tp_base = alpha_get_tprel_base (info->link_info); disp = symval - (r_type == R_ALPHA_GOTDTPREL ? dtp_base : tp_base); + + insn = (OP_LDA << 26) | (insn & (31 << 21)) | (31 << 16); + + switch (r_type) + { + case R_ALPHA_GOTDTPREL: + r_type = R_ALPHA_DTPREL16; + break; + case R_ALPHA_GOTTPREL: + r_type = R_ALPHA_TPREL16; + break; + default: + BFD_ASSERT (0); + return FALSE; + } } if (disp < -0x8000 || disp >= 0x8000) return TRUE; - /* Exchange LDQ for LDA. In the case of the TLS relocs, we're loading - a constant, so force the base register to be $31. */ - if (r_type == R_ALPHA_LITERAL) - insn = (OP_LDA << 26) | (insn & 0x03ff0000); - else - insn = (OP_LDA << 26) | (insn & (31 << 21)) | (31 << 16); bfd_put_32 (info->abfd, (bfd_vma) insn, info->contents + irel->r_offset); info->changed_contents = TRUE; @@ -1619,22 +1659,6 @@ elf64_alpha_relax_got_load (info, symval } /* Smash the existing GOT relocation for its 16-bit immediate pair. */ - switch (r_type) - { - case R_ALPHA_LITERAL: - r_type = R_ALPHA_GPREL16; - break; - case R_ALPHA_GOTDTPREL: - r_type = R_ALPHA_DTPREL16; - break; - case R_ALPHA_GOTTPREL: - r_type = R_ALPHA_TPREL16; - break; - default: - BFD_ASSERT (0); - return FALSE; - } - irel->r_info = ELF64_R_INFO (ELF64_R_SYM (irel->r_info), r_type); info->changed_relocs = TRUE; @@ -1971,7 +1995,8 @@ elf64_alpha_relax_section (abfd, sec, li *again = FALSE; if (link_info->relocatable - || (sec->flags & SEC_RELOC) == 0 + || ((sec->flags & (SEC_CODE | SEC_RELOC | SEC_ALLOC)) + != (SEC_CODE | SEC_RELOC | SEC_ALLOC)) || sec->reloc_count == 0) return TRUE; @@ -2105,13 +2130,17 @@ elf64_alpha_relax_section (abfd, sec, li h = (struct alpha_elf_link_hash_entry *)h->root.root.u.i.link; /* If the symbol is undefined, we can't do anything with it. */ - if (h->root.root.type == bfd_link_hash_undefweak - || h->root.root.type == bfd_link_hash_undefined) + if (h->root.root.type == bfd_link_hash_undefined) continue; - /* If the symbol isn't defined in the current module, again - we can't do anything. */ - if (!h->root.def_regular) + /* If the symbol isn't defined in the current module, + again we can't do anything. */ + if (h->root.root.type == bfd_link_hash_undefweak) + { + info.tsec = bfd_abs_section_ptr; + symval = 0; + } + else if (!h->root.def_regular) { /* Except for TLSGD relocs, which can sometimes be relaxed to GOTTPREL relocs. */ @@ -2962,6 +2991,15 @@ elf64_alpha_check_relocs (abfd, info, se if (info->relocatable) return TRUE; + /* Don't do anything special with non-loaded, non-alloced sections. + In particular, any relocs in such sections should not affect GOT + and PLT reference counting (ie. we don't allow them to create GOT + or PLT entries), there's no possibility or desire to optimize TLS + relocs, and there's not much point in propagating relocs to shared + libs that the dynamic linker won't relocate. */ + if ((sec->flags & SEC_ALLOC) == 0) + return TRUE; + dynobj = elf_hash_table(info)->dynobj; if (dynobj == NULL) elf_hash_table(info)->dynobj = dynobj = abfd; @@ -3047,7 +3085,7 @@ elf64_alpha_check_relocs (abfd, info, se case R_ALPHA_REFLONG: case R_ALPHA_REFQUAD: - if ((info->shared && (sec->flags & SEC_ALLOC)) || maybe_dynamic) + if (info->shared || maybe_dynamic) need = NEED_DYNREL; break; @@ -3184,8 +3222,7 @@ elf64_alpha_check_relocs (abfd, info, se rent->srel = sreloc; rent->rtype = r_type; rent->count = 1; - rent->reltext = ((sec->flags & (SEC_READONLY | SEC_ALLOC)) - == (SEC_READONLY | SEC_ALLOC)); + rent->reltext = (sec->flags & SEC_READONLY) != 0; rent->next = h->reloc_entries; h->reloc_entries = rent; @@ -3198,8 +3235,7 @@ elf64_alpha_check_relocs (abfd, info, se /* If this is a shared library, and the section is to be loaded into memory, we need a RELATIVE reloc. */ sreloc->size += sizeof (Elf64_External_Rela); - if ((sec->flags & (SEC_READONLY | SEC_ALLOC)) - == (SEC_READONLY | SEC_ALLOC)) + if (sec->flags & SEC_READONLY) info->flags |= DF_TEXTREL; } } @@ -3861,9 +3897,14 @@ elf64_alpha_calc_dynrel_sizes (h, info) /* If the symbol is dynamic, we'll need all the relocations in their natural form. If this is a shared object, and it has been forced local, we'll need the same number of RELATIVE relocations. */ - dynamic = alpha_elf_dynamic_symbol_p (&h->root, info); + /* If the symbol is a hidden undefined weak, then we never have any + relocations. Avoid the loop which may want to add RELATIVE relocs + based on info->shared. */ + if (h->root.root.type == bfd_link_hash_undefweak && !dynamic) + return TRUE; + for (relent = h->reloc_entries; relent; relent = relent->next) { entries = alpha_dynamic_entries_for_reloc (relent->rtype, dynamic, @@ -3951,9 +3992,14 @@ elf64_alpha_size_rela_got_1 (h, info) /* If the symbol is dynamic, we'll need all the relocations in their natural form. If this is a shared object, and it has been forced local, we'll need the same number of RELATIVE relocations. */ - dynamic = alpha_elf_dynamic_symbol_p (&h->root, info); + /* If the symbol is a hidden undefined weak, then we never have any + relocations. Avoid the loop which may want to add RELATIVE relocs + based on info->shared. */ + if (h->root.root.type == bfd_link_hash_undefweak && !dynamic) + return TRUE; + entries = 0; for (gotent = h->got_entries; gotent ; gotent = gotent->next) if (gotent->use_count > 0) @@ -4228,7 +4274,6 @@ elf64_alpha_relocate_section (output_bfd bfd_vma gp, tp_base, dtp_base; struct alpha_elf_got_entry **local_got_entries; bfd_boolean ret_val; - const char *section_name; /* Handle relocatable links with a smaller loop. */ if (info->relocatable) @@ -4248,11 +4293,17 @@ elf64_alpha_relocate_section (output_bfd else srelgot = NULL; - section_name = (bfd_elf_string_from_elf_section - (input_bfd, elf_elfheader(input_bfd)->e_shstrndx, - elf_section_data(input_section)->rel_hdr.sh_name)); - BFD_ASSERT(section_name != NULL); - srel = bfd_get_section_by_name (dynobj, section_name); + if (input_section->flags & SEC_ALLOC) + { + const char *section_name; + section_name = (bfd_elf_string_from_elf_section + (input_bfd, elf_elfheader(input_bfd)->e_shstrndx, + elf_section_data(input_section)->rel_hdr.sh_name)); + BFD_ASSERT(section_name != NULL); + srel = bfd_get_section_by_name (dynobj, section_name); + } + else + srel = NULL; /* Find the gp value for this input bfd. */ gotobj = alpha_elf_tdata (input_bfd)->gotobj; @@ -4446,7 +4497,7 @@ elf64_alpha_relocate_section (output_bfd /* If the symbol has been forced local, output a RELATIVE reloc, otherwise it will be handled in finish_dynamic_symbol. */ - if (info->shared && !dynamic_symbol_p) + if (info->shared && !dynamic_symbol_p && !undef_weak_ref) elf64_alpha_emit_dynrel (output_bfd, info, sgot, srelgot, gotent->got_offset, 0, R_ALPHA_RELATIVE, value); @@ -4618,7 +4669,8 @@ elf64_alpha_relocate_section (output_bfd } else if (info->shared && r_symndx != 0 - && (input_section->flags & SEC_ALLOC)) + && (input_section->flags & SEC_ALLOC) + && !undef_weak_ref) { if (r_type == R_ALPHA_REFLONG) { @@ -4635,9 +4687,10 @@ elf64_alpha_relocate_section (output_bfd else goto default_reloc; - elf64_alpha_emit_dynrel (output_bfd, info, input_section, - srel, rel->r_offset, dynindx, - dyntype, dynaddend); + if (input_section->flags & SEC_ALLOC) + elf64_alpha_emit_dynrel (output_bfd, info, input_section, + srel, rel->r_offset, dynindx, + dyntype, dynaddend); } goto default_reloc; @@ -4651,6 +4704,14 @@ elf64_alpha_relocate_section (output_bfd input_bfd, h->root.root.root.string); ret_val = FALSE; } + else if ((info->shared || info->pie) && undef_weak_ref) + { + (*_bfd_error_handler) + (_("%B: pc-relative relocation against undefined weak symbol %s"), + input_bfd, h->root.root.root.string); + ret_val = FALSE; + } + /* ??? .eh_frame references to discarded sections will be smashed to relocations against SHN_UNDEF. The .eh_frame format allows diff -Nurp binutils-2.16/bfd/elf64-ppc.c binutils-2.16.1/bfd/elf64-ppc.c --- binutils-2.16/bfd/elf64-ppc.c 2005-04-04 22:18:03.000000000 -0400 +++ binutils-2.16.1/bfd/elf64-ppc.c 2005-06-12 13:37:59.000000000 -0400 @@ -2370,9 +2370,14 @@ struct ppc64_elf_obj_tdata asection *got; asection *relgot; - /* Used during garbage collection. We attach global symbols defined - on removed .opd entries to this section so that the sym is removed. */ - asection *deleted_section; + union { + /* Used during garbage collection. We attach global symbols defined + on removed .opd entries to this section so that the sym is removed. */ + asection *deleted_section; + + /* Used when adding symbols. */ + bfd_boolean has_dotsym; + } u; /* TLS local dynamic got entry handling. Suppose for multiple GOT sections means we potentially need one of these for each input bfd. */ @@ -2709,7 +2714,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abf long j; /* Trim duplicate syms, since we may have merged the normal and dynamic symbols. Actually, we only care about syms that have - different values, so trim any with the same value. */ + different values, so trim any with the same value. */ for (i = 1, j = 1; i < symcount; ++i) if (syms[i - 1]->value + syms[i - 1]->section->vma != syms[i]->value + syms[i]->section->vma) @@ -3528,26 +3533,26 @@ ppc_stub_name (const asection *input_sec { len = 8 + 1 + strlen (h->elf.root.root.string) + 1 + 8 + 1; stub_name = bfd_malloc (len); - if (stub_name != NULL) - { - sprintf (stub_name, "%08x.%s+%x", - input_section->id & 0xffffffff, - h->elf.root.root.string, - (int) rel->r_addend & 0xffffffff); - } + if (stub_name == NULL) + return stub_name; + + sprintf (stub_name, "%08x.%s+%x", + input_section->id & 0xffffffff, + h->elf.root.root.string, + (int) rel->r_addend & 0xffffffff); } else { len = 8 + 1 + 8 + 1 + 8 + 1 + 8 + 1; stub_name = bfd_malloc (len); - if (stub_name != NULL) - { - sprintf (stub_name, "%08x.%x:%x+%x", - input_section->id & 0xffffffff, - sym_sec->id & 0xffffffff, - (int) ELF64_R_SYM (rel->r_info) & 0xffffffff, - (int) rel->r_addend & 0xffffffff); - } + if (stub_name == NULL) + return stub_name; + + sprintf (stub_name, "%08x.%x:%x+%x", + input_section->id & 0xffffffff, + sym_sec->id & 0xffffffff, + (int) ELF64_R_SYM (rel->r_info) & 0xffffffff, + (int) rel->r_addend & 0xffffffff); } if (stub_name[len - 2] == '+' && stub_name[len - 1] == '0') stub_name[len - 2] = 0; @@ -3998,10 +4003,10 @@ make_fdh (struct bfd_link_info *info, function type. */ static bfd_boolean -ppc64_elf_add_symbol_hook (bfd *ibfd ATTRIBUTE_UNUSED, +ppc64_elf_add_symbol_hook (bfd *ibfd, struct bfd_link_info *info ATTRIBUTE_UNUSED, Elf_Internal_Sym *isym, - const char **name ATTRIBUTE_UNUSED, + const char **name, flagword *flags ATTRIBUTE_UNUSED, asection **sec, bfd_vma *value ATTRIBUTE_UNUSED) @@ -4009,6 +4014,13 @@ ppc64_elf_add_symbol_hook (bfd *ibfd ATT if (*sec != NULL && strcmp (bfd_get_section_name (ibfd, *sec), ".opd") == 0) isym->st_info = ELF_ST_INFO (ELF_ST_BIND (isym->st_info), STT_FUNC); + + if ((*name)[0] == '.' + && ELF_ST_BIND (isym->st_info) == STB_GLOBAL + && ELF_ST_TYPE (isym->st_info) < STT_SECTION + && is_ppc64_elf_target (ibfd->xvec)) + ppc64_elf_tdata (ibfd)->u.has_dotsym = 1; + return TRUE; } @@ -4099,9 +4111,7 @@ add_symbol_adjust (struct elf_link_hash_ else fdh->elf.ref_regular = 1; } - else if (fdh != NULL - && (fdh->elf.root.type == bfd_link_hash_defined - || fdh->elf.root.type == bfd_link_hash_defweak)) + else if (fdh != NULL) { unsigned entry_vis = ELF_ST_VISIBILITY (eh->elf.other) - 1; unsigned descr_vis = ELF_ST_VISIBILITY (fdh->elf.other) - 1; @@ -4110,7 +4120,9 @@ add_symbol_adjust (struct elf_link_hash_ else if (entry_vis > descr_vis) eh->elf.other += descr_vis - entry_vis; - if (eh->elf.root.type == bfd_link_hash_undefined) + if ((fdh->elf.root.type == bfd_link_hash_defined + || fdh->elf.root.type == bfd_link_hash_defweak) + && eh->elf.root.type == bfd_link_hash_undefined) { eh->elf.root.type = bfd_link_hash_undefweak; eh->was_undefined = 1; @@ -4122,12 +4134,18 @@ add_symbol_adjust (struct elf_link_hash_ } static bfd_boolean -ppc64_elf_check_directives (bfd *abfd ATTRIBUTE_UNUSED, - struct bfd_link_info *info) +ppc64_elf_check_directives (bfd *abfd, struct bfd_link_info *info) { struct ppc_link_hash_table *htab; struct add_symbol_adjust_data data; + if (!is_ppc64_elf_target (abfd->xvec)) + return TRUE; + + if (!ppc64_elf_tdata (abfd)->u.has_dotsym) + return TRUE; + ppc64_elf_tdata (abfd)->u.deleted_section = NULL; + htab = ppc_hash_table (info); if (!is_ppc64_elf_target (htab->elf.root.creator)) return TRUE; @@ -4768,7 +4786,7 @@ opd_entry_value (asection *opd_sec, if (!bfd_get_section_contents (opd_bfd, opd_sec, &val, offset, 8)) return (bfd_vma) -1; - + if (code_sec != NULL) { asection *sec, *likely = NULL; @@ -4997,7 +5015,7 @@ ppc64_elf_gc_mark_hook (asection *sec, if (!rsec->gc_mark) _bfd_elf_gc_mark (info, rsec, ppc64_elf_gc_mark_hook); - rsec = opd_sym_section[sym->st_value / 8]; + rsec = opd_sym_section[(sym->st_value + rel->r_addend) / 8]; } } @@ -5446,15 +5464,25 @@ func_desc_adjust (struct elf_link_hash_e } /* Fake function descriptors are made undefweak. If the function - code symbol is strong undefined, make the fake sym the same. */ + code symbol is strong undefined, make the fake sym the same. + If the function code symbol is defined, then force the fake + descriptor local; We can't support overriding of symbols in a + shared library on a fake descriptor. */ if (fdh != NULL && fdh->fake - && fdh->elf.root.type == bfd_link_hash_undefweak - && fh->elf.root.type == bfd_link_hash_undefined) + && fdh->elf.root.type == bfd_link_hash_undefweak) { - fdh->elf.root.type = bfd_link_hash_undefined; - bfd_link_add_undef (&htab->elf.root, &fdh->elf.root); + if (fh->elf.root.type == bfd_link_hash_undefined) + { + fdh->elf.root.type = bfd_link_hash_undefined; + bfd_link_add_undef (&htab->elf.root, &fdh->elf.root); + } + else if (fh->elf.root.type == bfd_link_hash_defined + || fh->elf.root.type == bfd_link_hash_defweak) + { + _bfd_elf_link_hash_hide_symbol (info, &fdh->elf, TRUE); + } } if (fdh != NULL @@ -5931,13 +5959,13 @@ adjust_opd_syms (struct elf_link_hash_en if (adjust == -1) { /* This entry has been deleted. */ - asection *dsec = ppc64_elf_tdata (sym_sec->owner)->deleted_section; + asection *dsec = ppc64_elf_tdata (sym_sec->owner)->u.deleted_section; if (dsec == NULL) { for (dsec = sym_sec->owner->sections; dsec; dsec = dsec->next) if (elf_discarded_section (dsec)) { - ppc64_elf_tdata (sym_sec->owner)->deleted_section = dsec; + ppc64_elf_tdata (sym_sec->owner)->u.deleted_section = dsec; break; } } @@ -5951,6 +5979,125 @@ adjust_opd_syms (struct elf_link_hash_en return TRUE; } +/* Handles decrementing dynamic reloc counts for the reloc specified by + R_INFO in section SEC. If LOCAL_SYMS is NULL, then H and SYM_SEC + have already been determined. */ + +static bfd_boolean +dec_dynrel_count (bfd_vma r_info, + asection *sec, + struct bfd_link_info *info, + Elf_Internal_Sym **local_syms, + struct elf_link_hash_entry *h, + asection *sym_sec) +{ + enum elf_ppc64_reloc_type r_type; + struct ppc_dyn_relocs *p; + struct ppc_dyn_relocs **pp; + + /* Can this reloc be dynamic? This switch, and later tests here + should be kept in sync with the code in check_relocs. */ + r_type = ELF64_R_TYPE (r_info); + switch (r_type) + { + default: + return TRUE; + + case R_PPC64_TPREL16: + case R_PPC64_TPREL16_LO: + case R_PPC64_TPREL16_HI: + case R_PPC64_TPREL16_HA: + case R_PPC64_TPREL16_DS: + case R_PPC64_TPREL16_LO_DS: + case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: + case R_PPC64_TPREL16_HIGHEST: + case R_PPC64_TPREL16_HIGHESTA: + if (!info->shared) + return TRUE; + + case R_PPC64_TPREL64: + case R_PPC64_DTPMOD64: + case R_PPC64_DTPREL64: + case R_PPC64_ADDR64: + case R_PPC64_REL30: + case R_PPC64_REL32: + case R_PPC64_REL64: + case R_PPC64_ADDR14: + case R_PPC64_ADDR14_BRNTAKEN: + case R_PPC64_ADDR14_BRTAKEN: + case R_PPC64_ADDR16: + case R_PPC64_ADDR16_DS: + case R_PPC64_ADDR16_HA: + case R_PPC64_ADDR16_HI: + case R_PPC64_ADDR16_HIGHER: + case R_PPC64_ADDR16_HIGHERA: + case R_PPC64_ADDR16_HIGHEST: + case R_PPC64_ADDR16_HIGHESTA: + case R_PPC64_ADDR16_LO: + case R_PPC64_ADDR16_LO_DS: + case R_PPC64_ADDR24: + case R_PPC64_ADDR32: + case R_PPC64_UADDR16: + case R_PPC64_UADDR32: + case R_PPC64_UADDR64: + case R_PPC64_TOC: + break; + } + + if (local_syms != NULL) + { + unsigned long r_symndx; + Elf_Internal_Sym *sym; + bfd *ibfd = sec->owner; + + r_symndx = ELF64_R_SYM (r_info); + if (!get_sym_h (&h, &sym, &sym_sec, NULL, local_syms, r_symndx, ibfd)) + return FALSE; + } + + if ((info->shared + && (MUST_BE_DYN_RELOC (r_type) + || (h != NULL + && (!info->symbolic + || h->root.type == bfd_link_hash_defweak + || !h->def_regular)))) + || (ELIMINATE_COPY_RELOCS + && !info->shared + && h != NULL + && (h->root.type == bfd_link_hash_defweak + || !h->def_regular))) + ; + else + return TRUE; + + if (h != NULL) + pp = &((struct ppc_link_hash_entry *) h)->dyn_relocs; + else if (sym_sec != NULL) + pp = (struct ppc_dyn_relocs **) &elf_section_data (sym_sec)->local_dynrel; + else + pp = (struct ppc_dyn_relocs **) &elf_section_data (sec)->local_dynrel; + + while ((p = *pp) != NULL) + { + if (p->sec == sec) + { + if (!MUST_BE_DYN_RELOC (r_type)) + p->pc_count -= 1; + p->count -= 1; + if (p->count == 0) + *pp = p->next; + return TRUE; + } + pp = &p->next; + } + + (*_bfd_error_handler) (_("dynreloc miscount for %B, section %A"), + sec->owner, sec); + bfd_set_error (bfd_error_bad_value); + return FALSE; +} + /* Remove unused Official Procedure Descriptor entries. Currently we only remove those associated with functions in discarded link-once sections, or weakly defined functions that have been overridden. It @@ -5959,6 +6106,7 @@ adjust_opd_syms (struct elf_link_hash_en bfd_boolean ppc64_elf_edit_opd (bfd *obfd, struct bfd_link_info *info, + bfd_boolean no_opd_opt, bfd_boolean non_overlapping) { bfd *ibfd; @@ -5979,7 +6127,7 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf bfd_size_type cnt_16b = 0; sec = bfd_get_section_by_name (ibfd, ".opd"); - if (sec == NULL) + if (sec == NULL || sec->size == 0) continue; amt = sec->size * sizeof (long) / 8; @@ -5988,11 +6136,16 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf { /* check_relocs hasn't been called. Must be a ld -r link or --just-symbols object. */ - opd_adjust = bfd_zalloc (obfd, amt); + opd_adjust = bfd_alloc (obfd, amt); + if (opd_adjust == NULL) + return FALSE; ppc64_elf_section_data (sec)->opd.adjust = opd_adjust; } memset (opd_adjust, 0, amt); + if (no_opd_opt) + continue; + if (sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS) continue; @@ -6161,18 +6314,16 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf elf_section_data (sec)->relocs = relstart; - wptr = sec->contents; - rptr = sec->contents; new_contents = sec->contents; - if (add_aux_fields) { new_contents = bfd_malloc (sec->size + cnt_16b * 8); if (new_contents == NULL) return FALSE; need_pad = FALSE; - wptr = new_contents; } + wptr = new_contents; + rptr = sec->contents; write_rel = relstart; skip = FALSE; @@ -6271,33 +6422,9 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf if (skip) { - BFD_ASSERT (MUST_BE_DYN_RELOC (ELF64_R_TYPE (rel->r_info))); - if (info->shared) - { - /* We won't be needing dynamic relocs here. */ - struct ppc_dyn_relocs **pp; - struct ppc_dyn_relocs *p; - - if (h != NULL) - pp = &((struct ppc_link_hash_entry *) h)->dyn_relocs; - else if (sym_sec != NULL) - pp = ((struct ppc_dyn_relocs **) - &elf_section_data (sym_sec)->local_dynrel); - else - pp = ((struct ppc_dyn_relocs **) - &elf_section_data (sec)->local_dynrel); - while ((p = *pp) != NULL) - { - if (p->sec == sec) - { - p->count -= 1; - if (p->count == 0) - *pp = p->next; - break; - } - pp = &p->next; - } - } + if (!dec_dynrel_count (rel->r_info, sec, info, + NULL, h, sym_sec)) + goto error_ret; } else { @@ -6668,29 +6795,20 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIB ent->got.refcount -= 1; } } - else if (h != NULL) + else { - struct ppc_link_hash_entry * eh; - struct ppc_dyn_relocs **pp; - struct ppc_dyn_relocs *p; - - /* Adjust dynamic relocs. */ - eh = (struct ppc_link_hash_entry *) h; - for (pp = &eh->dyn_relocs; - (p = *pp) != NULL; - pp = &p->next) - if (p->sec == sec) - { - /* If we got rid of a DTPMOD/DTPREL reloc - pair then we'll lose one or two dyn - relocs. */ - if (tls_set == (TLS_EXPLICIT | TLS_GD)) - p->count -= 1; - p->count -= 1; - if (p->count == 0) - *pp = p->next; - break; - } + /* If we got rid of a DTPMOD/DTPREL reloc pair then + we'll lose one or two dyn relocs. */ + if (!dec_dynrel_count (rel->r_info, sec, info, + NULL, h, sym_sec)) + return FALSE; + + if (tls_set == (TLS_EXPLICIT | TLS_GD)) + { + if (!dec_dynrel_count ((rel + 1)->r_info, sec, info, + NULL, h, sym_sec)) + return FALSE; + } } *tls_mask |= tls_set; @@ -7056,6 +7174,10 @@ ppc64_elf_edit_toc (bfd *obfd ATTRIBUTE_ wrel->r_addend = rel->r_addend; ++wrel; } + else if (!dec_dynrel_count (rel->r_info, toc, info, + &local_syms, NULL, NULL)) + goto error_ret; + toc->reloc_count = wrel - relstart; sz = elf_section_data (toc)->rel_hdr.sh_entsize; elf_section_data (toc)->rel_hdr.sh_size = toc->reloc_count * sz; diff -Nurp binutils-2.16/bfd/elf64-ppc.h binutils-2.16.1/bfd/elf64-ppc.h --- binutils-2.16/bfd/elf64-ppc.h 2005-03-03 06:41:00.000000000 -0500 +++ binutils-2.16.1/bfd/elf64-ppc.h 2005-06-12 13:37:59.000000000 -0400 @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suit void ppc64_elf_init_stub_bfd (bfd *, struct bfd_link_info *); bfd_boolean ppc64_elf_edit_opd - (bfd *, struct bfd_link_info *, bfd_boolean); + (bfd *, struct bfd_link_info *, bfd_boolean, bfd_boolean); asection *ppc64_elf_tls_setup (bfd *, struct bfd_link_info *); bfd_boolean ppc64_elf_tls_optimize diff -Nurp binutils-2.16/bfd/elfcode.h binutils-2.16.1/bfd/elfcode.h --- binutils-2.16/bfd/elfcode.h 2005-02-20 09:59:07.000000000 -0500 +++ binutils-2.16.1/bfd/elfcode.h 2005-05-29 18:00:10.000000000 -0400 @@ -33,7 +33,7 @@ Foundation, Inc., 59 Temple Place - Suit /* Problems and other issues to resolve. (1) BFD expects there to be some fixed number of "sections" in - the object file. I.E. there is a "section_count" variable in the + the object file. I.E. there is a "section_count" variable in the bfd structure which contains the number of sections. However, ELF supports multiple "views" of a file. In particular, with current implementations, executable files typically have two tables, a @@ -612,8 +612,13 @@ elf_object_p (bfd *abfd) if (i_ehdrp->e_shoff != 0) { + bfd_signed_vma where = i_ehdrp->e_shoff; + + if (where != (file_ptr) where) + goto got_wrong_format_error; + /* Seek to the section header table in the file. */ - if (bfd_seek (abfd, (file_ptr) i_ehdrp->e_shoff, SEEK_SET) != 0) + if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0) goto got_no_match; /* Read the first section header at index 0, and convert to internal @@ -625,11 +630,46 @@ elf_object_p (bfd *abfd) /* If the section count is zero, the actual count is in the first section header. */ if (i_ehdrp->e_shnum == SHN_UNDEF) - i_ehdrp->e_shnum = i_shdr.sh_size; + { + i_ehdrp->e_shnum = i_shdr.sh_size; + if (i_ehdrp->e_shnum != i_shdr.sh_size + || i_ehdrp->e_shnum == 0) + goto got_wrong_format_error; + } /* And similarly for the string table index. */ if (i_ehdrp->e_shstrndx == SHN_XINDEX) - i_ehdrp->e_shstrndx = i_shdr.sh_link; + { + i_ehdrp->e_shstrndx = i_shdr.sh_link; + if (i_ehdrp->e_shstrndx != i_shdr.sh_link) + goto got_wrong_format_error; + } + + /* Sanity check that we can read all of the section headers. + It ought to be good enough to just read the last one. */ + if (i_ehdrp->e_shnum != 1) + { + /* Check that we don't have a totally silly number of sections. */ + if (i_ehdrp->e_shnum > (unsigned int) -1 / sizeof (x_shdr) + || i_ehdrp->e_shnum > (unsigned int) -1 / sizeof (i_shdr)) + goto got_wrong_format_error; + + where += (i_ehdrp->e_shnum - 1) * sizeof (x_shdr); + if (where != (file_ptr) where) + goto got_wrong_format_error; + if ((bfd_size_type) where <= i_ehdrp->e_shoff) + goto got_wrong_format_error; + + if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0) + goto got_no_match; + if (bfd_bread (&x_shdr, sizeof x_shdr, abfd) != sizeof (x_shdr)) + goto got_no_match; + + /* Back to where we were. */ + where = i_ehdrp->e_shoff + sizeof (x_shdr); + if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0) + goto got_no_match; + } } /* Allocate space for a copy of the section header table in @@ -673,6 +713,20 @@ elf_object_p (bfd *abfd) goto got_no_match; elf_swap_shdr_in (abfd, &x_shdr, i_shdrp + shindex); + /* Sanity check sh_link and sh_info. */ + if (i_shdrp[shindex].sh_link >= num_sec + || (i_shdrp[shindex].sh_link >= SHN_LORESERVE + && i_shdrp[shindex].sh_link <= SHN_HIRESERVE)) + goto got_wrong_format_error; + + if (((i_shdrp[shindex].sh_flags & SHF_INFO_LINK) + || i_shdrp[shindex].sh_type == SHT_RELA + || i_shdrp[shindex].sh_type == SHT_REL) + && (i_shdrp[shindex].sh_info >= num_sec + || (i_shdrp[shindex].sh_info >= SHN_LORESERVE + && i_shdrp[shindex].sh_info <= SHN_HIRESERVE))) + goto got_wrong_format_error; + /* If the section is loaded, but not page aligned, clear D_PAGED. */ if (i_shdrp[shindex].sh_size != 0 @@ -685,6 +739,17 @@ elf_object_p (bfd *abfd) } } + /* A further sanity check. */ + if (i_ehdrp->e_shnum != 0) + { + if (i_ehdrp->e_shstrndx >= elf_numsections (abfd) + || (i_ehdrp->e_shstrndx >= SHN_LORESERVE + && i_ehdrp->e_shstrndx <= SHN_HIRESERVE)) + goto got_wrong_format_error; + } + else if (i_ehdrp->e_shstrndx != 0) + goto got_wrong_format_error; + /* Read in the program headers. */ if (i_ehdrp->e_phnum == 0) elf_tdata (abfd)->phdr = NULL; @@ -1042,7 +1107,7 @@ elf_slurp_symbol_table (bfd *abfd, asymb symcount); /* Slurp in the symbols without the version information, - since that is more helpful than just quitting. */ + since that is more helpful than just quitting. */ verhdr = NULL; } @@ -1107,7 +1172,7 @@ elf_slurp_symbol_table (bfd *abfd, asymb sym->symbol.section = bfd_abs_section_ptr; /* If this is a relocatable file, then the symbol value is - already section relative. */ + already section relative. */ if ((abfd->flags & (EXEC_P | DYNAMIC)) != 0) sym->symbol.value -= sym->symbol.section->vma; diff -Nurp binutils-2.16/bfd/elfxx-mips.c binutils-2.16.1/bfd/elfxx-mips.c --- binutils-2.16/bfd/elfxx-mips.c 2005-04-19 14:37:04.000000000 -0400 +++ binutils-2.16.1/bfd/elfxx-mips.c 2005-05-28 17:58:29.000000000 -0400 @@ -4990,6 +4990,13 @@ _bfd_mips_elf_section_processing (bfd *a bfd_mips_elf_swap_options_in (abfd, (Elf_External_Options *) l, &intopt); + if (intopt.size < sizeof (Elf_External_Options)) + { + (*_bfd_error_handler) + (_("%B: Warning: bad `%s' option size %u smaller than its header"), + abfd, MIPS_ELF_OPTIONS_SECTION_NAME (abfd), intopt.size); + break; + } if (ABI_64_P (abfd) && intopt.kind == ODK_REGINFO) { bfd_byte buf[8]; @@ -5202,6 +5209,13 @@ _bfd_mips_elf_section_from_shdr (bfd *ab bfd_mips_elf_swap_options_in (abfd, (Elf_External_Options *) l, &intopt); + if (intopt.size < sizeof (Elf_External_Options)) + { + (*_bfd_error_handler) + (_("%B: Warning: bad `%s' option size %u smaller than its header"), + abfd, MIPS_ELF_OPTIONS_SECTION_NAME (abfd), intopt.size); + break; + } if (ABI_64_P (abfd) && intopt.kind == ODK_REGINFO) { Elf64_Internal_RegInfo intreg; @@ -5240,8 +5254,10 @@ bfd_boolean _bfd_mips_elf_fake_sections (bfd *abfd, Elf_Internal_Shdr *hdr, asection *sec) { register const char *name; + unsigned int sh_type; name = bfd_get_section_name (abfd, sec); + sh_type = hdr->sh_type; if (strcmp (name, ".liblist") == 0) { @@ -5343,6 +5359,12 @@ _bfd_mips_elf_fake_sections (bfd *abfd, hdr->sh_entsize = 8; } + /* In the unlikely event a special section is empty it has to lose its + special meaning. This may happen e.g. when using `strip' with the + "--only-keep-debug" option. */ + if (sec->size > 0 && !(sec->flags & SEC_HAS_CONTENTS)) + hdr->sh_type = sh_type; + /* The generic elf_fake_sections will set up REL_HDR using the default kind of relocations. We used to set up a second header for the non-default kind of relocations here, but only NewABI would use @@ -7674,18 +7696,6 @@ _bfd_mips_elf_finish_dynamic_sections (b dyn.d_un.d_ptr = s->vma; break; - case DT_RELSZ: - /* Reduce DT_RELSZ to account for any relocations we - decided not to make. This is for the n64 irix rld, - which doesn't seem to apply any relocations if there - are trailing null entries. */ - s = mips_elf_rel_dyn_section (dynobj, FALSE); - dyn.d_un.d_val = (s->reloc_count - * (ABI_64_P (output_bfd) - ? sizeof (Elf64_Mips_External_Rel) - : sizeof (Elf32_External_Rel))); - break; - default: swap_out_p = FALSE; break; @@ -7747,6 +7757,55 @@ _bfd_mips_elf_finish_dynamic_sections (b } } + /* The generation of dynamic relocations for the non-primary gots + adds more dynamic relocations. We cannot count them until + here. */ + + if (elf_hash_table (info)->dynamic_sections_created) + { + bfd_byte *b; + bfd_boolean swap_out_p; + + BFD_ASSERT (sdyn != NULL); + + for (b = sdyn->contents; + b < sdyn->contents + sdyn->size; + b += MIPS_ELF_DYN_SIZE (dynobj)) + { + Elf_Internal_Dyn dyn; + asection *s; + + /* Read in the current dynamic entry. */ + (*get_elf_backend_data (dynobj)->s->swap_dyn_in) (dynobj, b, &dyn); + + /* Assume that we're going to modify it and write it out. */ + swap_out_p = TRUE; + + switch (dyn.d_tag) + { + case DT_RELSZ: + /* Reduce DT_RELSZ to account for any relocations we + decided not to make. This is for the n64 irix rld, + which doesn't seem to apply any relocations if there + are trailing null entries. */ + s = mips_elf_rel_dyn_section (dynobj, FALSE); + dyn.d_un.d_val = (s->reloc_count + * (ABI_64_P (output_bfd) + ? sizeof (Elf64_Mips_External_Rel) + : sizeof (Elf32_External_Rel))); + break; + + default: + swap_out_p = FALSE; + break; + } + + if (swap_out_p) + (*get_elf_backend_data (dynobj)->s->swap_dyn_out) + (dynobj, &dyn, b); + } + } + { asection *s; Elf32_compact_rel cpt; diff -Nurp binutils-2.16/bfd/version.h binutils-2.16.1/bfd/version.h --- binutils-2.16/bfd/version.h 2005-05-02 15:43:09.000000000 -0400 +++ binutils-2.16.1/bfd/version.h 2005-06-12 13:37:59.000000000 -0400 @@ -1,3 +1,3 @@ -#define BFD_VERSION_DATE 20050502 +#define BFD_VERSION_DATE 20050612 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_string@ diff -Nurp binutils-2.16/binutils/doc/binutils.info binutils-2.16.1/binutils/doc/binutils.info --- binutils-2.16/binutils/doc/binutils.info 2005-05-02 17:19:14.000000000 -0400 +++ binutils-2.16.1/binutils/doc/binutils.info 2005-06-12 15:32:57.000000000 -0400 @@ -37,7 +37,7 @@ Introduction ************ This brief manual contains documentation for the GNU binary utilities -(collectively version 2.16): +(collectively version 2.16.1): This document is distributed under the terms of the GNU Free Documentation License. A copy of the license is included in the @@ -3656,31 +3656,31 @@ Index  Tag Table: Node: Top1697 -Node: ar3179 -Node: ar cmdline5357 -Node: ar scripts13500 -Node: nm19188 -Node: objcopy27384 -Node: objdump49375 -Node: ranlib63691 -Node: size64446 -Node: strings67293 -Node: strip69643 -Node: c++filt74853 -Ref: c++filt-Footnote-178168 -Node: addr2line78274 -Node: nlmconv80874 -Node: windres83480 -Node: dlltool89213 -Node: def file format99639 -Node: readelf101377 -Node: Selecting The Target System105766 -Node: Target Selection106691 -Node: Architecture Selection108673 -Node: Reporting Bugs109501 -Node: Bug Criteria110280 -Node: Bug Reporting110833 -Node: GNU Free Documentation License117927 -Node: Index137654 +Node: ar3181 +Node: ar cmdline5359 +Node: ar scripts13502 +Node: nm19190 +Node: objcopy27386 +Node: objdump49377 +Node: ranlib63693 +Node: size64448 +Node: strings67295 +Node: strip69645 +Node: c++filt74855 +Ref: c++filt-Footnote-178170 +Node: addr2line78276 +Node: nlmconv80876 +Node: windres83482 +Node: dlltool89215 +Node: def file format99641 +Node: readelf101379 +Node: Selecting The Target System105768 +Node: Target Selection106693 +Node: Architecture Selection108675 +Node: Reporting Bugs109503 +Node: Bug Criteria110282 +Node: Bug Reporting110835 +Node: GNU Free Documentation License117929 +Node: Index137656  End Tag Table diff -Nurp binutils-2.16/gas/ChangeLog binutils-2.16.1/gas/ChangeLog --- binutils-2.16/gas/ChangeLog 2005-05-02 16:34:56.000000000 -0400 +++ binutils-2.16.1/gas/ChangeLog 2005-06-12 14:29:44.000000000 -0400 @@ -1,3 +1,32 @@ +2005-06-12 Daniel Jacobowitz + + Backport from mainline: + 2005-06-01 Maciej W. Rozycki + * config/tc-mips.c (load_register): Add leading "0x" to the + output of sprintf_vma(). + (macro): Likewise. + +2005-06-08 Kazuhiro Inaoka + + * config/tc-m32r.c (use_parallel): Change default value from 1 to 0. + +2005-05-19 Jan Beulich + + * config/tc-ia64.c (dot_endp): Don't use global symbol for unwind + relocations in unwind section. + +2005-05-17 Daniel Jacobowitz + + Backport from mainline: + 2005-05-05 Nick Clifton + * config/tc-arm.c (arm_opts): Make -mlittle-endian switch set + the target_big_endian variable to false. + +2005-05-17 Daniel Jacobowitz + + * doc/Makefile.am (gasver.texi): Don't use $<. + * doc/Makefile.in: Regenerated. + 2005-05-02 Daniel Jacobowitz * doc/Makefile.am (gasver.texi): Correct quoting. diff -Nurp binutils-2.16/gas/config/tc-arm.c binutils-2.16.1/gas/config/tc-arm.c --- binutils-2.16/gas/config/tc-arm.c 2005-02-23 07:28:03.000000000 -0500 +++ binutils-2.16.1/gas/config/tc-arm.c 2005-05-17 15:51:33.000000000 -0400 @@ -12513,7 +12513,7 @@ struct arm_option_table arm_opts[] = {"mapcs-reentrant", N_("re-entrant code"), &pic_code, 1, NULL}, {"matpcs", N_("code is ATPCS conformant"), &atpcs, 1, NULL}, {"mbig-endian", N_("assemble for big-endian"), &target_big_endian, 1, NULL}, - {"mlittle-endian", N_("assemble for little-endian"), &target_big_endian, 1, + {"mlittle-endian", N_("assemble for little-endian"), &target_big_endian, 0, NULL}, /* These are recognized by the assembler, but have no affect on code. */ diff -Nurp binutils-2.16/gas/config/tc-ia64.c binutils-2.16.1/gas/config/tc-ia64.c --- binutils-2.16/gas/config/tc-ia64.c 2005-04-20 14:41:36.000000000 -0400 +++ binutils-2.16.1/gas/config/tc-ia64.c 2005-05-28 17:52:38.000000000 -0400 @@ -4420,7 +4420,13 @@ dot_endp (dummy) e.X_op = O_pseudo_fixup; e.X_op_symbol = pseudo_func[FUNC_SEG_RELATIVE].u.sym; e.X_add_number = 0; - e.X_add_symbol = unwind.proc_start; + if (!S_IS_LOCAL (unwind.proc_start) + && S_IS_DEFINED (unwind.proc_start)) + e.X_add_symbol = symbol_temp_new (S_GET_SEGMENT (unwind.proc_start), + S_GET_VALUE (unwind.proc_start), + symbol_get_frag (unwind.proc_start)); + else + e.X_add_symbol = unwind.proc_start; ia64_cons_fix_new (frag_now, where, bytes_per_address, &e); e.X_op = O_pseudo_fixup; diff -Nurp binutils-2.16/gas/config/tc-m32r.c binutils-2.16.1/gas/config/tc-m32r.c --- binutils-2.16/gas/config/tc-m32r.c 2005-03-03 06:47:52.000000000 -0500 +++ binutils-2.16.1/gas/config/tc-m32r.c 2005-06-12 13:38:02.000000000 -0400 @@ -120,7 +120,7 @@ static int warn_explicit_parallel_confli static int ignore_parallel_conflicts = 0; /* Non-zero if insns can be made parallel. */ -static int use_parallel = 1; +static int use_parallel = 0; /* Non-zero if optimizations should be performed. */ static int optimize; diff -Nurp binutils-2.16/gas/config/tc-mips.c binutils-2.16.1/gas/config/tc-mips.c --- binutils-2.16/gas/config/tc-mips.c 2005-04-20 14:41:36.000000000 -0400 +++ binutils-2.16.1/gas/config/tc-mips.c 2005-06-12 14:07:03.000000000 -0400 @@ -3558,7 +3558,7 @@ load_register (int reg, expressionS *ep, char value[32]; sprintf_vma (value, ep->X_add_number); - as_bad (_("Number (%s) larger than 32 bits"), value); + as_bad (_("Number (0x%s) larger than 32 bits"), value); macro_build (ep, "addiu", "t,r,j", reg, 0, BFD_RELOC_LO16); return; } @@ -5805,7 +5805,7 @@ macro (struct mips_cl_insn *ip) char value [32]; sprintf_vma (value, offset_expr.X_add_number); - as_bad (_("Number (%s) larger than 32 bits"), value); + as_bad (_("Number (0x%s) larger than 32 bits"), value); } /* A constant expression in PIC code can be handled just as it @@ -6399,7 +6399,7 @@ macro (struct mips_cl_insn *ip) char value [32]; sprintf_vma (value, offset_expr.X_add_number); - as_bad (_("Number (%s) larger than 32 bits"), value); + as_bad (_("Number (0x%s) larger than 32 bits"), value); } /* Even on a big endian machine $fn comes before $fn+1. We have diff -Nurp binutils-2.16/gas/doc/Makefile.am binutils-2.16.1/gas/doc/Makefile.am --- binutils-2.16/gas/doc/Makefile.am 2005-05-02 16:33:51.000000000 -0400 +++ binutils-2.16.1/gas/doc/Makefile.am 2005-05-17 15:46:18.000000000 -0400 @@ -60,7 +60,8 @@ CPU_DOCS = \ gasver.texi: $(srcdir)/../../bfd/configure rm -f $@ - eval `grep '^ *VERSION=' $<`; echo "@set VERSION $$VERSION" > $@ + eval `grep '^ *VERSION=' $(srcdir)/../../bfd/configure`; \ + echo "@set VERSION $$VERSION" > $@ $(srcdir)/as.info: $(srcdir)/as.texinfo asconfig.texi gasver.texi $(CPU_DOCS) as.dvi: $(srcdir)/as.texinfo asconfig.texi gasver.texi $(CPU_DOCS) diff -Nurp binutils-2.16/gas/doc/Makefile.in binutils-2.16.1/gas/doc/Makefile.in --- binutils-2.16/gas/doc/Makefile.in 2005-05-02 16:34:01.000000000 -0400 +++ binutils-2.16.1/gas/doc/Makefile.in 2005-05-17 15:46:18.000000000 -0400 @@ -581,7 +581,8 @@ asconfig.texi: $(CONFIG).texi gasver.texi: $(srcdir)/../../bfd/configure rm -f $@ - eval `grep '^ *VERSION=' $<`; echo "@set VERSION $$VERSION" > $@ + eval `grep '^ *VERSION=' $(srcdir)/../../bfd/configure`; \ + echo "@set VERSION $$VERSION" > $@ $(srcdir)/as.info: $(srcdir)/as.texinfo asconfig.texi gasver.texi $(CPU_DOCS) as.dvi: $(srcdir)/as.texinfo asconfig.texi gasver.texi $(CPU_DOCS) diff -Nurp binutils-2.16/gas/doc/as.1 binutils-2.16.1/gas/doc/as.1 --- binutils-2.16/gas/doc/as.1 2005-05-02 17:19:16.000000000 -0400 +++ binutils-2.16.1/gas/doc/as.1 2005-06-12 15:02:27.000000000 -0400 @@ -128,7 +128,7 @@ .\" ======================================================================== .\" .IX Title "AS 1" -.TH AS 1 "2005-05-02" "binutils-2.16" "GNU Development Tools" +.TH AS 1 "2005-06-12" "binutils-2.16.1" "GNU Development Tools" .SH "NAME" AS \- the portable GNU assembler. .SH "SYNOPSIS" diff -Nurp binutils-2.16/gas/doc/as.info binutils-2.16.1/gas/doc/as.info --- binutils-2.16/gas/doc/as.info 2005-05-02 17:19:15.000000000 -0400 +++ binutils-2.16.1/gas/doc/as.info 2005-06-12 15:02:26.000000000 -0400 @@ -21,470 +21,470 @@ Free Documentation License".  Indirect: as.info-1: 778 -as.info-2: 299491 -as.info-3: 569895 +as.info-2: 299493 +as.info-3: 569897  Tag Table: (Indirect) Node: Top778 -Node: Overview1695 -Node: Manual24911 -Node: GNU Assembler25855 -Node: Object Formats27026 -Node: Command Line27478 -Node: Input Files28565 -Node: Object30546 -Node: Errors31498 -Node: Invoking32693 -Node: a34642 -Node: alternate36414 -Node: D36586 -Node: f36819 -Node: I37327 -Node: K37871 -Node: L38174 -Node: listing39011 -Node: M40603 -Node: MD45004 -Node: o45430 -Node: R45885 -Node: statistics46915 -Node: traditional-format47322 -Node: v47795 -Node: W48070 -Node: Z48977 -Node: Syntax49499 -Node: Preprocessing50090 -Node: Whitespace51653 -Node: Comments52049 -Node: Symbol Intro54242 -Node: Statements54932 -Node: Constants56848 -Node: Characters57479 -Node: Strings57981 -Node: Chars60147 -Node: Numbers60901 -Node: Integers61441 -Node: Bignums62097 -Node: Flonums62453 -Node: Sections64208 -Node: Secs Background64586 -Node: Ld Sections69636 -Node: As Sections72020 -Node: Sub-Sections72930 -Node: bss76077 -Node: Symbols77027 -Node: Labels77675 -Node: Setting Symbols78406 -Node: Symbol Names78776 -Node: Dot83245 -Node: Symbol Attributes83692 -Node: Symbol Value84429 -Node: Symbol Type85474 -Node: a.out Symbols85862 -Node: Symbol Desc86124 -Node: Symbol Other86419 -Node: COFF Symbols86588 -Node: SOM Symbols87261 -Node: Expressions87703 -Node: Empty Exprs88452 -Node: Integer Exprs88799 -Node: Arguments89194 -Node: Operators90300 -Node: Prefix Ops90635 -Node: Infix Ops90963 -Node: Pseudo Ops93360 -Node: Abort98384 -Node: ABORT98789 -Node: Align99056 -Node: Ascii101350 -Node: Asciz101659 -Node: Balign101904 -Node: Byte103767 -Node: Comm104005 -Node: CFI directives105379 -Node: Data107635 -Node: Def107962 -Node: Desc108337 -Node: Dim108837 -Node: Double109235 -Node: Eject109573 -Node: Else109748 -Node: Elseif110044 -Node: End110334 -Node: Endef110549 -Node: Endfunc110879 -Node: Endif111054 -Node: Equ111315 -Node: Equiv111624 -Node: Err112124 -Node: Error112434 -Node: Exitm112879 -Node: Extern113048 -Node: Fail113309 -Node: File113754 -Node: Fill114370 -Node: Float115334 -Node: Func115676 -Node: Global116266 -Node: Hidden117016 -Node: hword117595 -Node: Ident117923 -Node: If118229 -Node: Incbin121025 -Node: Include121720 -Node: Int122271 -Node: Internal122652 -Node: Irp123300 -Node: Irpc124105 -Node: Lcomm124930 -Node: Lflags125678 -Node: Line125872 -Node: Linkonce126905 -Node: Ln128132 -Node: MRI128287 -Node: List128625 -Node: Long129235 -Node: Macro129411 -Node: Altmacro132149 -Node: Noaltmacro133479 -Node: Nolist133647 -Node: Octa134077 -Node: Org134411 -Node: P2align135694 -Node: Previous137622 -Node: PopSection138316 -Node: Print138824 -Node: Protected139053 -Node: Psize139700 -Node: Purgem140384 -Node: PushSection140605 -Node: Quad141162 -Node: Rept141617 -Node: Sbttl142030 -Node: Scl142395 -Node: Section142898 -Node: Set148037 -Node: Short148596 -Node: Single148916 -Node: Size149261 -Node: Sleb128150075 -Node: Skip150397 -Node: Space150719 -Node: Stab151611 -Node: String153613 -Node: Struct154039 -Node: SubSection154762 -Node: Symver155323 -Node: Tag157714 -Node: Text158229 -Node: Title158548 -Node: Type158927 -Node: Uleb128160144 -Node: Val160466 -Node: Version160834 -Node: VTableEntry161107 -Node: VTableInherit161395 -Node: Warning161841 -Node: Weak162075 -Node: Word162741 -Node: Deprecated164584 -Node: Machine Dependencies164819 -Node: AMD29K-Dependent167599 -Node: AMD29K Options167990 -Node: AMD29K Syntax168173 -Node: AMD29K-Macros168449 -Node: AMD29K-Chars168713 -Node: AMD29K-Regs168989 -Node: AMD29K Floating Point170268 -Node: AMD29K Directives170483 -Node: AMD29K Opcodes171903 -Node: Alpha-Dependent172248 -Node: Alpha Notes172687 -Node: Alpha Options172968 -Node: Alpha Syntax175166 -Node: Alpha-Chars175635 -Node: Alpha-Regs175866 -Node: Alpha-Relocs176253 -Node: Alpha Floating Point182244 -Node: Alpha Directives182466 -Node: Alpha Opcodes187989 -Node: ARC-Dependent188284 -Node: ARC Options188667 -Node: ARC Syntax189736 -Node: ARC-Chars189968 -Node: ARC-Regs190100 -Node: ARC Floating Point190224 -Node: ARC Directives190535 -Node: ARC Opcodes196506 -Node: ARM-Dependent196732 -Node: ARM Options197159 -Node: ARM Syntax202760 -Node: ARM-Chars202992 -Node: ARM-Regs203516 -Node: ARM Floating Point203701 -Node: ARM Directives203900 -Node: ARM Opcodes209674 -Node: ARM Mapping Symbols211762 -Node: CRIS-Dependent212541 -Node: CRIS-Opts212886 -Ref: march-option214504 -Node: CRIS-Expand216321 -Node: CRIS-Symbols217504 -Node: CRIS-Syntax218673 -Node: CRIS-Chars219009 -Node: CRIS-Pic219560 -Ref: crispic219756 -Node: CRIS-Regs223296 -Node: CRIS-Pseudos223713 -Ref: crisnous224489 -Node: D10V-Dependent225771 -Node: D10V-Opts226122 -Node: D10V-Syntax227085 -Node: D10V-Size227614 -Node: D10V-Subs228587 -Node: D10V-Chars229622 -Node: D10V-Regs231226 -Node: D10V-Addressing232271 -Node: D10V-Word232957 -Node: D10V-Float233472 -Node: D10V-Opcodes233783 -Node: D30V-Dependent234176 -Node: D30V-Opts234529 -Node: D30V-Syntax235204 -Node: D30V-Size235736 -Node: D30V-Subs236707 -Node: D30V-Chars237742 -Node: D30V-Guarded240040 -Node: D30V-Regs240720 -Node: D30V-Addressing241859 -Node: D30V-Float242527 -Node: D30V-Opcodes242838 -Node: H8/300-Dependent243231 -Node: H8/300 Options243643 -Node: H8/300 Syntax243852 -Node: H8/300-Chars244151 -Node: H8/300-Regs244448 -Node: H8/300-Addressing245365 -Node: H8/300 Floating Point246404 -Node: H8/300 Directives246729 -Node: H8/300 Opcodes247855 -Node: H8/500-Dependent256175 -Node: H8/500 Options256587 -Node: H8/500 Syntax256796 -Node: H8/500-Chars257095 -Node: H8/500-Regs257399 -Node: H8/500-Addressing258168 -Node: H8/500 Floating Point258798 -Node: H8/500 Directives259123 -Node: H8/500 Opcodes259451 -Node: HPPA-Dependent264563 -Node: HPPA Notes264998 -Node: HPPA Options265756 -Node: HPPA Syntax265951 -Node: HPPA Floating Point267221 -Node: HPPA Directives267427 -Node: HPPA Opcodes276113 -Node: ESA/390-Dependent276372 -Node: ESA/390 Notes276832 -Node: ESA/390 Options277623 -Node: ESA/390 Syntax277833 -Node: ESA/390 Floating Point280006 -Node: ESA/390 Directives280285 -Node: ESA/390 Opcodes283574 -Node: i386-Dependent283836 -Node: i386-Options284904 -Node: i386-Syntax285749 -Node: i386-Mnemonics288163 -Node: i386-Regs290628 -Node: i386-Prefixes292673 -Node: i386-Memory295433 -Node: i386-Jumps298370 -Node: i386-Float299491 -Node: i386-SIMD301320 -Node: i386-16bit302429 -Node: i386-Bugs304467 -Node: i386-Arch305221 -Node: i386-Notes307356 -Node: i860-Dependent308214 -Node: Notes-i860308610 -Node: Options-i860309515 -Node: Directives-i860310878 -Node: Opcodes for i860311947 -Node: i960-Dependent314114 -Node: Options-i960314517 -Node: Floating Point-i960318401 -Node: Directives-i960318669 -Node: Opcodes for i960320703 -Node: callj-i960321320 -Node: Compare-and-branch-i960321809 -Node: IA-64-Dependent323713 -Node: IA-64 Options324014 -Node: IA-64 Syntax327046 -Node: IA-64-Chars327409 -Node: IA-64-Regs327639 -Node: IA-64-Bits328565 -Node: IA-64 Opcodes329074 -Node: IP2K-Dependent329346 -Node: IP2K-Opts329574 -Node: M32R-Dependent330054 -Node: M32R-Opts330375 -Node: M32R-Directives334541 -Node: M32R-Warnings338516 -Node: M68K-Dependent341522 -Node: M68K-Opts341989 -Node: M68K-Syntax348474 -Node: M68K-Moto-Syntax350313 -Node: M68K-Float352902 -Node: M68K-Directives353422 -Node: M68K-opcodes354028 -Node: M68K-Branch354254 -Node: M68K-Chars358452 -Node: M68HC11-Dependent358865 -Node: M68HC11-Opts359396 -Node: M68HC11-Syntax363212 -Node: M68HC11-Modifiers365426 -Node: M68HC11-Directives367254 -Node: M68HC11-Float368630 -Node: M68HC11-opcodes369158 -Node: M68HC11-Branch369340 -Node: M88K-Dependent371787 -Node: M88K Directives372038 -Node: MIPS-Dependent373558 -Node: MIPS Opts374645 -Node: MIPS Object381613 -Node: MIPS Stabs383179 -Node: MIPS symbol sizes383901 -Node: MIPS ISA385570 -Node: MIPS autoextend386719 -Node: MIPS insn387449 -Node: MIPS option stack387946 -Node: MIPS ASE instruction generation overrides388720 -Node: MMIX-Dependent389493 -Node: MMIX-Opts389873 -Node: MMIX-Expand393477 -Node: MMIX-Syntax394792 -Ref: mmixsite395149 -Node: MMIX-Chars395990 -Node: MMIX-Symbols396644 -Node: MMIX-Regs398712 -Node: MMIX-Pseudos399737 -Ref: MMIX-loc399878 -Ref: MMIX-local400958 -Ref: MMIX-is401490 -Ref: MMIX-greg401761 -Ref: GREG-base402680 -Ref: MMIX-byte403997 -Ref: MMIX-constants404468 -Ref: MMIX-prefix405114 -Ref: MMIX-spec405488 -Node: MMIX-mmixal405822 -Node: MSP430-Dependent409319 -Node: MSP430 Options409785 -Node: MSP430 Syntax409977 -Node: MSP430-Macros410293 -Node: MSP430-Chars411024 -Node: MSP430-Regs411337 -Node: MSP430-Ext411897 -Node: MSP430 Floating Point413718 -Node: MSP430 Directives413942 -Node: MSP430 Opcodes414733 -Node: MSP430 Profiling Capability415128 -Node: PDP-11-Dependent417457 -Node: PDP-11-Options417846 -Node: PDP-11-Pseudos422917 -Node: PDP-11-Syntax423262 -Node: PDP-11-Mnemonics424013 -Node: PDP-11-Synthetic424315 -Node: PJ-Dependent424533 -Node: PJ Options424758 -Node: PPC-Dependent425035 -Node: PowerPC-Opts425322 -Node: PowerPC-Pseudo427287 -Node: SH-Dependent427886 -Node: SH Options428298 -Node: SH Syntax429152 -Node: SH-Chars429425 -Node: SH-Regs429719 -Node: SH-Addressing430333 -Node: SH Floating Point431242 -Node: SH Directives432336 -Node: SH Opcodes432706 -Node: SH64-Dependent437028 -Node: SH64 Options437391 -Node: SH64 Syntax439108 -Node: SH64-Chars439391 -Node: SH64-Regs439691 -Node: SH64-Addressing440787 -Node: SH64 Directives441970 -Node: SH64 Opcodes443080 -Node: Sparc-Dependent443796 -Node: Sparc-Opts444181 -Node: Sparc-Aligned-Data446438 -Node: Sparc-Float447293 -Node: Sparc-Directives447494 -Node: TIC54X-Dependent449454 -Node: TIC54X-Opts450180 -Node: TIC54X-Block451223 -Node: TIC54X-Env451583 -Node: TIC54X-Constants451931 -Node: TIC54X-Subsyms452333 -Node: TIC54X-Locals454242 -Node: TIC54X-Builtins454986 -Node: TIC54X-Ext457457 -Node: TIC54X-Directives458028 -Node: TIC54X-Macros468930 -Node: TIC54X-MMRegs471040 -Node: Z8000-Dependent471256 -Node: Z8000 Options472220 -Node: Z8000 Syntax472437 -Node: Z8000-Chars472727 -Node: Z8000-Regs472960 -Node: Z8000-Addressing473750 -Node: Z8000 Directives474867 -Node: Z8000 Opcodes476476 -Node: Vax-Dependent486418 -Node: VAX-Opts486935 -Node: VAX-float490670 -Node: VAX-directives491302 -Node: VAX-opcodes492163 -Node: VAX-branch492552 -Node: VAX-operands495059 -Node: VAX-no495822 -Node: V850-Dependent496059 -Node: V850 Options496457 -Node: V850 Syntax498846 -Node: V850-Chars499086 -Node: V850-Regs499251 -Node: V850 Floating Point500819 -Node: V850 Directives501025 -Node: V850 Opcodes502168 -Node: Xtensa-Dependent508060 -Node: Xtensa Options508791 -Node: Xtensa Syntax511562 -Node: Xtensa Opcodes513451 -Node: Xtensa Registers515245 -Node: Xtensa Optimizations515878 -Node: Density Instructions516330 -Node: Xtensa Automatic Alignment517432 -Node: Xtensa Relaxation520178 -Node: Xtensa Branch Relaxation521086 -Node: Xtensa Call Relaxation522458 -Node: Xtensa Immediate Relaxation524244 -Node: Xtensa Directives526818 -Node: Schedule Directive528526 -Node: Longcalls Directive528866 -Node: Transform Directive529410 -Node: Literal Directive530152 -Node: Literal Position Directive531937 -Node: Literal Prefix Directive533636 -Node: Absolute Literals Directive535799 -Node: Reporting Bugs537106 -Node: Bug Criteria537830 -Node: Bug Reporting538595 -Node: Acknowledgements545228 -Ref: Acknowledgements-Footnote-1550147 -Node: GNU Free Documentation License550173 -Node: Index569895 +Node: Overview1697 +Node: Manual24913 +Node: GNU Assembler25857 +Node: Object Formats27028 +Node: Command Line27480 +Node: Input Files28567 +Node: Object30548 +Node: Errors31500 +Node: Invoking32695 +Node: a34644 +Node: alternate36416 +Node: D36588 +Node: f36821 +Node: I37329 +Node: K37873 +Node: L38176 +Node: listing39013 +Node: M40605 +Node: MD45006 +Node: o45432 +Node: R45887 +Node: statistics46917 +Node: traditional-format47324 +Node: v47797 +Node: W48072 +Node: Z48979 +Node: Syntax49501 +Node: Preprocessing50092 +Node: Whitespace51655 +Node: Comments52051 +Node: Symbol Intro54244 +Node: Statements54934 +Node: Constants56850 +Node: Characters57481 +Node: Strings57983 +Node: Chars60149 +Node: Numbers60903 +Node: Integers61443 +Node: Bignums62099 +Node: Flonums62455 +Node: Sections64210 +Node: Secs Background64588 +Node: Ld Sections69638 +Node: As Sections72022 +Node: Sub-Sections72932 +Node: bss76079 +Node: Symbols77029 +Node: Labels77677 +Node: Setting Symbols78408 +Node: Symbol Names78778 +Node: Dot83247 +Node: Symbol Attributes83694 +Node: Symbol Value84431 +Node: Symbol Type85476 +Node: a.out Symbols85864 +Node: Symbol Desc86126 +Node: Symbol Other86421 +Node: COFF Symbols86590 +Node: SOM Symbols87263 +Node: Expressions87705 +Node: Empty Exprs88454 +Node: Integer Exprs88801 +Node: Arguments89196 +Node: Operators90302 +Node: Prefix Ops90637 +Node: Infix Ops90965 +Node: Pseudo Ops93362 +Node: Abort98386 +Node: ABORT98791 +Node: Align99058 +Node: Ascii101352 +Node: Asciz101661 +Node: Balign101906 +Node: Byte103769 +Node: Comm104007 +Node: CFI directives105381 +Node: Data107637 +Node: Def107964 +Node: Desc108339 +Node: Dim108839 +Node: Double109237 +Node: Eject109575 +Node: Else109750 +Node: Elseif110046 +Node: End110336 +Node: Endef110551 +Node: Endfunc110881 +Node: Endif111056 +Node: Equ111317 +Node: Equiv111626 +Node: Err112126 +Node: Error112436 +Node: Exitm112881 +Node: Extern113050 +Node: Fail113311 +Node: File113756 +Node: Fill114372 +Node: Float115336 +Node: Func115678 +Node: Global116268 +Node: Hidden117018 +Node: hword117597 +Node: Ident117925 +Node: If118231 +Node: Incbin121027 +Node: Include121722 +Node: Int122273 +Node: Internal122654 +Node: Irp123302 +Node: Irpc124107 +Node: Lcomm124932 +Node: Lflags125680 +Node: Line125874 +Node: Linkonce126907 +Node: Ln128134 +Node: MRI128289 +Node: List128627 +Node: Long129237 +Node: Macro129413 +Node: Altmacro132151 +Node: Noaltmacro133481 +Node: Nolist133649 +Node: Octa134079 +Node: Org134413 +Node: P2align135696 +Node: Previous137624 +Node: PopSection138318 +Node: Print138826 +Node: Protected139055 +Node: Psize139702 +Node: Purgem140386 +Node: PushSection140607 +Node: Quad141164 +Node: Rept141619 +Node: Sbttl142032 +Node: Scl142397 +Node: Section142900 +Node: Set148039 +Node: Short148598 +Node: Single148918 +Node: Size149263 +Node: Sleb128150077 +Node: Skip150399 +Node: Space150721 +Node: Stab151613 +Node: String153615 +Node: Struct154041 +Node: SubSection154764 +Node: Symver155325 +Node: Tag157716 +Node: Text158231 +Node: Title158550 +Node: Type158929 +Node: Uleb128160146 +Node: Val160468 +Node: Version160836 +Node: VTableEntry161109 +Node: VTableInherit161397 +Node: Warning161843 +Node: Weak162077 +Node: Word162743 +Node: Deprecated164586 +Node: Machine Dependencies164821 +Node: AMD29K-Dependent167601 +Node: AMD29K Options167992 +Node: AMD29K Syntax168175 +Node: AMD29K-Macros168451 +Node: AMD29K-Chars168715 +Node: AMD29K-Regs168991 +Node: AMD29K Floating Point170270 +Node: AMD29K Directives170485 +Node: AMD29K Opcodes171905 +Node: Alpha-Dependent172250 +Node: Alpha Notes172689 +Node: Alpha Options172970 +Node: Alpha Syntax175168 +Node: Alpha-Chars175637 +Node: Alpha-Regs175868 +Node: Alpha-Relocs176255 +Node: Alpha Floating Point182246 +Node: Alpha Directives182468 +Node: Alpha Opcodes187991 +Node: ARC-Dependent188286 +Node: ARC Options188669 +Node: ARC Syntax189738 +Node: ARC-Chars189970 +Node: ARC-Regs190102 +Node: ARC Floating Point190226 +Node: ARC Directives190537 +Node: ARC Opcodes196508 +Node: ARM-Dependent196734 +Node: ARM Options197161 +Node: ARM Syntax202762 +Node: ARM-Chars202994 +Node: ARM-Regs203518 +Node: ARM Floating Point203703 +Node: ARM Directives203902 +Node: ARM Opcodes209676 +Node: ARM Mapping Symbols211764 +Node: CRIS-Dependent212543 +Node: CRIS-Opts212888 +Ref: march-option214506 +Node: CRIS-Expand216323 +Node: CRIS-Symbols217506 +Node: CRIS-Syntax218675 +Node: CRIS-Chars219011 +Node: CRIS-Pic219562 +Ref: crispic219758 +Node: CRIS-Regs223298 +Node: CRIS-Pseudos223715 +Ref: crisnous224491 +Node: D10V-Dependent225773 +Node: D10V-Opts226124 +Node: D10V-Syntax227087 +Node: D10V-Size227616 +Node: D10V-Subs228589 +Node: D10V-Chars229624 +Node: D10V-Regs231228 +Node: D10V-Addressing232273 +Node: D10V-Word232959 +Node: D10V-Float233474 +Node: D10V-Opcodes233785 +Node: D30V-Dependent234178 +Node: D30V-Opts234531 +Node: D30V-Syntax235206 +Node: D30V-Size235738 +Node: D30V-Subs236709 +Node: D30V-Chars237744 +Node: D30V-Guarded240042 +Node: D30V-Regs240722 +Node: D30V-Addressing241861 +Node: D30V-Float242529 +Node: D30V-Opcodes242840 +Node: H8/300-Dependent243233 +Node: H8/300 Options243645 +Node: H8/300 Syntax243854 +Node: H8/300-Chars244153 +Node: H8/300-Regs244450 +Node: H8/300-Addressing245367 +Node: H8/300 Floating Point246406 +Node: H8/300 Directives246731 +Node: H8/300 Opcodes247857 +Node: H8/500-Dependent256177 +Node: H8/500 Options256589 +Node: H8/500 Syntax256798 +Node: H8/500-Chars257097 +Node: H8/500-Regs257401 +Node: H8/500-Addressing258170 +Node: H8/500 Floating Point258800 +Node: H8/500 Directives259125 +Node: H8/500 Opcodes259453 +Node: HPPA-Dependent264565 +Node: HPPA Notes265000 +Node: HPPA Options265758 +Node: HPPA Syntax265953 +Node: HPPA Floating Point267223 +Node: HPPA Directives267429 +Node: HPPA Opcodes276115 +Node: ESA/390-Dependent276374 +Node: ESA/390 Notes276834 +Node: ESA/390 Options277625 +Node: ESA/390 Syntax277835 +Node: ESA/390 Floating Point280008 +Node: ESA/390 Directives280287 +Node: ESA/390 Opcodes283576 +Node: i386-Dependent283838 +Node: i386-Options284906 +Node: i386-Syntax285751 +Node: i386-Mnemonics288165 +Node: i386-Regs290630 +Node: i386-Prefixes292675 +Node: i386-Memory295435 +Node: i386-Jumps298372 +Node: i386-Float299493 +Node: i386-SIMD301322 +Node: i386-16bit302431 +Node: i386-Bugs304469 +Node: i386-Arch305223 +Node: i386-Notes307358 +Node: i860-Dependent308216 +Node: Notes-i860308612 +Node: Options-i860309517 +Node: Directives-i860310880 +Node: Opcodes for i860311949 +Node: i960-Dependent314116 +Node: Options-i960314519 +Node: Floating Point-i960318403 +Node: Directives-i960318671 +Node: Opcodes for i960320705 +Node: callj-i960321322 +Node: Compare-and-branch-i960321811 +Node: IA-64-Dependent323715 +Node: IA-64 Options324016 +Node: IA-64 Syntax327048 +Node: IA-64-Chars327411 +Node: IA-64-Regs327641 +Node: IA-64-Bits328567 +Node: IA-64 Opcodes329076 +Node: IP2K-Dependent329348 +Node: IP2K-Opts329576 +Node: M32R-Dependent330056 +Node: M32R-Opts330377 +Node: M32R-Directives334543 +Node: M32R-Warnings338518 +Node: M68K-Dependent341524 +Node: M68K-Opts341991 +Node: M68K-Syntax348476 +Node: M68K-Moto-Syntax350315 +Node: M68K-Float352904 +Node: M68K-Directives353424 +Node: M68K-opcodes354030 +Node: M68K-Branch354256 +Node: M68K-Chars358454 +Node: M68HC11-Dependent358867 +Node: M68HC11-Opts359398 +Node: M68HC11-Syntax363214 +Node: M68HC11-Modifiers365428 +Node: M68HC11-Directives367256 +Node: M68HC11-Float368632 +Node: M68HC11-opcodes369160 +Node: M68HC11-Branch369342 +Node: M88K-Dependent371789 +Node: M88K Directives372040 +Node: MIPS-Dependent373560 +Node: MIPS Opts374647 +Node: MIPS Object381615 +Node: MIPS Stabs383181 +Node: MIPS symbol sizes383903 +Node: MIPS ISA385572 +Node: MIPS autoextend386721 +Node: MIPS insn387451 +Node: MIPS option stack387948 +Node: MIPS ASE instruction generation overrides388722 +Node: MMIX-Dependent389495 +Node: MMIX-Opts389875 +Node: MMIX-Expand393479 +Node: MMIX-Syntax394794 +Ref: mmixsite395151 +Node: MMIX-Chars395992 +Node: MMIX-Symbols396646 +Node: MMIX-Regs398714 +Node: MMIX-Pseudos399739 +Ref: MMIX-loc399880 +Ref: MMIX-local400960 +Ref: MMIX-is401492 +Ref: MMIX-greg401763 +Ref: GREG-base402682 +Ref: MMIX-byte403999 +Ref: MMIX-constants404470 +Ref: MMIX-prefix405116 +Ref: MMIX-spec405490 +Node: MMIX-mmixal405824 +Node: MSP430-Dependent409321 +Node: MSP430 Options409787 +Node: MSP430 Syntax409979 +Node: MSP430-Macros410295 +Node: MSP430-Chars411026 +Node: MSP430-Regs411339 +Node: MSP430-Ext411899 +Node: MSP430 Floating Point413720 +Node: MSP430 Directives413944 +Node: MSP430 Opcodes414735 +Node: MSP430 Profiling Capability415130 +Node: PDP-11-Dependent417459 +Node: PDP-11-Options417848 +Node: PDP-11-Pseudos422919 +Node: PDP-11-Syntax423264 +Node: PDP-11-Mnemonics424015 +Node: PDP-11-Synthetic424317 +Node: PJ-Dependent424535 +Node: PJ Options424760 +Node: PPC-Dependent425037 +Node: PowerPC-Opts425324 +Node: PowerPC-Pseudo427289 +Node: SH-Dependent427888 +Node: SH Options428300 +Node: SH Syntax429154 +Node: SH-Chars429427 +Node: SH-Regs429721 +Node: SH-Addressing430335 +Node: SH Floating Point431244 +Node: SH Directives432338 +Node: SH Opcodes432708 +Node: SH64-Dependent437030 +Node: SH64 Options437393 +Node: SH64 Syntax439110 +Node: SH64-Chars439393 +Node: SH64-Regs439693 +Node: SH64-Addressing440789 +Node: SH64 Directives441972 +Node: SH64 Opcodes443082 +Node: Sparc-Dependent443798 +Node: Sparc-Opts444183 +Node: Sparc-Aligned-Data446440 +Node: Sparc-Float447295 +Node: Sparc-Directives447496 +Node: TIC54X-Dependent449456 +Node: TIC54X-Opts450182 +Node: TIC54X-Block451225 +Node: TIC54X-Env451585 +Node: TIC54X-Constants451933 +Node: TIC54X-Subsyms452335 +Node: TIC54X-Locals454244 +Node: TIC54X-Builtins454988 +Node: TIC54X-Ext457459 +Node: TIC54X-Directives458030 +Node: TIC54X-Macros468932 +Node: TIC54X-MMRegs471042 +Node: Z8000-Dependent471258 +Node: Z8000 Options472222 +Node: Z8000 Syntax472439 +Node: Z8000-Chars472729 +Node: Z8000-Regs472962 +Node: Z8000-Addressing473752 +Node: Z8000 Directives474869 +Node: Z8000 Opcodes476478 +Node: Vax-Dependent486420 +Node: VAX-Opts486937 +Node: VAX-float490672 +Node: VAX-directives491304 +Node: VAX-opcodes492165 +Node: VAX-branch492554 +Node: VAX-operands495061 +Node: VAX-no495824 +Node: V850-Dependent496061 +Node: V850 Options496459 +Node: V850 Syntax498848 +Node: V850-Chars499088 +Node: V850-Regs499253 +Node: V850 Floating Point500821 +Node: V850 Directives501027 +Node: V850 Opcodes502170 +Node: Xtensa-Dependent508062 +Node: Xtensa Options508793 +Node: Xtensa Syntax511564 +Node: Xtensa Opcodes513453 +Node: Xtensa Registers515247 +Node: Xtensa Optimizations515880 +Node: Density Instructions516332 +Node: Xtensa Automatic Alignment517434 +Node: Xtensa Relaxation520180 +Node: Xtensa Branch Relaxation521088 +Node: Xtensa Call Relaxation522460 +Node: Xtensa Immediate Relaxation524246 +Node: Xtensa Directives526820 +Node: Schedule Directive528528 +Node: Longcalls Directive528868 +Node: Transform Directive529412 +Node: Literal Directive530154 +Node: Literal Position Directive531939 +Node: Literal Prefix Directive533638 +Node: Absolute Literals Directive535801 +Node: Reporting Bugs537108 +Node: Bug Criteria537832 +Node: Bug Reporting538597 +Node: Acknowledgements545230 +Ref: Acknowledgements-Footnote-1550149 +Node: GNU Free Documentation License550175 +Node: Index569897  End Tag Table diff -Nurp binutils-2.16/gas/doc/as.info-1 binutils-2.16.1/gas/doc/as.info-1 --- binutils-2.16/gas/doc/as.info-1 2005-05-02 17:19:15.000000000 -0400 +++ binutils-2.16.1/gas/doc/as.info-1 2005-06-12 15:02:26.000000000 -0400 @@ -24,7 +24,7 @@ File: as.info, Node: Top, Next: Overvi Using as ******** -This file is a user guide to the GNU assembler `as' version 2.16. +This file is a user guide to the GNU assembler `as' version 2.16.1. This document is distributed under the terms of the GNU Free Documentation License. A copy of the license is included in the diff -Nurp binutils-2.16/gas/doc/gasver.texi binutils-2.16.1/gas/doc/gasver.texi --- binutils-2.16/gas/doc/gasver.texi 2005-05-02 17:19:15.000000000 -0400 +++ binutils-2.16.1/gas/doc/gasver.texi 2005-06-12 15:02:25.000000000 -0400 @@ -1 +1 @@ -@set VERSION 2.16 +@set VERSION 2.16.1 diff -Nurp binutils-2.16/gas/testsuite/ChangeLog binutils-2.16.1/gas/testsuite/ChangeLog --- binutils-2.16/gas/testsuite/ChangeLog 2005-04-19 13:09:40.000000000 -0400 +++ binutils-2.16.1/gas/testsuite/ChangeLog 2005-06-12 14:30:14.000000000 -0400 @@ -1,3 +1,17 @@ +2005-06-12 Daniel Jacobowitz + + Backport from mainline: + 2005-06-01 Maciej W. Rozycki + * gas/mips/ldstla-32-1.l: Update to handle leading zeroes. + * gas/mips/ldstla-32-mips3-1.l: Likewise. + +2005-05-19 Jan Beulich + + * gas/ia64/reloc-uw.s: New. + * gas/ia64/reloc-uw.d: New. + * gas/ia64/reloc-uw-ilp32.d: New. + * gas/ia64/ia64.exp: Run new test. + 2005-04-13 Maciej W. Rozycki * gas/mips/ldstla-32.s: Exclude offsets that are now meant to fail diff -Nurp binutils-2.16/gas/testsuite/gas/ia64/ia64.exp binutils-2.16.1/gas/testsuite/gas/ia64/ia64.exp --- binutils-2.16/gas/testsuite/gas/ia64/ia64.exp 2005-03-08 03:27:02.000000000 -0500 +++ binutils-2.16.1/gas/testsuite/gas/ia64/ia64.exp 2005-05-28 17:52:43.000000000 -0400 @@ -65,11 +65,13 @@ if [istarget "ia64-*"] then { run_dump_test "unwind-ilp32" run_dump_test "alias-ilp32" run_dump_test "xdata-ilp32" + run_dump_test "reloc-uw-ilp32" } else { run_dump_test "secname" run_dump_test "unwind" run_dump_test "alias" run_dump_test "xdata" + run_dump_test "reloc-uw" run_dump_test "group-1" } diff -Nurp binutils-2.16/gas/testsuite/gas/ia64/reloc-uw-ilp32.d binutils-2.16.1/gas/testsuite/gas/ia64/reloc-uw-ilp32.d --- binutils-2.16/gas/testsuite/gas/ia64/reloc-uw-ilp32.d 1969-12-31 19:00:00.000000000 -0500 +++ binutils-2.16.1/gas/testsuite/gas/ia64/reloc-uw-ilp32.d 2005-05-19 11:43:05.000000000 -0400 @@ -0,0 +1,15 @@ +#objdump: -r +#name: ia64 unwind relocations (ilp32) +#as: -milp32 +#source: reloc-uw.s + +.*: +file format .* + +RELOCATION RECORDS FOR \[\.IA_64\.unwind\]: +OFFSET[[:space:]]+TYPE[[:space:]]+VALUE[[:space:]]* +0*00 SEGREL32[ML]SB[[:space:]]+\.text(\+0x[[:xdigit:]]*0)? +0*04 SEGREL32[ML]SB[[:space:]]+\.text(\+0x[[:xdigit:]]*0)? +0*08 SEGREL32[ML]SB[[:space:]]+\.IA_64\.unwind_info(\+0x[[:xdigit:]]*[048c])? +0*0c SEGREL32[ML]SB[[:space:]]+\.text(\+0x[[:xdigit:]]*0)? +0*10 SEGREL32[ML]SB[[:space:]]+\.text(\+0x[[:xdigit:]]*0)? +0*14 SEGREL32[ML]SB[[:space:]]+\.IA_64\.unwind_info(\+0x[[:xdigit:]]*[048c])? diff -Nurp binutils-2.16/gas/testsuite/gas/ia64/reloc-uw.d binutils-2.16.1/gas/testsuite/gas/ia64/reloc-uw.d --- binutils-2.16/gas/testsuite/gas/ia64/reloc-uw.d 1969-12-31 19:00:00.000000000 -0500 +++ binutils-2.16.1/gas/testsuite/gas/ia64/reloc-uw.d 2005-05-19 11:43:05.000000000 -0400 @@ -0,0 +1,13 @@ +# objdump: -r +# name: ia64 unwind relocations + +.*: +file format .* + +RELOCATION RECORDS FOR \[\.IA_64\.unwind\]: +OFFSET[[:space:]]+TYPE[[:space:]]+VALUE[[:space:]]* +0*00 SEGREL64[ML]SB[[:space:]]+\.text(\+0x[[:xdigit:]]*0)? +0*08 SEGREL64[ML]SB[[:space:]]+\.text(\+0x[[:xdigit:]]*0)? +0*10 SEGREL64[ML]SB[[:space:]]+\.IA_64\.unwind_info(\+0x[[:xdigit:]]*[08])? +0*18 SEGREL64[ML]SB[[:space:]]+\.text(\+0x[[:xdigit:]]*0)? +0*20 SEGREL64[ML]SB[[:space:]]+\.text(\+0x[[:xdigit:]]*0)? +0*28 SEGREL64[ML]SB[[:space:]]+\.IA_64\.unwind_info(\+0x[[:xdigit:]]*[08])? diff -Nurp binutils-2.16/gas/testsuite/gas/ia64/reloc-uw.s binutils-2.16.1/gas/testsuite/gas/ia64/reloc-uw.s --- binutils-2.16/gas/testsuite/gas/ia64/reloc-uw.s 1969-12-31 19:00:00.000000000 -0500 +++ binutils-2.16.1/gas/testsuite/gas/ia64/reloc-uw.s 2005-05-19 11:43:05.000000000 -0400 @@ -0,0 +1,13 @@ + .text + + .macro uw, type + .proc uw\type + .\type uw\type +uw\type: + .unwentry + br.ret.sptk rp + .endp uw\type + .endm + + uw global + uw weak diff -Nurp binutils-2.16/gas/testsuite/gas/mips/ldstla-32-1.l binutils-2.16.1/gas/testsuite/gas/mips/ldstla-32-1.l --- binutils-2.16/gas/testsuite/gas/mips/ldstla-32-1.l 2005-04-13 14:17:48.000000000 -0400 +++ binutils-2.16.1/gas/testsuite/gas/mips/ldstla-32-1.l 2005-06-12 14:07:03.000000000 -0400 @@ -2,80 +2,80 @@ .*:3: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:4: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:5: Error: Number \(0xabcdef0123456789\) larger than 32 bits -.*:6: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:7: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:8: Error: Number \(0x100000000\) larger than 32 bits +.*:6: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:7: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:8: Error: Number \(0x0*100000000\) larger than 32 bits .*:10: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:11: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:12: Error: Number \(0xabcdef0123456789\) larger than 32 bits -.*:13: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:14: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:15: Error: Number \(0x100000000\) larger than 32 bits +.*:13: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:14: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:15: Error: Number \(0x0*100000000\) larger than 32 bits .*:17: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:18: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:19: Error: Number \(0xabcdef0123456789\) larger than 32 bits -.*:20: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:21: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:22: Error: Number \(0x100000000\) larger than 32 bits +.*:20: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:21: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:22: Error: Number \(0x0*100000000\) larger than 32 bits .*:24: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:25: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:26: Error: Number \(0xabcdef0123456789\) larger than 32 bits -.*:27: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:28: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:29: Error: Number \(0x100000000\) larger than 32 bits +.*:27: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:28: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:29: Error: Number \(0x0*100000000\) larger than 32 bits .*:31: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:32: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:32: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:33: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:33: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:34: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:34: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:35: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:35: Error: Number \(0x200000000\) larger than 32 bits -.*:36: Error: Number \(0x100000000\) larger than 32 bits -.*:36: Error: Number \(0x100000000\) larger than 32 bits +.*:34: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:34: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:35: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:35: Error: Number \(0x0*200000000\) larger than 32 bits +.*:36: Error: Number \(0x0*100000000\) larger than 32 bits +.*:36: Error: Number \(0x0*100000000\) larger than 32 bits .*:38: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:39: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:39: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:40: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:40: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:41: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:41: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:42: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:42: Error: Number \(0x200000000\) larger than 32 bits -.*:43: Error: Number \(0x100000000\) larger than 32 bits -.*:43: Error: Number \(0x100000000\) larger than 32 bits +.*:41: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:41: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:42: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:42: Error: Number \(0x0*200000000\) larger than 32 bits +.*:43: Error: Number \(0x0*100000000\) larger than 32 bits +.*:43: Error: Number \(0x0*100000000\) larger than 32 bits .*:45: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:46: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:46: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:47: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:47: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:48: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:48: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:49: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:49: Error: Number \(0x200000000\) larger than 32 bits -.*:50: Error: Number \(0x100000000\) larger than 32 bits -.*:50: Error: Number \(0x100000000\) larger than 32 bits +.*:48: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:48: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:49: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:49: Error: Number \(0x0*200000000\) larger than 32 bits +.*:50: Error: Number \(0x0*100000000\) larger than 32 bits +.*:50: Error: Number \(0x0*100000000\) larger than 32 bits .*:52: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:53: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:53: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:54: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:54: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:55: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:55: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:56: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:56: Error: Number \(0x200000000\) larger than 32 bits -.*:57: Error: Number \(0x100000000\) larger than 32 bits -.*:57: Error: Number \(0x100000000\) larger than 32 bits +.*:55: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:55: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:56: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:56: Error: Number \(0x0*200000000\) larger than 32 bits +.*:57: Error: Number \(0x0*100000000\) larger than 32 bits +.*:57: Error: Number \(0x0*100000000\) larger than 32 bits .*:59: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:60: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:61: Error: Number \(0xabcdef0123456789\) larger than 32 bits -.*:62: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:63: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:64: Error: Number \(0x100000000\) larger than 32 bits +.*:62: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:63: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:64: Error: Number \(0x0*100000000\) larger than 32 bits .*:66: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:67: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:68: Error: Number \(0xabcdef0123456789\) larger than 32 bits -.*:69: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:70: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:71: Error: Number \(0x100000000\) larger than 32 bits +.*:69: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:70: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:71: Error: Number \(0x0*100000000\) larger than 32 bits diff -Nurp binutils-2.16/gas/testsuite/gas/mips/ldstla-32-mips3-1.l binutils-2.16.1/gas/testsuite/gas/mips/ldstla-32-mips3-1.l --- binutils-2.16/gas/testsuite/gas/mips/ldstla-32-mips3-1.l 2005-04-13 14:17:48.000000000 -0400 +++ binutils-2.16.1/gas/testsuite/gas/mips/ldstla-32-mips3-1.l 2005-06-12 14:07:03.000000000 -0400 @@ -4,98 +4,98 @@ .*:4: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:5: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:5: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:6: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:6: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:7: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:7: Error: Number \(0x200000000\) larger than 32 bits -.*:8: Error: Number \(0x100000000\) larger than 32 bits -.*:8: Error: Number \(0x100000000\) larger than 32 bits +.*:6: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:6: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:7: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:7: Error: Number \(0x0*200000000\) larger than 32 bits +.*:8: Error: Number \(0x0*100000000\) larger than 32 bits +.*:8: Error: Number \(0x0*100000000\) larger than 32 bits .*:10: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:11: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:11: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:12: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:12: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:13: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:13: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:14: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:14: Error: Number \(0x200000000\) larger than 32 bits -.*:15: Error: Number \(0x100000000\) larger than 32 bits -.*:15: Error: Number \(0x100000000\) larger than 32 bits +.*:13: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:13: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:14: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:14: Error: Number \(0x0*200000000\) larger than 32 bits +.*:15: Error: Number \(0x0*100000000\) larger than 32 bits +.*:15: Error: Number \(0x0*100000000\) larger than 32 bits .*:17: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:18: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:18: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:19: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:19: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:20: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:20: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:21: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:21: Error: Number \(0x200000000\) larger than 32 bits -.*:22: Error: Number \(0x100000000\) larger than 32 bits -.*:22: Error: Number \(0x100000000\) larger than 32 bits +.*:20: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:20: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:21: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:21: Error: Number \(0x0*200000000\) larger than 32 bits +.*:22: Error: Number \(0x0*100000000\) larger than 32 bits +.*:22: Error: Number \(0x0*100000000\) larger than 32 bits .*:24: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:25: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:25: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:26: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:26: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:27: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:27: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:28: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:28: Error: Number \(0x200000000\) larger than 32 bits -.*:29: Error: Number \(0x100000000\) larger than 32 bits -.*:29: Error: Number \(0x100000000\) larger than 32 bits +.*:27: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:27: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:28: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:28: Error: Number \(0x0*200000000\) larger than 32 bits +.*:29: Error: Number \(0x0*100000000\) larger than 32 bits +.*:29: Error: Number \(0x0*100000000\) larger than 32 bits .*:31: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:32: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:32: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:33: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:33: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:34: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:34: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:35: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:35: Error: Number \(0x200000000\) larger than 32 bits -.*:36: Error: Number \(0x100000000\) larger than 32 bits -.*:36: Error: Number \(0x100000000\) larger than 32 bits +.*:34: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:34: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:35: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:35: Error: Number \(0x0*200000000\) larger than 32 bits +.*:36: Error: Number \(0x0*100000000\) larger than 32 bits +.*:36: Error: Number \(0x0*100000000\) larger than 32 bits .*:38: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:39: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:39: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:40: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:40: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:41: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:41: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:42: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:42: Error: Number \(0x200000000\) larger than 32 bits -.*:43: Error: Number \(0x100000000\) larger than 32 bits -.*:43: Error: Number \(0x100000000\) larger than 32 bits +.*:41: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:41: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:42: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:42: Error: Number \(0x0*200000000\) larger than 32 bits +.*:43: Error: Number \(0x0*100000000\) larger than 32 bits +.*:43: Error: Number \(0x0*100000000\) larger than 32 bits .*:45: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:46: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:46: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:47: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:47: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:48: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:48: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:49: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:49: Error: Number \(0x200000000\) larger than 32 bits -.*:50: Error: Number \(0x100000000\) larger than 32 bits -.*:50: Error: Number \(0x100000000\) larger than 32 bits +.*:48: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:48: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:49: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:49: Error: Number \(0x0*200000000\) larger than 32 bits +.*:50: Error: Number \(0x0*100000000\) larger than 32 bits +.*:50: Error: Number \(0x0*100000000\) larger than 32 bits .*:52: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:53: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:53: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:54: Error: Number \(0xabcdef0123456789\) larger than 32 bits .*:54: Error: Number \(0xabcdef0123450000\) larger than 32 bits -.*:55: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:55: Error: Number \(0x123456789ac0000\) larger than 32 bits -.*:56: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:56: Error: Number \(0x200000000\) larger than 32 bits -.*:57: Error: Number \(0x100000000\) larger than 32 bits -.*:57: Error: Number \(0x100000000\) larger than 32 bits +.*:55: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:55: Error: Number \(0x0*123456789ac0000\) larger than 32 bits +.*:56: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:56: Error: Number \(0x0*200000000\) larger than 32 bits +.*:57: Error: Number \(0x0*100000000\) larger than 32 bits +.*:57: Error: Number \(0x0*100000000\) larger than 32 bits .*:59: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:60: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:61: Error: Number \(0xabcdef0123456789\) larger than 32 bits -.*:62: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:63: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:64: Error: Number \(0x100000000\) larger than 32 bits +.*:62: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:63: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:64: Error: Number \(0x0*100000000\) larger than 32 bits .*:66: Error: Number \(0xfffffffeffffffff\) larger than 32 bits .*:67: Error: Number \(0xfffffffe00000000\) larger than 32 bits .*:68: Error: Number \(0xabcdef0123456789\) larger than 32 bits -.*:69: Error: Number \(0x123456789abcdef\) larger than 32 bits -.*:70: Error: Number \(0x1ffffffff\) larger than 32 bits -.*:71: Error: Number \(0x100000000\) larger than 32 bits +.*:69: Error: Number \(0x0*123456789abcdef\) larger than 32 bits +.*:70: Error: Number \(0x0*1ffffffff\) larger than 32 bits +.*:71: Error: Number \(0x0*100000000\) larger than 32 bits diff -Nurp binutils-2.16/ld/ChangeLog binutils-2.16.1/ld/ChangeLog --- binutils-2.16/ld/ChangeLog 2005-04-13 13:59:04.000000000 -0400 +++ binutils-2.16.1/ld/ChangeLog 2005-06-12 14:39:12.000000000 -0400 @@ -1,3 +1,12 @@ +2005-06-12 Daniel Jacobowitz + + * ld.texinfo (Command Line Options): Add @item for --hash-size. + +2005-06-06 Alan Modra + + * emultempl/ppc64elf.em (ppc_before_allocation): Always run + ppc64_elf_edit_opd. + 2005-04-12 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Ignore diff -Nurp binutils-2.16/ld/emultempl/ppc64elf.em binutils-2.16.1/ld/emultempl/ppc64elf.em --- binutils-2.16/ld/emultempl/ppc64elf.em 2005-03-03 06:52:04.000000000 -0500 +++ binutils-2.16.1/ld/emultempl/ppc64elf.em 2005-06-12 13:38:17.000000000 -0400 @@ -102,8 +102,8 @@ ppc_before_allocation (void) { if (stub_file != NULL) { - if (!no_opd_opt - && !ppc64_elf_edit_opd (output_bfd, &link_info, non_overlapping_opd)) + if (!ppc64_elf_edit_opd (output_bfd, &link_info, no_opd_opt, + non_overlapping_opd)) einfo ("%X%P: can not edit %s %E\n", "opd"); if (ppc64_elf_tls_setup (output_bfd, &link_info) && !no_tls_opt) diff -Nurp binutils-2.16/ld/ld.1 binutils-2.16.1/ld/ld.1 --- binutils-2.16/ld/ld.1 2005-05-02 17:19:18.000000000 -0400 +++ binutils-2.16.1/ld/ld.1 2005-06-12 15:33:00.000000000 -0400 @@ -128,7 +128,7 @@ .\" ======================================================================== .\" .IX Title "LD 1" -.TH LD 1 "2005-05-02" "binutils-2.16" "GNU Development Tools" +.TH LD 1 "2005-06-12" "binutils-2.16.1" "GNU Development Tools" .SH "NAME" ld \- Using LD, the GNU linker .SH "SYNOPSIS" @@ -1561,7 +1561,8 @@ systems may not understand them. If you If you specify \fB\-\-disable\-new\-dtags\fR, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for \s-1ELF\s0 systems. -.Sp +.IP "\fB\-\-hash\-size=\fR\fInumber\fR" 4 +.IX Item "--hash-size=number" Set the default size of the linker's hash tables to a prime number close to \fInumber\fR. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of diff -Nurp binutils-2.16/ld/ld.info binutils-2.16.1/ld/ld.info --- binutils-2.16/ld/ld.info 2005-05-02 17:19:17.000000000 -0400 +++ binutils-2.16.1/ld/ld.info 2005-06-12 15:32:59.000000000 -0400 @@ -5,7 +5,7 @@ START-INFO-DIR-ENTRY * Ld: (ld). The GNU linker. END-INFO-DIR-ENTRY - This file documents the GNU linker LD version 2.16. + This file documents the GNU linker LD version 2.16.1. Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. @@ -16,7 +16,7 @@ File: ld.info, Node: Top, Next: Overvi Using ld ******** -This file documents the GNU linker ld version 2.16. +This file documents the GNU linker ld version 2.16.1. This document is distributed under the terms of the GNU Free Documentation License. A copy of the license is included in the @@ -1317,6 +1317,7 @@ GNU linker: created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems. +`--hash-size=NUMBER' Set the default size of the linker's hash tables to a prime number close to NUMBER. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of @@ -5608,13 +5609,13 @@ Index * -(: Options. (line 553) * --accept-unknown-input-arch: Options. (line 571) * --add-needed: Options. (line 593) -* --add-stdcall-alias: Options. (line 1278) +* --add-stdcall-alias: Options. (line 1279) * --allow-multiple-definition: Options. (line 759) * --allow-shlib-undefined: Options. (line 765) * --architecture=ARCH: Options. (line 90) * --as-needed: Options. (line 581) * --auxiliary: Options. (line 191) -* --base-file: Options. (line 1283) +* --base-file: Options. (line 1284) * --be8: ARM. (line 23) * --check-sections: Options. (line 641) * --cref: Options. (line 651) @@ -5622,31 +5623,31 @@ Index * --default-symver: Options. (line 789) * --defsym SYMBOL=EXP: Options. (line 679) * --demangle[=STYLE]: Options. (line 692) -* --disable-auto-image-base: Options. (line 1430) -* --disable-auto-import: Options. (line 1559) +* --disable-auto-image-base: Options. (line 1431) +* --disable-auto-import: Options. (line 1560) * --disable-new-dtags: Options. (line 1230) -* --disable-runtime-pseudo-reloc: Options. (line 1572) -* --disable-stdcall-fixup: Options. (line 1293) +* --disable-runtime-pseudo-reloc: Options. (line 1573) +* --disable-stdcall-fixup: Options. (line 1294) * --discard-all: Options. (line 470) * --discard-locals: Options. (line 474) -* --dll: Options. (line 1288) -* --dll-search-prefix: Options. (line 1436) +* --dll: Options. (line 1289) +* --dll-search-prefix: Options. (line 1437) * --dynamic-linker FILE: Options. (line 705) * --emit-relocs: Options. (line 376) -* --enable-auto-image-base: Options. (line 1422) -* --enable-auto-import: Options. (line 1445) -* --enable-extra-pe-debug: Options. (line 1577) +* --enable-auto-image-base: Options. (line 1423) +* --enable-auto-import: Options. (line 1446) +* --enable-extra-pe-debug: Options. (line 1578) * --enable-new-dtags: Options. (line 1230) -* --enable-runtime-pseudo-reloc: Options. (line 1564) -* --enable-stdcall-fixup: Options. (line 1293) +* --enable-runtime-pseudo-reloc: Options. (line 1565) +* --enable-stdcall-fixup: Options. (line 1294) * --entry=ENTRY: Options. (line 144) * --error-unresolved-symbols: Options. (line 1183) * --exclude-libs: Options. (line 154) -* --exclude-symbols: Options. (line 1335) -* --export-all-symbols: Options. (line 1311) +* --exclude-symbols: Options. (line 1336) +* --export-all-symbols: Options. (line 1312) * --export-dynamic: Options. (line 165) * --fatal-warnings: Options. (line 711) -* --file-alignment: Options. (line 1341) +* --file-alignment: Options. (line 1342) * --filter: Options. (line 212) * --fix-v4bx: ARM. (line 44) * --force-exe-suffix: Options. (line 714) @@ -5655,20 +5656,20 @@ Index * --gc-sections: Options. (line 724) * --gpsize: Options. (line 245) * --hash-size=NUMBER: Options. (line 1239) -* --heap: Options. (line 1347) +* --heap: Options. (line 1348) * --help: Options. (line 732) -* --image-base: Options. (line 1354) +* --image-base: Options. (line 1355) * --just-symbols=FILE: Options. (line 404) -* --kill-at: Options. (line 1363) -* --large-address-aware: Options. (line 1368) +* --kill-at: Options. (line 1364) +* --large-address-aware: Options. (line 1369) * --library-path=DIR: Options. (line 301) * --library=ARCHIVE: Options. (line 271) -* --major-image-version: Options. (line 1377) -* --major-os-version: Options. (line 1382) -* --major-subsystem-version: Options. (line 1386) -* --minor-image-version: Options. (line 1391) -* --minor-os-version: Options. (line 1396) -* --minor-subsystem-version: Options. (line 1400) +* --major-image-version: Options. (line 1378) +* --major-os-version: Options. (line 1383) +* --major-subsystem-version: Options. (line 1387) +* --minor-image-version: Options. (line 1392) +* --minor-os-version: Options. (line 1397) +* --minor-subsystem-version: Options. (line 1401) * --mri-script=MRI-CMDFILE: Options. (line 125) * --multi-subspace: HPPA ELF32. (line 6) * --nmagic: Options. (line 345) @@ -5690,30 +5691,30 @@ Index * --noinhibit-exec: Options. (line 810) * --oformat: Options. (line 822) * --omagic: Options. (line 350) -* --out-implib: Options. (line 1413) -* --output-def: Options. (line 1405) +* --out-implib: Options. (line 1414) +* --output-def: Options. (line 1406) * --output=OUTPUT: Options. (line 365) * --pic-executable: Options. (line 835) * --print-map: Options. (line 333) -* --reduce-memory-overheads: Options. (line 1246) +* --reduce-memory-overheads: Options. (line 1247) * --relax: Options. (line 851) * --relax on i960: i960. (line 31) * --relax on Xtensa: Xtensa. (line 27) * --relocatable: Options. (line 385) * --script=SCRIPT: Options. (line 428) -* --section-alignment: Options. (line 1582) +* --section-alignment: Options. (line 1583) * --section-start SECTIONNAME=ORG: Options. (line 1020) * --sort-common: Options. (line 967) * --sort-section alignment: Options. (line 977) * --sort-section name: Options. (line 973) * --split-by-file: Options. (line 981) * --split-by-reloc: Options. (line 986) -* --stack: Options. (line 1588) +* --stack: Options. (line 1589) * --stats: Options. (line 999) * --strip-all: Options. (line 415) * --strip-debug: Options. (line 419) * --stub-group-size=N: HPPA ELF32. (line 12) -* --subsystem: Options. (line 1595) +* --subsystem: Options. (line 1596) * --support-old-code: ARM. (line 6) * --sysroot: Options. (line 1003) * --target-help: Options. (line 736) @@ -5897,7 +5898,7 @@ Index * DATA_SEGMENT_END(EXP): Builtin Functions. (line 88) * DATA_SEGMENT_RELRO_END(OFFSET, EXP): Builtin Functions. (line 94) * dbx: Options. (line 1013) -* DEF files, creating: Options. (line 1405) +* DEF files, creating: Options. (line 1406) * default emulation: Environment. (line 21) * default input format: Environment. (line 9) * DEFINED(SYMBOL): Builtin Functions. (line 105) @@ -5908,8 +5909,8 @@ Index * discarding sections: Output Section Discarding. (line 6) * discontinuous memory: MEMORY. (line 6) -* DLLs, creating: Options. (line 1311) -* DLLs, linking to: Options. (line 1436) +* DLLs, creating: Options. (line 1312) +* DLLs, linking to: Options. (line 1437) * dot: Location Counter. (line 6) * dot inside sections: Location Counter. (line 34) * dot outside sections: Location Counter. (line 64) @@ -5963,7 +5964,7 @@ Index * groups of archives: Options. (line 553) * H8/300 support: H8/300. (line 6) * header size: Builtin Functions. (line 170) -* heap size: Options. (line 1347) +* heap size: Options. (line 1348) * help: Options. (line 732) * holes: Location Counter. (line 12) * holes, filling: Output Section Data. @@ -5971,7 +5972,7 @@ Index * HPPA multiple sub-space stubs: HPPA ELF32. (line 6) * HPPA stub grouping: HPPA ELF32. (line 12) * i960 support: i960. (line 6) -* image base: Options. (line 1354) +* image base: Options. (line 1355) * implicit linker scripts: Implicit Linker Scripts. (line 6) * import libraries: WIN32. (line 10) @@ -6178,7 +6179,7 @@ Index (line 46) * SQUAD(EXPRESSION): Output Section Data. (line 6) -* stack size: Options. (line 1588) +* stack size: Options. (line 1589) * standard Unix system: Options. (line 7) * start of execution: Entry Point. (line 6) * STARTUP(FILENAME): File Commands. (line 79) @@ -6238,76 +6239,76 @@ Index  Tag Table: -Node: Top339 -Node: Overview1101 -Node: Invocation2215 -Node: Options2623 -Node: Environment74720 -Node: Scripts76480 -Node: Basic Script Concepts78214 -Node: Script Format80921 -Node: Simple Example81784 -Node: Simple Commands84880 -Node: Entry Point85331 -Node: File Commands86090 -Node: Format Commands89956 -Node: Miscellaneous Commands91922 -Node: Assignments94152 -Node: Simple Assignments94608 -Node: PROVIDE96344 -Node: Source Code Reference97556 -Node: SECTIONS101129 -Node: Output Section Description103020 -Node: Output Section Name104050 -Node: Output Section Address104926 -Node: Input Section106575 -Node: Input Section Basics107376 -Node: Input Section Wildcards109728 -Node: Input Section Common114461 -Node: Input Section Keep115943 -Node: Input Section Example116433 -Node: Output Section Data117401 -Node: Output Section Keywords120178 -Node: Output Section Discarding123747 -Node: Output Section Attributes124703 -Node: Output Section Type125632 -Node: Output Section LMA126786 -Node: Forced Input Alignment129056 -Node: Output Section Region129436 -Node: Output Section Phdr129866 -Node: Output Section Fill130530 -Node: Overlay Description131672 -Node: MEMORY135920 -Node: PHDRS140120 -Node: VERSION145159 -Node: Expressions152157 -Node: Constants152998 -Node: Symbols153559 -Node: Location Counter154298 -Node: Operators158594 -Node: Evaluation159516 -Node: Expression Section160880 -Node: Builtin Functions162369 -Node: Implicit Linker Scripts169861 -Node: Machine Dependent170636 -Node: H8/300171381 -Node: i960173006 -Node: ARM174691 -Node: HPPA ELF32177151 -Node: MMIX178774 -Node: MSP430179991 -Node: TI COFF181033 -Node: WIN32181556 -Node: Xtensa196146 -Node: BFD199266 -Node: BFD outline200721 -Node: BFD information loss202007 -Node: Canonical format204524 -Node: Reporting Bugs208881 -Node: Bug Criteria209575 -Node: Bug Reporting210274 -Node: MRI217299 -Node: GNU Free Documentation License221942 -Node: Index241651 +Node: Top341 +Node: Overview1105 +Node: Invocation2219 +Node: Options2627 +Node: Environment74745 +Node: Scripts76505 +Node: Basic Script Concepts78239 +Node: Script Format80946 +Node: Simple Example81809 +Node: Simple Commands84905 +Node: Entry Point85356 +Node: File Commands86115 +Node: Format Commands89981 +Node: Miscellaneous Commands91947 +Node: Assignments94177 +Node: Simple Assignments94633 +Node: PROVIDE96369 +Node: Source Code Reference97581 +Node: SECTIONS101154 +Node: Output Section Description103045 +Node: Output Section Name104075 +Node: Output Section Address104951 +Node: Input Section106600 +Node: Input Section Basics107401 +Node: Input Section Wildcards109753 +Node: Input Section Common114486 +Node: Input Section Keep115968 +Node: Input Section Example116458 +Node: Output Section Data117426 +Node: Output Section Keywords120203 +Node: Output Section Discarding123772 +Node: Output Section Attributes124728 +Node: Output Section Type125657 +Node: Output Section LMA126811 +Node: Forced Input Alignment129081 +Node: Output Section Region129461 +Node: Output Section Phdr129891 +Node: Output Section Fill130555 +Node: Overlay Description131697 +Node: MEMORY135945 +Node: PHDRS140145 +Node: VERSION145184 +Node: Expressions152182 +Node: Constants153023 +Node: Symbols153584 +Node: Location Counter154323 +Node: Operators158619 +Node: Evaluation159541 +Node: Expression Section160905 +Node: Builtin Functions162394 +Node: Implicit Linker Scripts169886 +Node: Machine Dependent170661 +Node: H8/300171406 +Node: i960173031 +Node: ARM174716 +Node: HPPA ELF32177176 +Node: MMIX178799 +Node: MSP430180016 +Node: TI COFF181058 +Node: WIN32181581 +Node: Xtensa196171 +Node: BFD199291 +Node: BFD outline200746 +Node: BFD information loss202032 +Node: Canonical format204549 +Node: Reporting Bugs208906 +Node: Bug Criteria209600 +Node: Bug Reporting210299 +Node: MRI217324 +Node: GNU Free Documentation License221967 +Node: Index241676  End Tag Table diff -Nurp binutils-2.16/ld/ld.texinfo binutils-2.16.1/ld/ld.texinfo --- binutils-2.16/ld/ld.texinfo 2005-02-01 12:31:01.000000000 -0500 +++ binutils-2.16.1/ld/ld.texinfo 2005-06-12 14:35:45.000000000 -0400 @@ -1795,6 +1795,7 @@ created. By default, the new dynamic tag those options are only available for ELF systems. @kindex --hash-size=@var{number} +@item --hash-size=@var{number} Set the default size of the linker's hash tables to a prime number close to @var{number}. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of diff -Nurp binutils-2.16/ld/ldver.texi binutils-2.16.1/ld/ldver.texi --- binutils-2.16/ld/ldver.texi 2005-05-02 17:19:17.000000000 -0400 +++ binutils-2.16.1/ld/ldver.texi 2005-06-12 15:32:59.000000000 -0400 @@ -1 +1 @@ -@set VERSION 2.16 +@set VERSION 2.16.1 diff -Nurp binutils-2.16/ld/testsuite/ChangeLog binutils-2.16.1/ld/testsuite/ChangeLog --- binutils-2.16/ld/testsuite/ChangeLog 2005-04-19 13:09:52.000000000 -0400 +++ binutils-2.16.1/ld/testsuite/ChangeLog 2005-05-28 17:52:51.000000000 -0400 @@ -1,3 +1,10 @@ +2005-05-22 Richard Henderson + + * ld-elfweak/dsow.dsym: Adjust for non-zero ST_OTHER. + * ld-elfweak/weak.dsym: Likewise. + + * ld-selective/selective.exp: Don't test alpha. + 2005-04-19 Alan Modra * ld-powerpc/reloc.d: Update to suit removal of non-alloc relocs. diff -Nurp binutils-2.16/ld/testsuite/ld-elfweak/dsow.dsym binutils-2.16.1/ld/testsuite/ld-elfweak/dsow.dsym --- binutils-2.16/ld/testsuite/ld-elfweak/dsow.dsym 2001-09-11 10:25:16.000000000 -0400 +++ binutils-2.16.1/ld/testsuite/ld-elfweak/dsow.dsym 2005-05-28 17:52:52.000000000 -0400 @@ -1 +1 @@ -[0-9a-f]*[ ]+w[ ]+DF[ ]+.text[ ]+[0-9a-f]*[ ]+(Base[ ]+|[ ]*)foo +[0-9a-f]*[ ]+w[ ]+DF[ ]+.text[ ]+[0-9a-f]*[ ]+(Base[ ]+|[ ]*)(0x[0-9a-f]+|)[ ]*foo diff -Nurp binutils-2.16/ld/testsuite/ld-elfweak/weak.dsym binutils-2.16.1/ld/testsuite/ld-elfweak/weak.dsym --- binutils-2.16/ld/testsuite/ld-elfweak/weak.dsym 2001-09-10 13:11:34.000000000 -0400 +++ binutils-2.16.1/ld/testsuite/ld-elfweak/weak.dsym 2005-05-28 17:52:52.000000000 -0400 @@ -1 +1 @@ -[0-9a-f]*[ ]+w[ ]+DF[ ]+.text[ ]+[0-9a-f]*[ ]+(Base[ ]+|[ ]*)foo +[0-9a-f]*[ ]+w[ ]+DF[ ]+.text[ ]+[0-9a-f]*[ ]+(Base[ ]+|[ ]*)(0x[0-9a-f]+|)[ ]*foo diff -Nurp binutils-2.16/ld/testsuite/ld-selective/selective.exp binutils-2.16.1/ld/testsuite/ld-selective/selective.exp --- binutils-2.16/ld/testsuite/ld-selective/selective.exp 2004-12-01 16:12:39.000000000 -0500 +++ binutils-2.16.1/ld/testsuite/ld-selective/selective.exp 2005-05-28 17:52:55.000000000 -0400 @@ -24,8 +24,8 @@ if ![is_elf_format] { return } -# IA64 does not support selective linking -if {[istarget "ia64-*-*"]} { +# Alpha and IA64 do not support selective linking +if {[istarget "alpha*-*-*"] || [istarget "ia64-*-*"]} { return } @@ -84,7 +84,7 @@ foreach testitem $seltests { foreach xfail_target $xfails { setup_xfail $xfail_target } - setup_xfail "alpha*-*" "arc*-*" "d30v*-*" "dlx*-*" "i370*-*" "i860*-*" + setup_xfail "arc*-*" "d30v*-*" "dlx*-*" "i370*-*" "i860*-*" setup_xfail "i960*-*" "mn10200-*" "or32-*" "pj-*" "sparc64*-*" # It's either C or C++ at the moment. diff -Nurp binutils-2.16/md5.sum binutils-2.16.1/md5.sum --- binutils-2.16/md5.sum 2005-05-02 17:19:58.000000000 -0400 +++ binutils-2.16.1/md5.sum 2005-06-12 15:33:38.000000000 -0400 @@ -4,12 +4,12 @@ bd62d045cde07699ccb5085ca74d552f Makefi 97c2292f074c23f7705532a4bb762cfc Makefile.in 397b297b6bde1406e0a802abb873df47 Makefile.tpl 07c33a285703b40cd6f93a478e97e03b README -4f595e68d21969f4f0e14776110e61b5 bfd/ChangeLog +6aecc0d19b90c78be3f8efd5c3cb4e8d bfd/ChangeLog ceab81aa1f02825092808fdafba0239d bfd/COPYING -009b9289e40d5979769068ddc5383afe bfd/doc/Makefile.in -8b4b7841cd61be0ee56ac2a926e84be7 bfd/doc/ChangeLog +cf461a0cb3c59d687d37aa707e9d9018 bfd/doc/Makefile.in +36c1c53d1d11359690db9e6c5bb52415 bfd/doc/ChangeLog 42b5ebab441fcbf65e95c2aa31262147 bfd/doc/ChangeLog-9103 -f4a058bef7c701a111d303ad0f5dc91a bfd/doc/Makefile.am +4c73f443d53ebd2eedf61c6c7e4e0f38 bfd/doc/Makefile.am 09f2ca6370658f2891b840acaa20b99d bfd/doc/bfd.texinfo c9ff9c45c40996b024aaa7bd38a6f4ba bfd/doc/bfdint.texi 5ee7f8ae8b0ec33c7baf2e004084aaa1 bfd/doc/bfdsumm.texi @@ -24,7 +24,6 @@ d7a37304ccd7b245f93df4be02797477 bfd/do fb75be5687d98dcb8de2b7ae82ca6352 bfd/doc/archures.texi 8ced10023e2cc72ebd31d08826e840cc bfd/doc/bfd.info b9bc964cf4b8c1627961e2d94cdd8ac9 bfd/doc/bfd.info-1 -919f4b578545c18e0f7e352b7c0b4bb3 bfd/doc/bfd.info-2 8f78cac76e49776569958aca2300b7d1 bfd/doc/bfdio.texi 1608fde01fe682e39260c6b72b638cc7 bfd/doc/bfdt.texi 236e856bb13ee47adc5d7d253037640d bfd/doc/bfdwin.texi @@ -44,6 +43,7 @@ e1c604cf398f9b3e253949d8a58601b2 bfd/do b7e612de7ba0a017a1caefb1e4bce092 bfd/doc/section.texi 8dabff9b03c8ae60a28c788ad1fc5b88 bfd/doc/syms.texi cc7cf63bebda5a78007aac033dbfb6ac bfd/doc/targets.texi +919f4b578545c18e0f7e352b7c0b4bb3 bfd/doc/bfd.info-2 9783b7a5b508bdb3cbbcfd352723873f bfd/po/BLD-POTFILES.in 5451eac802dd17ed3cb7ecf8d01815bd bfd/po/Make-in 1804df0f26c0d957e099806448a7bc66 bfd/po/SRC-POTFILES.in @@ -149,10 +149,10 @@ d81a1ae8c5af3edb113e584a97b38799 bfd/co eb4672541cca282f98893fa0e72a9b6d bfd/coffswap.h dc0f120dade97356f003c264d0ac0e18 bfd/config.bfd 822bcda79d85f167720762fe1242e685 bfd/config.in -7753c1a01cc513e718cf531c724dcd8e bfd/configure +c292ba7cadb2cc8178b6fa1ab0c74aac bfd/configure a8485b69f68d81f4ef2f29b51bb36d85 bfd/configure.com 2eda4de56a20d2079c1e2b8fc82fd303 bfd/configure.host -490097c9eb4c4a859f9bfa29c2fcdc8b bfd/configure.in +eb511e12c869ef56e071099b4745eb04 bfd/configure.in ce0b415790c25f1bcfa1008a252bbe76 bfd/corefile.c 5c0d89447ec9068a82206617864bb57c bfd/cpu-a29k.c 3f7aebb12e0b75c6e12b48838240af8e bfd/cpu-alpha.c @@ -226,7 +226,7 @@ a4f53f52ee6d337ebaf2f591e3d08043 bfd/el b55bad49f56c99959f4df666aa0f1cc9 bfd/elf-m10200.c c124beea45e0771e51be19655740e44d bfd/elf-m10300.c 326768a2b1c1d93696244a8d6e37eccf bfd/elf-strtab.c -2867f55c07cf3eb7227b82094de59f47 bfd/elf.c +b58b8aae9592272c44616b08b379f4c9 bfd/elf.c ce6b2e95b1ceecc5174e92b44e04827b bfd/elf32-am33lin.c fa56312cdca619fd096e4d887aa2c514 bfd/elf32-arc.c a9402c588db76388712d48155573c762 bfd/elf32-arm.c @@ -244,7 +244,7 @@ a633a9b03c885fbb218edf0d80887321 bfd/el f421f690a99103eb31a70bb092595aa3 bfd/elf32-hppa.c 31c2c588dfd4812995b742742a1bdc86 bfd/elf32-hppa.h 4aa2f81469ae6a62b6db173e710270ce bfd/elf32-i370.c -b3355977ec40e14c37a2cc8dc6f4ee81 bfd/elf32-i386.c +c195928e0d9129886a70439368d30f88 bfd/elf32-i386.c 54031461b13b682cbce92fcad6609382 bfd/elf32-i860.c 3387b5c4a92adcf7ac7161b71e9d1e0e bfd/elf32-i960.c 91af5d0e7f78a3152d080446329ea9ea bfd/elf32-ip2k.c @@ -274,27 +274,27 @@ b9bdcc256393281acce57880d84835c1 bfd/el 1e863678901416d1aa4fa35fcd9f5ca6 bfd/elf32-v850.c c0b72bd1f06de193f9c2d77bf05309f3 bfd/elf32-vax.c 9adf85a276c66a75aec3ba404c548d6d bfd/elf32-xstormy16.c -2d4ecd5ccd81f065f21e1ae3f5c227db bfd/elf32-xtensa.c +cb9d6a5abf106b1a12712f1f42e5dd0c bfd/elf32-xtensa.c ed57bd460ee2d4a61a5c445f280f295c bfd/elf32.c -2b9ac36d4fade2ef230b1e4aba9acfb4 bfd/elf64-alpha.c +c8785c10366b2a754a6688e65c82fe8e bfd/elf64-alpha.c e41f2b7fbf0e77b09151a116b8f2dd4d bfd/elf64-gen.c df3292f35814c40bf90370703fa3938c bfd/elf64-hppa.c fbf7f46376d56c745331fa9e25e19042 bfd/elf64-hppa.h 01facfea6abd19649747ac9a143d39f2 bfd/elf64-mips.c 7c06f11d86ec22933f6139d924267310 bfd/elf64-mmix.c -9f6e817a3b26e53640e54cfaf2bf63e0 bfd/elf64-ppc.c -0604cc40889180ed049356ed9340fb54 bfd/elf64-ppc.h +744f8c08e1beb21985f902e7bd0ceb83 bfd/elf64-ppc.c +6f5689bfda92f2ac14f0c2e374343d33 bfd/elf64-ppc.h aa7a40817ad38d9d722c572c4c627342 bfd/elf64-s390.c c4ae77a1f07b951b67062dd58e8e328c bfd/elf64-sh64.c 5e57c33c5a05db7b0bdecf1919bb6ac0 bfd/elf64-sparc.c aa4530ab89e502aaf97c773b4fdf37bd bfd/elf64-x86-64.c 0df4bff9f99908d451625f14be3dc667 bfd/elf64.c -47538923ea685596875920bc263fa78f bfd/elfcode.h +bcf44b421976a2201f1eed8ccccd23b9 bfd/elfcode.h 064733940c1998ebae01d4d559b8bcd6 bfd/elfcore.h 489586f6b9c95427ff33f5fb1b3e2beb bfd/elflink.c 205eb1786fdc89455776369a4eb086f2 bfd/elfn32-mips.c f448eb88d8aa2be4d1a5a368c8e4ee50 bfd/elfxx-ia64.c -d0f80eeafc38ca9c01d5c3690eb3bc69 bfd/elfxx-mips.c +ae22fb12f67bedaa6582102229da0fd9 bfd/elfxx-mips.c e7a550602e64b82d46ca8dc67d6bf3f1 bfd/elfxx-mips.h 75d2ffdb13e3728b31a6d92492c57fe5 bfd/elfxx-target.h 5f9b71e52009091cb901280cbe42283c bfd/epoc-pe-arm.c @@ -419,7 +419,7 @@ ea8d625b4832344a89641e9b00cd9a2d bfd/va 775c0abfcf0027ff641997024ed1a54c bfd/vaxbsd.c cf93f1ed7a1b7cb96e2ae5be9c08d149 bfd/vaxnetbsd.c 404164b46b7a422bb869073bf90cf8ff bfd/versados.c -72fbf8ddf7d3b114bb5fa869a692d468 bfd/version.h +9210a64298ba8270e521f945afec2ea9 bfd/version.h 39ebbc4250d8f94ef8e275b10dc9a5d2 bfd/vms-gsd.c 3110976e156f2ea4092710c42f142f4f bfd/vms-hdr.c 80b0cbec2a3958bf090f51c2a5dbc696 bfd/vms-misc.c @@ -463,7 +463,7 @@ a92c13ae4f68ab8b99e0f0e7ccecfb17 binuti 9da9dbd93ddc43d1e95bbdb1c2603cb7 binutils/doc/fdl.texi 18ed22eb119ebd3dc78dab9f853d8af1 binutils/doc/addr2line.1 b8612e47d9c7d28a66c59a49c77cdc44 binutils/doc/ar.1 -6fd40c97bffc965d3edbc73b313b3ac5 binutils/doc/binutils.info +2956a23245e4416c5c9c97777ea876a3 binutils/doc/binutils.info a25b52032b31b05ed8ffbb9dd0deabf3 binutils/doc/cxxfilt.man a0abac8d539c5bc26be070138681b2be binutils/doc/dlltool.1 68b4847dd461e1c6af5cf41a51349ecd binutils/doc/nlmconv.1 @@ -818,7 +818,7 @@ fcb37cda0767158f53f587d8a103a60f gas/co e3c59c42a4b945e00e8c5d8fe6131093 gas/config/tc-alpha.h 182a07d1084fae797bf3510bf3fb7893 gas/config/tc-arc.c d9c153a0ec8e42c6a233b95c184fe52a gas/config/tc-arc.h -1df1551ad8c8a2ec31e85827d1dd8712 gas/config/tc-arm.c +89072c00820a3bd51b01f4a7d9bbda47 gas/config/tc-arm.c 4572cb40779c40e1399bdebb775f6571 gas/config/tc-arm.h 2650038be44c0f880660b5e136415e0e gas/config/tc-avr.c 64062ba5d25b2d991e1865af1bba8d3d gas/config/tc-avr.h @@ -852,13 +852,13 @@ dc77811ad5c9bdde48e3b57d36407914 gas/co 8b971cd71abd22ab8b03b6734cace584 gas/config/tc-i860.h 29f3fa82ed9604863cd9a6746a657145 gas/config/tc-i960.c 2bcde332414e654959655d011eee6bc9 gas/config/tc-i960.h -04f13da31fb6c7ba440a64b69d35ad16 gas/config/tc-ia64.c +31ed2bb6006b5da8cc46c1068374b81f gas/config/tc-ia64.c ebd276bbe5b7ff722f74820536842dda gas/config/tc-ia64.h 1c6b14a452e10fba27e5d2e7e294360b gas/config/tc-ip2k.c cce7a0d8741097c35ea35f67c33a508f gas/config/tc-ip2k.h 70250cd0d18a0e5deebfdda13ed1c5d4 gas/config/tc-iq2000.c af57e684db4ba9a1fb6370f1500e0f60 gas/config/tc-iq2000.h -a3160624c7667c3af4b8d23f1b5f3278 gas/config/tc-m32r.c +427130f2352476be4c2fdc5c7bb24293 gas/config/tc-m32r.c a639f3143d765575b2e175720b742699 gas/config/tc-m32r.h a12bd005331953eec47146cd4b2fcbb3 gas/config/tc-m68851.h 8f6e5dc3e13168ff8b62bead57b18ac4 gas/config/tc-m68hc11.c @@ -871,7 +871,7 @@ f91c2de312c680d7abccc2ea937928f4 gas/co 6e3b579257cddb07a52007dc4a0078df gas/config/tc-maxq.h 99b3e0fa62789d25e99ea0ab3f01c9a3 gas/config/tc-mcore.c afa26abc3719e8e32eae130f60804430 gas/config/tc-mcore.h -0fd41c07df7cadc2974f6d5f95497748 gas/config/tc-mips.c +948a0aaebaad186253208dbae828dbba gas/config/tc-mips.c 5497021840127e5de79ef0f0266ff51e gas/config/tc-mips.h a0f735549f21fe41dd747d4a607f3488 gas/config/tc-mmix.c a9df6ac3c8a5b275b8b30bd23d3aabe0 gas/config/tc-mmix.h @@ -973,7 +973,7 @@ d2e3fff75ad09541dfa6de7b35dfd2a6 gas/co 3facb53500398784566f7ba53ea3364a gas/config/xtensa-relax.h 53db0ab868dc9516af2c5ab97a8450f0 gas/CONTRIBUTORS ceab81aa1f02825092808fdafba0239d gas/COPYING -dd6db592ce394debe7cd47b3977b7671 gas/ChangeLog +17570835185378e085f7cc74901df475 gas/ChangeLog ffefbc0a746d455b0fc30fcb92cf820b gas/ChangeLog-0001 fe41799f8e780fb88c14ddd78077c3da gas/ChangeLog-0203 9ced07b1bd116911d6bfa176b8014080 gas/ChangeLog-9295 @@ -1060,8 +1060,8 @@ f214f3ddb7b12f12d0f73366f3096dfe gas/su df57d3e0b2752e5caab5294b3acee98c gas/vmsconf.sh 9041e122e90fc88377b49c10f9011997 gas/write.c 57699aa818b3c6e2dc7ccd01714988a1 gas/write.h -c73c4e37e84c934d7000de23cb3be576 gas/doc/Makefile.in -e17aceda4b6de9257996af711006caa7 gas/doc/Makefile.am +fe5eeb66c188f355a89621bd8f1b09ee gas/doc/Makefile.in +31d5150b751a88b05d7968211dd3af2b gas/doc/Makefile.am 2d7a6579d34bf5aa08c8804a08957fc5 gas/doc/all.texi d27e554193b3054ae27fdcddaace3864 gas/doc/as.texinfo a59215bdf94de57a0285409852af014d gas/doc/c-a29k.texi @@ -1102,12 +1102,12 @@ b9417fdfa7182548d363db23e361dd2f gas/do 1c68e6386c1c55f7f7daa807474cae7f gas/doc/fdl.texi 289febda425d8afbd046e348a08dbfff gas/doc/h8.texi e65af8eb9d989c9043feece6ddf681cb gas/doc/internals.texi -5fb4b074d7dd328d58d11c37d08d91fc gas/doc/as.1 -4f4be15909a545cfb5d730372bbe281d gas/doc/as.info -f1ec0322a0fe36da2b526670b73001c8 gas/doc/as.info-1 +085c51049c2e8b574a49a65ac7db469d gas/doc/as.1 +cdc3a916129fce1410dbe5c5c6759ac7 gas/doc/as.info +c3e0f1e433de8696990f75b28fa8b774 gas/doc/as.info-1 7b9b1f6333b23769b02d0c772204ebbc gas/doc/as.info-2 ad4c200672da9609f3d4bfcd579e3f15 gas/doc/as.info-3 -1fe292800a15509b7452054854909549 gas/doc/gasver.texi +c752f5ea873f25831700986e6523b6ea gas/doc/gasver.texi 2d7a6579d34bf5aa08c8804a08957fc5 gas/doc/asconfig.texi 7929d345cda5e2d80e8e41155169ff39 gas/po/Make-in b6b3d2b15c2bb0a5403daac879faf933 gas/po/POTFILES.in @@ -1119,7 +1119,7 @@ b6b3d2b15c2bb0a5403daac879faf933 gas/po 6a1b5386205385f77c4d664a9e8ecc16 gas/po/fr.gmo cd950a0d08e9bfb823c40d2abefd2921 gas/po/tr.gmo d38e4c9dc972ad516087cf19392d2971 gas/testsuite/config/default.exp -48c896d3163840ae5e10103b887be1d3 gas/testsuite/ChangeLog +38aa7239979cd11779f68cf40de9e16f gas/testsuite/ChangeLog b862a6b63b6b10af8ed8b99f485b131a gas/testsuite/ChangeLog-9303 e6c304936e9061331bf04ff66f8c1eaa gas/testsuite/gas/all/align2.d acc0977114e4b9e65b9d2aa95c35ff8f gas/testsuite/gas/all/align.d @@ -2287,7 +2287,7 @@ ae4cfc6a16703b6c2586c99215ad32e2 gas/te bc38d9bf826a3c9d36e322b0fdc4b1ce gas/testsuite/gas/ia64/hint.b-err.s 53d2625d7ca78e2bf4b13272b30ae1e2 gas/testsuite/gas/ia64/hint.b-warn.l bc38d9bf826a3c9d36e322b0fdc4b1ce gas/testsuite/gas/ia64/hint.b-warn.s -8108dc262b061959edf1ef7e496eb881 gas/testsuite/gas/ia64/ia64.exp +eb08bf689ae0cdd0b8a44c074ed24a92 gas/testsuite/gas/ia64/ia64.exp a4878945da8cd9c85d35d3d2f588ac42 gas/testsuite/gas/ia64/invalid-ar.l 660ec8d48833fefab134df71920f3d27 gas/testsuite/gas/ia64/invalid-ar.s f4d82e4423f8b9465e9276e22157086a gas/testsuite/gas/ia64/label.l @@ -2370,6 +2370,9 @@ dd56d5eef5070047d4d2e33144b6a8c8 gas/te d6b0de0e58c262ebb157991b42cef765 gas/testsuite/gas/ia64/xdata-ilp32.d 2ee10569dbfbd5553f167899e75e454a gas/testsuite/gas/ia64/xdata.d 0efee14c792c025001d68ffe3c09f7a9 gas/testsuite/gas/ia64/xdata.s +2936fd2043217d53a51e8f059e9a217b gas/testsuite/gas/ia64/reloc-uw-ilp32.d +a701045f5a463b1a4e625df26718524b gas/testsuite/gas/ia64/reloc-uw.d +f6a87b3768a5c169d53a30d9b37ef686 gas/testsuite/gas/ia64/reloc-uw.s 3cd9cc915e08c2ea2792b9fc2ca95ab5 gas/testsuite/gas/ieee-fp/x930509a.exp b0509b0492fd2fc8448b011ae03a41b8 gas/testsuite/gas/ieee-fp/x930509a.s a93dccf731a42c0d3faf11b8d3b96979 gas/testsuite/gas/iq2000/allinsn.d @@ -2980,9 +2983,9 @@ c759e7da1ca3460a3f3aecb62d752a57 gas/te 03386ef0c29fc9cd797e867b45ccc281 gas/testsuite/gas/mips/branch-misc-3.s a3f1c025cc84899f06317b72baeef588 gas/testsuite/gas/mips/vr4130.d 31a7f69672ac479f6086678707a4980d gas/testsuite/gas/mips/vr4130.s -be45141b5dcf8259d65d161ac7b821b3 gas/testsuite/gas/mips/ldstla-32-1.l +e3c5f4701fa5ef6da67ab162e0701906 gas/testsuite/gas/mips/ldstla-32-1.l e715607a1b2e59844473eea6a28b3b3d gas/testsuite/gas/mips/ldstla-32-1.s -3c0c1e04e8c98f1e09c030b68a03595b gas/testsuite/gas/mips/ldstla-32-mips3-1.l +8f6518564ee0f0b69553f9081bcd8787 gas/testsuite/gas/mips/ldstla-32-mips3-1.l bdfff1940f0efbe7e068b5611681b82d gas/testsuite/gas/mips/ldstla-32-mips3-1.s 900fbf3f4266555e2599ae7cfee40cab gas/testsuite/gas/mips/ldstla-32-mips3-shared.d cdf2ea34d390697493589dffa7ed56c6 gas/testsuite/gas/mips/ldstla-32-mips3.d @@ -4470,7 +4473,7 @@ d5b1fddfa21a41fbd34775e65f7e714d ld/emu f51734948fe47c0e8f4308dc5363417d ld/emulparams/xtensa-config.sh cd93ec9e7e74cadfaf8044cca1581111 ld/emulparams/z8001.sh 8890ef4fad0e25044c8d3200a9e77ee7 ld/emulparams/z8002.sh -9e5d03f3503c704509e48d3b8aa2971b ld/ChangeLog +f1ebc15c38ea1c9e527ad75d1370fbfe ld/ChangeLog 7ca725ba584a0477922ca681df841a08 ld/ChangeLog-0001 1844c5088cd03b9246ecf58008c41d76 ld/ChangeLog-0203 8958c5b05a66e6b252f6978095132f7c ld/ChangeLog-9197 @@ -4496,7 +4499,7 @@ a8372b61f9f805ea36fdaf1955870cad ld/dep 813fd202caae66311d5aab0e7b3341f1 ld/genscripts.sh 981d9fc565e24a50734af5902eb7c52e ld/h8-doc.texi 7f05146e0d2ea2e32ae4c8a3ee2845c5 ld/ld.h -1bc27f65b2d65d5494cf70a86568a807 ld/ld.texinfo +1539a80733b455eb6b16ccf31d913df8 ld/ld.texinfo 16b3c5892a4618903ab1fb5635fd53a3 ld/ldcref.c 6744d28f36f0ced245c453b5937eb410 ld/ldctor.c e435a714eeb313c9315911b83010a363 ld/ldctor.h @@ -4556,7 +4559,7 @@ e6aa612854dbb900156c6d0a47404a06 ld/emu a8190e4a0b5cca5b8677d8bb2d39940f ld/emultempl/ostring.sed ed03cf5f6e14694b6b06ac2530dc56d4 ld/emultempl/pe.em 2af6bb58d1c91ca2b6c777c8236adcf4 ld/emultempl/ppc32elf.em -993f4485026ec1827be54480ddc418f4 ld/emultempl/ppc64elf.em +9cbbab2925d0027635775f3e3cc8afbd ld/emultempl/ppc64elf.em fc00a5de85938a5595627a2fa16054be ld/emultempl/sh64elf.em 7c1359d6b0f0482bdf4033f12b920e24 ld/emultempl/sunos.em ebcce0872c08705896b9ea128a432ce1 ld/emultempl/ticoff.em @@ -4655,7 +4658,7 @@ a5d7a8f7f8d7025a87dfc9ed859951c3 ld/scr 2158a0a8c945c525bce212f0a1c52929 ld/scripttempl/xstormy16.sc 474b1c82cd04327e7433dd108c93e239 ld/scripttempl/z8000.sc fb6ea2d410388905fd6fc88e3c0b46dd ld/testsuite/config/default.exp -aa36582fade5c29fb6e432b30737a6fd ld/testsuite/ChangeLog +3e67ee0c6bc368617eb2836b9614e72f ld/testsuite/ChangeLog f6131533875b285cb0449a348fffaeea ld/testsuite/ChangeLog-9303 2c1c6ec081a199ec1f3374afbdd7e8e7 ld/testsuite/ld-alpha/alpha.exp 18325ab257cc940dcb70d61b6715538c ld/testsuite/ld-alpha/align.s @@ -5091,7 +5094,7 @@ e10cb4a11a7381050cb3277e48f1ec1e ld/tes 0e4106aabff604c09aa201ce238d54dd ld/testsuite/ld-elfweak/bar1b.c 9f3b2607071ce0deb9d70f4e65b9cf9e ld/testsuite/ld-elfweak/bar1c.c 44d2701e2241d6fc3ece7a49d12f085c ld/testsuite/ld-elfweak/dsodata.dsym -cbbdd3edc5eb0d196f3d93751ef56b02 ld/testsuite/ld-elfweak/dsow.dsym +7313186c25c0a3dfd3463f2f73b39b79 ld/testsuite/ld-elfweak/dsow.dsym 607c3428b4eb9e814e7f9a8926062ec9 ld/testsuite/ld-elfweak/dsowdata.dsym 6f2e3b7576a58d9b7e939ac8970c6d93 ld/testsuite/ld-elfweak/elfweak.exp 0675dd6a498ed0fe35607abf03517c33 ld/testsuite/ld-elfweak/foo.c @@ -5109,7 +5112,7 @@ fddc5be8a7bda224817c3fa41096c8f3 ld/tes 5a6dd36b14499e59820a074213e6c5df ld/testsuite/ld-elfweak/strongdata.dat 2ffd77b575b3bd0706ab4ba163259b46 ld/testsuite/ld-elfweak/strongdata.sym dcf5e53a281f26dbad477cdba407e168 ld/testsuite/ld-elfweak/weak.dat -cbbdd3edc5eb0d196f3d93751ef56b02 ld/testsuite/ld-elfweak/weak.dsym +7313186c25c0a3dfd3463f2f73b39b79 ld/testsuite/ld-elfweak/weak.dsym 40040714fbc533439a8346bed87f39be ld/testsuite/ld-elfweak/weakdata.dat 607c3428b4eb9e814e7f9a8926062ec9 ld/testsuite/ld-elfweak/weakdata.dsym 740e6c75a141a24eb7156f293adc9c31 ld/testsuite/ld-fastcall/export.s @@ -5929,7 +5932,7 @@ ee25e606252413aba69f02431147ff1c ld/tes d38b74170368286b6fd747373a2ecdf5 ld/testsuite/ld-selective/keepdot0.d cd27e66eaeaab29aa416b21a3aeb060d ld/testsuite/ld-selective/keepdot0.ld 53b7682586a49b3bb5e1702f9586df14 ld/testsuite/ld-selective/sel-dump.exp -9320d854930bbb123eb3f00f2429fe50 ld/testsuite/ld-selective/selective.exp +ba01600c334ffdee75b1ed9a966de2fb ld/testsuite/ld-selective/selective.exp c8acb79c5839c9e87e6c4d2fa736c047 ld/testsuite/ld-sh/arch/arch.exp b037371b54ebcd74962e65b3b91bf53b ld/testsuite/ld-sh/arch/arch_expected.txt 30b7a8653cb08c05e1097858b107e0ab ld/testsuite/ld-sh/arch/sh-dsp.s @@ -6168,11 +6171,11 @@ f242f65208286ce6c777e52159a52efe ld/tes f3bb78e2bbd6bac90e08899f09dab316 ld/testsuite/ld-xtensa/lcall2.s e04e8dd2c09d8a056987e78b4367f3ea ld/testsuite/lib/ld-lib.exp 195c38d3a858d2859e3536c8579d3a1e ld/ldgram.c -e63adb537d638e02527e2f57bcf13cb0 ld/ld.1 -00bfe41800b04949bc6a8d96e83953b4 ld/ld.info +3eab0c895540a37054f1cecc4b471f02 ld/ld.1 +fe8d40479e18c9fec02d64bc841e909c ld/ld.info 4f11efb4a6612eeb98f1515e62c99e39 ld/ldgram.h 99646ca90f6d9bdf93e994c3c8df509c ld/ldlex.c -1fe292800a15509b7452054854909549 ld/ldver.texi +c752f5ea873f25831700986e6523b6ea ld/ldver.texi 320a8efe5748ee45450d7f9f0bed241e ld/configdoc.texi 7b65854f594c84e80295173de277b3dc libiberty/config/mh-cxux7 4004fdcde347fda58406b4b84a995c66 libiberty/config/mh-aix