Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/FSF]: src/external/gpl3/binutils/dist Import the binutils-2_19-branch so...
details: https://anonhg.NetBSD.org/src/rev/9b6dbfdae2c3
branches: FSF
changeset: 746635:9b6dbfdae2c3
user: skrll <skrll%NetBSD.org@localhost>
date: Mon Dec 06 14:24:11 2010 +0000
description:
Import the binutils-2_19-branch sources as of 2010-04-02.
diffstat:
external/gpl3/binutils/dist/bfd/ChangeLog | 105 +
external/gpl3/binutils/dist/bfd/dwarf2.c | 88 +-
external/gpl3/binutils/dist/bfd/elf-eh-frame.c | 30 +-
external/gpl3/binutils/dist/bfd/elf.c | 110 +-
external/gpl3/binutils/dist/bfd/elf32-avr.c | 6 +-
external/gpl3/binutils/dist/bfd/elf32-ppc.c | 158 +-
external/gpl3/binutils/dist/bfd/elf64-ppc.c | 259 +-
external/gpl3/binutils/dist/bfd/elflink.c | 98 +-
external/gpl3/binutils/dist/bfd/linker.c | 42 +-
external/gpl3/binutils/dist/bfd/syms.c | 9 +-
external/gpl3/binutils/dist/bfd/version.h | 2 +-
external/gpl3/binutils/dist/binutils/ChangeLog | 13 +
external/gpl3/binutils/dist/binutils/NEWS | 4 +
external/gpl3/binutils/dist/binutils/doc/binutils.texi | 12 +-
external/gpl3/binutils/dist/binutils/objcopy.c | 19 +-
external/gpl3/binutils/dist/binutils/readelf.c | 23 +
external/gpl3/binutils/dist/configure.ac | 2 +-
external/gpl3/binutils/dist/gas/ChangeLog | 38 +-
external/gpl3/binutils/dist/gas/config/tc-arm.c | 10 +-
external/gpl3/binutils/dist/gas/config/tc-ppc.c | 240 +-
external/gpl3/binutils/dist/gas/doc/as.texinfo | 3 +-
external/gpl3/binutils/dist/gas/doc/c-ppc.texi | 5 +-
external/gpl3/binutils/dist/gas/testsuite/ChangeLog | 53 +
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/booke.d | 183 +-
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/booke.s | 122 +-
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/booke_xcoff.d | 4 +-
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/booke_xcoff.s | 2 +-
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/booke_xcoff64.d | 4 +-
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/booke_xcoff64.s | 2 +-
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/common.d | 190 +
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/common.s | 182 +
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/e500mc.d | 77 +-
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/e500mc.s | 5 +
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/power4_32.d | 46 +
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/power4_32.s | 39 +
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/power6.d | 42 +-
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/power6.s | 41 +
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/power7.d | 104 +-
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/power7.s | 72 +-
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/ppc.exp | 3 +
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/vsx.d | 174 +
external/gpl3/binutils/dist/gas/testsuite/gas/ppc/vsx.s | 166 +
external/gpl3/binutils/dist/include/elf/ChangeLog | 8 +
external/gpl3/binutils/dist/include/elf/internal.h | 2 +
external/gpl3/binutils/dist/include/elf/ppc.h | 5 +
external/gpl3/binutils/dist/include/opcode/ChangeLog | 9 +
external/gpl3/binutils/dist/include/opcode/ppc.h | 9 +-
external/gpl3/binutils/dist/ld/ChangeLog | 62 +
external/gpl3/binutils/dist/ld/emultempl/beos.em | 20 +-
external/gpl3/binutils/dist/ld/emultempl/elf32.em | 63 +-
external/gpl3/binutils/dist/ld/emultempl/genelf.em | 20 +
external/gpl3/binutils/dist/ld/emultempl/mmo.em | 8 +-
external/gpl3/binutils/dist/ld/emultempl/pe.em | 49 +-
external/gpl3/binutils/dist/ld/emultempl/pep.em | 49 +-
external/gpl3/binutils/dist/ld/emultempl/spuelf.em | 7 +-
external/gpl3/binutils/dist/ld/emultempl/xtensaelf.em | 11 +-
external/gpl3/binutils/dist/ld/ldctor.c | 12 +-
external/gpl3/binutils/dist/ld/ldemul.c | 4 +-
external/gpl3/binutils/dist/ld/ldemul.h | 4 +-
external/gpl3/binutils/dist/ld/ldexp.c | 281 +-
external/gpl3/binutils/dist/ld/ldlang.c | 149 +-
external/gpl3/binutils/dist/ld/ldlang.h | 10 +-
external/gpl3/binutils/dist/ld/testsuite/ChangeLog | 23 +
external/gpl3/binutils/dist/ld/testsuite/ld-elf/eh-group.exp | 24 +-
external/gpl3/binutils/dist/ld/testsuite/ld-elf/eh-group2.s | 11 +
external/gpl3/binutils/dist/ld/testsuite/ld-elf/linkoncerdiff.d | 6 +
external/gpl3/binutils/dist/ld/testsuite/ld-elf/linkoncerdiff1.s | 7 +
external/gpl3/binutils/dist/ld/testsuite/ld-elf/linkoncerdiff2.s | 22 +
external/gpl3/binutils/dist/ld/testsuite/ld-powerpc/attr-gnu-12-1.s | 1 +
external/gpl3/binutils/dist/ld/testsuite/ld-powerpc/attr-gnu-12-11.d | 10 +
external/gpl3/binutils/dist/ld/testsuite/ld-powerpc/attr-gnu-12-2.s | 1 +
external/gpl3/binutils/dist/ld/testsuite/ld-powerpc/attr-gnu-12-21.d | 6 +
external/gpl3/binutils/dist/ld/testsuite/ld-powerpc/powerpc.exp | 8 +
external/gpl3/binutils/dist/ld/testsuite/ld-powerpc/vxworks-relax.rd | 9 +
external/gpl3/binutils/dist/ld/testsuite/ld-powerpc/vxworks-relax.s | 13 +
external/gpl3/binutils/dist/ld/testsuite/ld-powerpc/vxworks1.ld | 2 +-
external/gpl3/binutils/dist/ld/testsuite/ld-powerpc/vxworks1.rd | 4 +-
external/gpl3/binutils/dist/opcodes/ChangeLog | 90 +
external/gpl3/binutils/dist/opcodes/ppc-dis.c | 12 +-
external/gpl3/binutils/dist/opcodes/ppc-opc.c | 6711 +++++----
80 files changed, 6209 insertions(+), 4320 deletions(-)
diffs (truncated from 12448 to 300 lines):
diff -r 762ef2d71232 -r 9b6dbfdae2c3 external/gpl3/binutils/dist/bfd/ChangeLog
--- a/external/gpl3/binutils/dist/bfd/ChangeLog Tue Aug 18 10:16:42 2009 +0000
+++ b/external/gpl3/binutils/dist/bfd/ChangeLog Mon Dec 06 14:24:11 2010 +0000
@@ -1,3 +1,108 @@
+2009-03-02 Alan Modra <amodra%bigpond.net.au@localhost>
+
+ 2009-02-15 Alan Modra <amodra%bigpond.net.au@localhost>
+ * elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,
+ add toc.symndx and toc.add.
+ (ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.
+ Set up toc.add.
+ (get_tls_mask): Add toc_addend param, set from toc.add. Adjust all
+ callers.
+ (ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.
+ (branch_reloc_hash_match): New function, extracted from..
+ (ppc64_elf_tls_optimize): ..here.
+ (ppc64_elf_relocate_section): Properly set addends when optimizing
+ tls sequences. Avoid unnecessary reading and writing of insns.
+ Only redo reloc when symbol changed. Bypass symbol checks when
+ using tlsld_got.
+ * elf32-ppc.c (ppc_elf_tls_setup): Correct comment.
+ (branch_reloc_hash_match): New function, extracted from..
+ (ppc_elf_tls_optimize): ..here.
+ (ppc_elf_relocate_section): Avoid unnecessary reading of insns.
+ Don't clear addend on zapped __tls_get_addr reloc.
+
+ 2009-02-01 Jan Kratochvil <jan.kratochvil%redhat.com@localhost>
+ * elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
+ (_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
+
+ 2009-01-26 Nathan Sidwell <nathan%codesourcery.com@localhost>
+ * elf32-ppc.c (ppc_elf_relax_section): Add space for relocs
+ describing the trampolines.
+ (ppc_elf_relocate_section): Update relocs to describe the
+ trampolines.
+
+ 2009-01-22 Alan Modra <amodra%bigpond.net.au@localhost>
+ PR 6832
+ * dwarf2.c (find_line): Don't update stash->sec_info_ptr until
+ after comp_unit_find_line call.
+
+ 2009-01-14 Alan Modra <amodra%bigpond.net.au@localhost>
+ PR 9735
+ * syms.c (_bfd_stab_section_find_nearest_line): Don't free
+ saved filename, use bfd_alloc rather than bfd_malloc for it.
+
+ 2009-01-11 Jan Kratochvil <jan.kratochvil%redhat.com@localhost>
+ * elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4
+ relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
+
+ 2008-12-11 Alan Modra <amodra%bigpond.net.au@localhost>
+ PR 7041
+ * elf64-ppc.c (func_desc_adjust): Correct logic making fake function
+ descriptors. Similarly correct making function descriptors dynamic.
+
+ 2008-11-14 Nathan Sidwell <nathan%codesourcery.com@localhost>
+ * elf.c (assign_file_positions_for_load_sections): Use header_size
+ to avoid moving the load address of file headers.
+ (assign_file_positions_for_load_sections): Set header_size for
+ segments containing the file header.
+
+ 2008-11-13 Hans-Peter Nilsson <hp%axis.com@localhost>
+ PR ld/7028
+ * elf.c (assign_file_positions_for_load_sections): Allocate phrds
+ with bfd_zalloc2 instead of bfd_alloc2. For the amount, use
+ the possibly-preset header-size, not the computed one.
+
+ 2008-11-13 Alan Modra <amodra%bigpond.net.au@localhost>
+ PR 7023
+ * elf.c (bfd_section_from_shdr <SHT_SYMTAB>): Fail on invalid sh_info.
+
+ 2008-11-11 Alan Modra <amodra%bigpond.net.au@localhost>
+ PR 7012
+ * dwarf2.c (find_line): Don't keep stale pointers into realloc'd
+ memory. Return on errors. Fix memory leak.
+ (_bfd_dwarf2_cleanup_debug_info): Free dwarf_str_buffer.
+
+ 2008-10-10 Nathan Froyd <froydnj%codesourcery.com@localhost>
+ * elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge
+ Tag_GNU_Power_ABI_Struct_Return.
+
+ 2008-10-03 Alan Modra <amodra%bigpond.net.au@localhost>
+ * elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when
+ the signature symbol is global.
+ * elflink.c (elf_link_input_bfd): Ensure group signature symbol
+ is output when ld -r. Set group sh_info when local.
+ * linker.c (default_indirect_link_order): Handle group sections
+ specially.
+
+ 2008-09-28 Alan Modra <amodra%bigpond.net.au@localhost>
+ * elf.c (_bfd_elf_init_private_section_data): Tweak union copy.
+ (bfd_section_from_shdr): Don't change SHT_GROUP section name.
+ * elflink.c (section_signature): New function.
+ (_bfd_elf_section_already_linked): Use it.
+
+2009-02-15 Bjoern Haase <bjoern.m.haase%web.de@localhost>
+
+ PR 9841
+ * elf32-avr.c: Handle case where no local symbos exist correctly.
+
+2009-02-04 Eric B. Weddington <eric.weddington%atmel.com@localhost>
+
+ * elf32-avr.c (avr_final_link_relocate): Allow avr25 to wraparound.
+
+2009-02-03 Tristan Gingold <gingold%adacore.com@localhost>
+
+ * Makefile.am (RELEASE): Unset.
+ * Makefile.in: Regenerated.
+
2009-02-02 Tristan Gingold <gingold%adacore.com@localhost>
* configure.in: Bump version to 2.19.1
diff -r 762ef2d71232 -r 9b6dbfdae2c3 external/gpl3/binutils/dist/bfd/dwarf2.c
--- a/external/gpl3/binutils/dist/bfd/dwarf2.c Tue Aug 18 10:16:42 2009 +0000
+++ b/external/gpl3/binutils/dist/bfd/dwarf2.c Mon Dec 06 14:24:11 2010 +0000
@@ -1,6 +1,6 @@
/* DWARF 2 support.
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Adapted from gdb/dwarf2read.c by Gavin Koch of Cygnus Solutions
(gavin%cygnus.com@localhost).
@@ -2989,8 +2989,6 @@
symbols, 0,
&stash->info_ptr_memory, &total_size))
goto done;
- stash->info_ptr = stash->info_ptr_memory;
- stash->info_ptr_end = stash->info_ptr + total_size;
}
else
{
@@ -3008,63 +3006,64 @@
if (stash->info_ptr_memory == NULL)
goto done;
- stash->info_ptr = stash->info_ptr_memory;
- stash->info_ptr_end = stash->info_ptr;
-
+ total_size = 0;
for (msec = find_debug_info (debug_bfd, NULL);
msec;
msec = find_debug_info (debug_bfd, msec))
{
bfd_size_type size;
- bfd_size_type start;
size = msec->size;
if (size == 0)
continue;
- start = stash->info_ptr_end - stash->info_ptr;
-
- if ((bfd_simple_get_relocated_section_contents
- (debug_bfd, msec, stash->info_ptr + start, symbols))
- == NULL)
- continue;
-
- stash->info_ptr_end = stash->info_ptr + start + size;
+ if (!(bfd_simple_get_relocated_section_contents
+ (debug_bfd, msec, stash->info_ptr_memory + total_size,
+ symbols)))
+ goto done;
+
+ total_size += size;
}
-
- BFD_ASSERT (stash->info_ptr_end == stash->info_ptr + total_size);
}
else
{
/* Case 3: multiple sections, some or all compressed. */
- stash->info_ptr_memory = bfd_malloc (1);
- stash->info_ptr = stash->info_ptr_memory;
- stash->info_ptr_end = stash->info_ptr;
+ stash->info_ptr_memory = NULL;
+ total_size = 0;
for (msec = find_debug_info (debug_bfd, NULL);
msec;
msec = find_debug_info (debug_bfd, msec))
{
bfd_size_type size = msec->size;
- bfd_byte* buffer
- = (bfd_simple_get_relocated_section_contents
- (debug_bfd, msec, NULL, symbols));
+ bfd_byte* buffer;
+
+ if (size == 0)
+ continue;
+
+ buffer = (bfd_simple_get_relocated_section_contents
+ (debug_bfd, msec, NULL, symbols));
if (! buffer)
- continue;
+ goto done;
+
if (strcmp (msec->name, DWARF2_COMPRESSED_DEBUG_INFO) == 0)
{
if (! bfd_uncompress_section_contents (&buffer, &size))
- continue;
+ {
+ free (buffer);
+ goto done;
+ }
}
- stash->info_ptr = bfd_realloc (stash->info_ptr,
- stash->info_ptr_end
- - stash->info_ptr + size);
- memcpy (stash->info_ptr_end, buffer, size);
+ stash->info_ptr_memory = bfd_realloc (stash->info_ptr_memory,
+ total_size + size);
+ memcpy (stash->info_ptr_memory + total_size, buffer, size);
free (buffer);
- stash->info_ptr_end += size;
+ total_size += size;
}
}
}
+ stash->info_ptr = stash->info_ptr_memory;
+ stash->info_ptr_end = stash->info_ptr + total_size;
stash->sec = find_debug_info (debug_bfd, NULL);
stash->sec_info_ptr = stash->info_ptr;
stash->syms = symbols;
@@ -3187,13 +3186,6 @@
break;
stash->info_ptr += length;
- if ((bfd_vma) (stash->info_ptr - stash->sec_info_ptr)
- == stash->sec->size)
- {
- stash->sec = find_debug_info (stash->bfd, stash->sec);
- stash->sec_info_ptr = stash->info_ptr;
- }
-
if (stash->all_comp_units)
stash->all_comp_units->prev_unit = each;
else
@@ -3223,6 +3215,14 @@
functionname_ptr,
linenumber_ptr,
stash));
+
+ if ((bfd_vma) (stash->info_ptr - stash->sec_info_ptr)
+ == stash->sec->size)
+ {
+ stash->sec = find_debug_info (stash->bfd, stash->sec);
+ stash->sec_info_ptr = stash->info_ptr;
+ }
+
if (found)
goto done;
}
@@ -3364,8 +3364,14 @@
}
}
- free (stash->dwarf_abbrev_buffer);
- free (stash->dwarf_line_buffer);
- free (stash->dwarf_ranges_buffer);
- free (stash->info_ptr_memory);
+ if (stash->dwarf_abbrev_buffer)
+ free (stash->dwarf_abbrev_buffer);
+ if (stash->dwarf_line_buffer)
+ free (stash->dwarf_line_buffer);
+ if (stash->dwarf_str_buffer)
+ free (stash->dwarf_str_buffer);
+ if (stash->dwarf_ranges_buffer)
+ free (stash->dwarf_ranges_buffer);
+ if (stash->info_ptr_memory)
+ free (stash->info_ptr_memory);
}
diff -r 762ef2d71232 -r 9b6dbfdae2c3 external/gpl3/binutils/dist/bfd/elf-eh-frame.c
--- a/external/gpl3/binutils/dist/bfd/elf-eh-frame.c Tue Aug 18 10:16:42 2009 +0000
+++ b/external/gpl3/binutils/dist/bfd/elf-eh-frame.c Mon Dec 06 14:24:11 2010 +0000
@@ -549,16 +549,6 @@
< (bfd_size_type) ((buf) - ehbuf))) \
cookie->rel++
-#define REQUIRE_CLEARED_RELOCS(buf) \
- while (cookie->rel < cookie->relend \
- && (cookie->rel->r_offset \
- < (bfd_size_type) ((buf) - ehbuf))) \
- { \
- REQUIRE (cookie->rel->r_info == 0); \
- REQUIRE (cookie->rel->r_addend == 0); \
- cookie->rel++; \
- }
-
#define GET_RELOC(buf) \
((cookie->rel < cookie->relend \
&& (cookie->rel->r_offset \
@@ -817,16 +807,16 @@
buf = last_fde + 4 + hdr_length;
- /* Cleared FDE? The instructions will not be cleared but verify all
- the relocation entries for them are cleared. */
- if (rsec == NULL)
- {
Home |
Main Index |
Thread Index |
Old Index