public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: sergio@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  archer-sergio-catch-syscall: Merge branch 'master' into archer-sergio-catch-syscall
Date: Thu, 05 Feb 2009 21:37:00 -0000	[thread overview]
Message-ID: <20090205213727.21782.qmail@sourceware.org> (raw)

The branch, archer-sergio-catch-syscall has been updated
       via  311a7c56cfdf598ed6d4ac291cbee28a3b9863b9 (commit)
       via  83244659d8ba6362e7dbd7dfafb8ed1cf6e51c0a (commit)
       via  a3bba34e704e8ff71dba954c74452217cb40124d (commit)
       via  34083a97307a6f1456c9455997c4b5471ba21330 (commit)
       via  9b9259f61cdcbec6d68eb9cedef6819f288053ed (commit)
       via  331acbfdd7b4c6734baad6d4d4c2c1489a9a22a1 (commit)
       via  12ee80b84d3220d99f5396deb7b072e51d7d1afd (commit)
       via  55a909760e801aafcf7e031b098cf2161d248d9a (commit)
       via  48a6038a855c30477e907307ab8b7d3834c575c1 (commit)
       via  fe4c4e465347fee881541b71c140a773f42a0ce6 (commit)
       via  e1d633a3fafbf670c686f59f3007b6280da50625 (commit)
       via  5c8d779d999734da634d5905e5a945d98cab69d8 (commit)
       via  54596033c019654f4a92f8d99c62a2cfb02b8b19 (commit)
       via  7a228ded75afbcc5af87b9cd26e54ceea0b3cb25 (commit)
       via  d8ccded1bd72290e07a69451f708292a76fe7a7a (commit)
       via  f1737c87c2af20d1325583a5ab7861a4dd5a0111 (commit)
       via  5d8468a9859aabe67d53f6babf5c2321e2abf000 (commit)
       via  937201738a21d48c627d2200ca73de7960d46786 (commit)
       via  b861fbb2404426ae5f91fe2d92b9809a487698fa (commit)
       via  8c64d8171f82fb656a5c7f77895867bb0d7372ad (commit)
       via  0a35ab92d3b16aadbf63f6079a61b9a71b9ebcb7 (commit)
       via  4b1236ddb168d1eeed42dfcca0e64973301451cf (commit)
       via  81ebe44fd16047d8bd1f695003bec53eb50b1051 (commit)
       via  0cd91cc2b97d671e6f2035f26c34cc134b800228 (commit)
       via  e7579ed59ad66782474d31635dd5cbc26ecbcf94 (commit)
       via  09547ab8a96a6f3636ceacdf11c66e8f333c0a03 (commit)
       via  5845b55b1b01b9339c2384806e7107d321a4237c (commit)
       via  8e4acafc10950e2d83954aa8f56714403a2c604b (commit)
       via  d112c9579d4e97ddbaf61e762316154fe187b2f7 (commit)
       via  32e15a5e8946225fa4e9c11f6fc2040adae79e38 (commit)
       via  cf7d1af3ff6a6913b472bdee56b083604ee5b87e (commit)
       via  9efdb5ea40104f4be915361c462fe596302efe86 (commit)
       via  6bcccbac081b4d742322d319b8df687fe78501c8 (commit)
       via  3a8e057c013d2df89a90b7c94e5ac5842d8f6b77 (commit)
       via  a967bdb3b666cf75b608da72d82d61f3bb7d05df (commit)
       via  114a09c3fef29ad0d580c86c81338dceb176b8bb (commit)
       via  c02cfd685030e8f65a7727a14cc303790e0e94c7 (commit)
       via  e71c3f1030c5a9ae8a4b54f030b0ed1797074554 (commit)
       via  c80176fdeed48b514d2dc005005b6483fb85e8dd (commit)
       via  24f23f293583eea2a35a3a46b6f1b5034c12bbad (commit)
       via  d235a2f3d48298dd7a2b6841108965292dd78907 (commit)
      from  6dea2c97a8617f01b34dc9d04810f31c049f4834 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 311a7c56cfdf598ed6d4ac291cbee28a3b9863b9
Merge: 6dea2c97a8617f01b34dc9d04810f31c049f4834 83244659d8ba6362e7dbd7dfafb8ed1cf6e51c0a
Author: Sergio Durigan Junior <sergiosdj@gmail.com>
Date:   Thu Feb 5 19:29:36 2009 -0200

    Merge branch 'master' into archer-sergio-catch-syscall
    
    Conflicts:
    	gdb/main.c
    	gdb/target.c
    	gdb/target.h

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                              |   98 ++
 bfd/bfd-in2.h                              |   15 +
 bfd/dwarf2.c                               |   19 +-
 bfd/elf-attrs.c                            |    4 +-
 bfd/elf-bfd.h                              |    9 -
 bfd/elf-eh-frame.c                         |   30 +-
 bfd/elf.c                                  |   44 +-
 bfd/elf32-arm.c                            |    8 +-
 bfd/elf32-cris.c                           |    8 +-
 bfd/elf32-m68k.c                           | 1520 ++++++++++++++++++++--------
 bfd/elf32-mep.c                            |    3 +-
 bfd/elflink.c                              |   19 +-
 bfd/elfxx-mips.c                           |    2 +-
 bfd/libbfd.h                               |   17 +-
 bfd/reloc.c                                |   30 +
 bfd/version.h                              |    2 +-
 config/ChangeLog                           |    8 +
 config/tcl.m4                              |   14 +-
 gdb/ChangeLog                              |   83 ++
 gdb/Makefile.in                            |    2 +-
 gdb/aclocal.m4                             |   24 +-
 gdb/amd64-linux-tdep.c                     |   10 +
 gdb/amd64-tdep.c                           |  729 +++++++++++++-
 gdb/amd64-tdep.h                           |    8 +
 gdb/breakpoint.c                           |   29 +-
 gdb/breakpoint.h                           |    3 +-
 gdb/completer.c                            |   32 +-
 gdb/config.in                              |    7 +
 gdb/configure                              |  410 +++++----
 gdb/configure.ac                           |  138 ++-
 gdb/corefile.c                             |   34 -
 gdb/doc/ChangeLog                          |   17 +
 gdb/doc/gdb.texinfo                        |   66 +-
 gdb/gdbcore.h                              |    5 -
 gdb/infrun.c                               |   20 +
 gdb/main.c                                 |  149 +++-
 gdb/mi/mi-cmd-break.c                      |   11 +-
 gdb/target.c                               |   77 +-
 gdb/target.h                               |    4 +
 gdb/testsuite/ChangeLog                    |   37 +
 gdb/testsuite/gdb.arch/amd64-disp-step.S   |  153 +++
 gdb/testsuite/gdb.arch/amd64-disp-step.exp |  219 ++++
 gdb/testsuite/gdb.arch/i386-disp-step.S    |   64 ++
 gdb/testsuite/gdb.arch/i386-disp-step.exp  |  112 ++
 gdb/testsuite/gdb.cp/Makefile.in           |    2 +-
 gdb/testsuite/gdb.cp/call-c.cc             |    3 +
 gdb/testsuite/gdb.cp/call-c.exp            |    3 +
 gdb/testsuite/gdb.cp/cpcompletion.exp      |   72 ++
 gdb/testsuite/gdb.cp/pr9594.cc             |   51 +
 gdb/testsuite/gdb.mi/mi-break.exp          |   16 +
 gdb/testsuite/lib/mi-support.exp           |    4 +-
 gdb/thread.c                               |    8 +
 gdb/valops.c                               |    8 +-
 gdb/version.in                             |    2 +-
 include/elf/ChangeLog                      |    4 +
 include/elf/m68k.h                         |   19 +
 include/opcode/ChangeLog                   |    9 +
 include/opcode/i386.h                      |   26 +-
 opcodes/ChangeLog                          |   19 +
 opcodes/arm-dis.c                          |    8 +-
 opcodes/mep-asm.c                          |   37 -
 opcodes/mep-desc.c                         | 1136 +++++++--------------
 opcodes/mep-desc.h                         |   33 +-
 opcodes/mep-dis.c                          |   39 -
 opcodes/mep-ibld.c                         |  211 ----
 opcodes/mep-opc.c                          |  268 +-----
 opcodes/mep-opc.h                          |   26 +-
 opcodes/mips-opc.c                         |    4 +-
 68 files changed, 4005 insertions(+), 2296 deletions(-)
 create mode 100644 gdb/testsuite/gdb.arch/amd64-disp-step.S
 create mode 100644 gdb/testsuite/gdb.arch/amd64-disp-step.exp
 create mode 100644 gdb/testsuite/gdb.arch/i386-disp-step.S
 create mode 100644 gdb/testsuite/gdb.arch/i386-disp-step.exp
 create mode 100644 gdb/testsuite/gdb.cp/cpcompletion.exp
 create mode 100644 gdb/testsuite/gdb.cp/pr9594.cc

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f6102d5..76d435b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,101 @@
+2009-02-03  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* bfd-in2.h: Regenerate.
+	* elf32-m68k.c: Handle 2-slot GOT entries.  Rename variables and
+	fields from n_entries to n_slots where appropriate, update comments.
+	(HOWTO): Add TLS relocations.
+	(reloc_map): Map BFD_RELOC_68K_TLS_* to R_68K_TLS_*.
+	(enum elf_m68k_got_offset_size): New enum.
+	(struct elf_m68k_got_entry.type): Move field to ...
+	(struct elf_m68k_got_entry_key): ... here.  Update all uses.
+	(elf_m68k_reloc_got_type, elf_m68k_reloc_got_offset_size): New static
+	functions.
+	(elf_m68k_reloc_got_n_entries, elf_m68k_reloc_tls_p): New static
+	functions.
+	(struct elf_m68k_got): merge rel_8o_n_entries and rel_8o_16o_n_entries
+	fields into n_entries array.  Update comments.
+	(elf_m68k_init_got): Simplify, update all uses.
+	(elf_m68k_init_got_entry_key): Handle R_68K_TLS_LDM32 reloc, update.
+	(ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT): Adjust to handle 2-slot
+	GOT entries; update name, update all uses.
+	(ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): Ditto.
+	(elf_m68k_get_got_entry): Update.
+	(elf_m68k_update_got_entry_type): Rewrite to handle TLS GOT entries,
+	simplify.
+	(elf_m68k_remove_got_entry_type): Simplify.
+	(elf_m68k_add_entry_to_got, elf_m68k_can_merge_gots_1): Update.
+	(elf_m68k_can_merge_gots): Update.
+	(elf_m68k_merge_gots_1, elf_m68k_merge_gots): Update.
+	(struct elf_m68k_finalize_got_offsets_arg): Rewrite to handle 2-slot
+	GOT entries, simplify.
+	(elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Same.
+	(struct elf_m68k_partition_multi_got_arg): Add slots_relas_diff
+	field, remove obsoleted local_n_entries field.
+	(elf_m68k_partition_multi_got_2): New static function.
+	(elf_m68k_partition_multi_got_1, elf_m68k_partition_multi_got): Use it;
+	update.
+	(elf_m68k_remove_got_entry_type): Update.
+	(elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
+	(elf_m68k_check_relocs): Handle TLS relocations.  Remove unnecessary 
+	update of sgot->size and srelgot->size.
+	(elf_m68k_gc_sweep_hook): Update.
+	(elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
+	(elf_m68k_relocate_section, elf_m68k_finish_dynamic_symbol): Handle
+	TLS relocations.
+	* reloc.c (BFD_RELOC_68K_TLS_*): Declare TLS relocations.
+	* libbfd.h (bfd_reloc_code_real_names): Add BFD_RELOC_68K_TLS_*.
+
+2009-02-02  DJ Delorie  <dj@redhat.com>
+
+	* elf32-mep.c (config_names): Regenerate configuration.
+
+2009-02-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (bfd_elf_get_str_section): Don't declare.
+	(bfd_elf_find_section, _sh_elf_set_mach_from_flags): Likewise.
+	* elf.c (bfd_elf_get_str_section): Make static.
+	(bfd_elf_find_section): Delete.
+	* libbfd.h: Regenerate.
+
+2009-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
+	(_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
+
+2009-01-31  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.c (on_needed_list): New function.
+	(elf_link_add_object_symbols): Link in --as-needed libs if they
+	satisfy undefined symbols in other libs.
+
+2009-01-30  Julian Brown  <julian@codesourcery.com>
+
+	* elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Skip BFDs with
+	EXEC_P or DYNAMIC flags, and skip sections which are being linked
+	with --just-symbols (-R).
+
+2009-01-29  Adam Nemet  <anemet@caviumnetworks.com>
+
+	* dwarf2.c (read_rangelist): Use read_address to read low_pc and
+	high_pc in order to properly sign-extend VMAs.
+
+2009-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
+            Mark Shinwell  <shinwell@codesourcery.com>
+            Catherine Moore  <clm@codesourcery.com>
+
+	* elf-attrs.c, elflink.c, elfxx-mips.c: Correct typos in comments.
+
+2009-01-28  Catherine Moore <clm@codesourcery.com>
+
+	* elf32-arm.c (elf32_arm_check_relocs): Set SEC_ALLOC and
+	SEC_LOAD for dynamic relocation sections.
+
+2009-01-27  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (cris_elf_relocate_section): Use elf_hash_table
+	(info)->tls_size, not elf_hash_table (info)->tls_sec->size for
+	the size of local TLS data.
+
 2009-01-27  Andreas Schwab  <schwab@suse.de>
 
 	* mach-o.c (bfd_mach_o_archive_p): Restrict the number of
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 779f03a..b79fa5c 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2363,6 +2363,21 @@ The 24-bit relocation is used in some Intel 960 configurations.  */
   BFD_RELOC_68K_GLOB_DAT,
   BFD_RELOC_68K_JMP_SLOT,
   BFD_RELOC_68K_RELATIVE,
+  BFD_RELOC_68K_TLS_GD32,
+  BFD_RELOC_68K_TLS_GD16,
+  BFD_RELOC_68K_TLS_GD8,
+  BFD_RELOC_68K_TLS_LDM32,
+  BFD_RELOC_68K_TLS_LDM16,
+  BFD_RELOC_68K_TLS_LDM8,
+  BFD_RELOC_68K_TLS_LDO32,
+  BFD_RELOC_68K_TLS_LDO16,
+  BFD_RELOC_68K_TLS_LDO8,
+  BFD_RELOC_68K_TLS_IE32,
+  BFD_RELOC_68K_TLS_IE16,
+  BFD_RELOC_68K_TLS_IE8,
+  BFD_RELOC_68K_TLS_LE32,
+  BFD_RELOC_68K_TLS_LE16,
+  BFD_RELOC_68K_TLS_LE8,
 
 /* Linkage-table relative.  */
   BFD_RELOC_32_BASEREL,
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 4f2e38c..0c18253 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -1803,20 +1803,11 @@ read_rangelist (struct comp_unit *unit, struct arange *arange, bfd_uint64_t offs
       bfd_vma low_pc;
       bfd_vma high_pc;
 
-      if (unit->addr_size == 4)
-	{
-	  low_pc = read_4_bytes (unit->abfd, ranges_ptr);
-	  ranges_ptr += 4;
-	  high_pc = read_4_bytes (unit->abfd, ranges_ptr);
-	  ranges_ptr += 4;
-	}
-      else
-	{
-	  low_pc = read_8_bytes (unit->abfd, ranges_ptr);
-	  ranges_ptr += 8;
-	  high_pc = read_8_bytes (unit->abfd, ranges_ptr);
-	  ranges_ptr += 8;
-	}
+      low_pc = read_address (unit, ranges_ptr);
+      ranges_ptr += unit->addr_size;
+      high_pc = read_address (unit, ranges_ptr);
+      ranges_ptr += unit->addr_size;
+
       if (low_pc == 0 && high_pc == 0)
 	break;
       if (low_pc == -1UL && high_pc != -1UL)
diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c
index e60053b..568bd7c 100644
--- a/bfd/elf-attrs.c
+++ b/bfd/elf-attrs.c
@@ -238,7 +238,7 @@ elf_new_obj_attr (bfd *abfd, int vendor, int tag)
 
   if (tag < NUM_KNOWN_OBJ_ATTRIBUTES)
     {
-      /* Knwon tags are preallocated.  */
+      /* Known tags are preallocated.  */
       attr = &elf_known_obj_attributes (abfd)[vendor][tag];
     }
   else
@@ -272,7 +272,7 @@ bfd_elf_get_obj_attr_int (bfd *abfd, int vendor, int tag)
 
   if (tag < NUM_KNOWN_OBJ_ATTRIBUTES)
     {
-      /* Knwon tags are preallocated.  */
+      /* Known tags are preallocated.  */
       return elf_known_obj_attributes (abfd)[vendor][tag].i;
     }
   else
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index c1cc63e..7b8fa69 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -1626,8 +1626,6 @@ extern unsigned int _bfd_elf_section_from_bfd_section
   (bfd *, asection *);
 extern char *bfd_elf_string_from_elf_section
   (bfd *, unsigned, unsigned);
-extern char *bfd_elf_get_str_section
-  (bfd *, unsigned);
 extern Elf_Internal_Sym *bfd_elf_get_elf_syms
   (bfd *, Elf_Internal_Shdr *, size_t, size_t, Elf_Internal_Sym *, void *,
    Elf_External_Sym_Shndx *);
@@ -1671,8 +1669,6 @@ extern bfd_boolean bfd_elf_make_generic_object
   (bfd *);
 extern bfd_boolean bfd_elf_mkcorefile
   (bfd *);
-extern Elf_Internal_Shdr *bfd_elf_find_section
-  (bfd *, char *);
 extern bfd_boolean _bfd_elf_make_section_from_shdr
   (bfd *, Elf_Internal_Shdr *, const char *, int);
 extern bfd_boolean _bfd_elf_make_section_from_phdr
@@ -2143,11 +2139,6 @@ extern bfd_boolean _bfd_elf_merge_object_attributes (bfd *, bfd *);
 /* Large common section.  */
 extern asection _bfd_elf_large_com_section;
 
-/* SH ELF specific routine.  */
-
-extern bfd_boolean _sh_elf_set_mach_from_flags
-  (bfd *);
-
 /* This is the condition under which finish_dynamic_symbol will be called.
    If our finish_dynamic_symbol isn't called, we'll need to do something
    about initializing any .plt and .got entries in relocate_section.  */
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 579a6b8..3567c24 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -549,16 +549,6 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
 	     < (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 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
 
 	  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)
-	    {
-	      REQUIRE_CLEARED_RELOCS (buf);
-	    }
-	  else
-	    {
-	      SKIP_RELOCS (buf);
-	    }
+	  /* For NULL RSEC (cleared FDE belonging to a discarded section)
+	     the relocations are commonly cleared.  We do not sanity check if
+	     all these relocations are cleared as (1) relocations to
+	     .gcc_except_table will remain uncleared (they will get dropped
+	     with the drop of this unused FDE) and (2) BFD already safely drops
+	     relocations of any type to .eh_frame by
+	     elf_section_ignore_discarded_relocs.
+	     TODO: The .gcc_except_table entries should be also filtered as
+	     .eh_frame entries; or GCC could rather use COMDAT for them.  */
+	  SKIP_RELOCS (buf);
 	}
 
       /* Try to interpret the CFA instructions and find the first
diff --git a/bfd/elf.c b/bfd/elf.c
index 0009ee8..44af469 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1,7 +1,8 @@
 /* ELF executable support for BFD.
 
    Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-   2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+   Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -258,7 +259,7 @@ bfd_elf_mkcorefile (bfd *abfd)
   return bfd_elf_make_generic_object (abfd);
 }
 
-char *
+static char *
 bfd_elf_get_str_section (bfd *abfd, unsigned int shindex)
 {
   Elf_Internal_Shdr **i_shdrp;
@@ -1019,45 +1020,6 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
   return TRUE;
 }
 
-/*
-INTERNAL_FUNCTION
-	bfd_elf_find_section
-
-SYNOPSIS
-	struct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name);
-
-DESCRIPTION
-	Helper functions for GDB to locate the string tables.
-	Since BFD hides string tables from callers, GDB needs to use an
-	internal hook to find them.  Sun's .stabstr, in particular,
-	isn't even pointed to by the .stab section, so ordinary
-	mechanisms wouldn't work to find it, even if we had some.
-*/
-
-struct elf_internal_shdr *
-bfd_elf_find_section (bfd *abfd, char *name)
-{
-  Elf_Internal_Shdr **i_shdrp;
-  char *shstrtab;
-  unsigned int max;
-  unsigned int i;
-
-  i_shdrp = elf_elfsections (abfd);
-  if (i_shdrp != NULL)
-    {
-      shstrtab = bfd_elf_get_str_section (abfd,
-					  elf_elfheader (abfd)->e_shstrndx);
-      if (shstrtab != NULL)
-	{
-	  max = elf_numsections (abfd);
-	  for (i = 1; i < max; i++)
-	    if (!strcmp (&shstrtab[i_shdrp[i]->sh_name], name))
-	      return i_shdrp[i];
-	}
-    }
-  return 0;
-}
-
 const char *const bfd_elf_section_type_names[] = {
   "SHT_NULL", "SHT_PROGBITS", "SHT_SYMTAB", "SHT_STRTAB",
   "SHT_RELA", "SHT_HASH", "SHT_DYNAMIC", "SHT_NOTE",
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 5fdd138..de063e6 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -4998,6 +4998,10 @@ bfd_elf32_arm_vfp11_erratum_scan (bfd *abfd, struct bfd_link_info *link_info)
   if (globals->vfp11_fix == BFD_ARM_VFP11_FIX_NONE)
     return TRUE;
 
+  /* Skip this BFD if it corresponds to an executable or dynamic object.  */
+  if ((abfd->flags & (EXEC_P | DYNAMIC)) != 0)
+    return TRUE;
+
   for (sec = abfd->sections; sec != NULL; sec = sec->next)
     {
       unsigned int i, span, first_fmac = 0, veneer_of_insn = 0;
@@ -5008,6 +5012,8 @@ bfd_elf32_arm_vfp11_erratum_scan (bfd *abfd, struct bfd_link_info *link_info)
       if (elf_section_type (sec) != SHT_PROGBITS
           || (elf_section_flags (sec) & SHF_EXECINSTR) == 0
           || (sec->flags & SEC_EXCLUDE) != 0
+	  || sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS
+	  || sec->output_section == bfd_abs_section_ptr
           || strcmp (sec->name, VFP11_ERRATUM_VENEER_SECTION_NAME) == 0)
         continue;
 
@@ -9643,7 +9649,7 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
 			flagword flags;
 
 			flags = bfd_get_section_flags (dynobj, sreloc);
-			flags &= ~(SEC_LOAD | SEC_ALLOC);
+			flags |= (SEC_LOAD | SEC_ALLOC);
 			bfd_set_section_flags (dynobj, sreloc, flags);
 		      }
 		  }
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index 16b0b45..bd6de29 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -1694,7 +1694,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 	  relocation -= elf_hash_table (info)->tls_sec == NULL
 	    ? 0 : (elf_hash_table (info)->tls_sec->vma
 		   + (info->shared
-		      ? 0 : elf_hash_table (info)->tls_sec->size));
+		      ? 0 : elf_hash_table (info)->tls_size));
 	  break;
 
 	case R_CRIS_32_GD:
@@ -1737,7 +1737,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 	      /* The symbol is defined in the program, so just write
 		 (1, -prog_tls_size+known_tpoffset) into the GOT.  */
 	      relocation -= elf_hash_table (info)->tls_sec->vma;
-	      relocation -= elf_hash_table (info)->tls_sec->size;
+	      relocation -= elf_hash_table (info)->tls_size;
 
 	      if (h != NULL)
 		{
@@ -1889,7 +1889,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 	      /* The symbol is defined in the program, so just write
 		 the -prog_tls_size+known_tpoffset into the GOT.  */
 	      relocation -= elf_hash_table (info)->tls_sec->vma;
-	      relocation -= elf_hash_table (info)->tls_sec->size;
+	      relocation -= elf_hash_table (info)->tls_size;
 
 	      if (h != NULL)
 		off = h->got.offset;
@@ -2019,7 +2019,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
 	  relocation -= elf_hash_table (info)->tls_sec == NULL
 	    ? 0
 	    : (elf_hash_table (info)->tls_sec->vma
-	       + elf_hash_table (info)->tls_sec->size);
+	       + elf_hash_table (info)->tls_size);
 
 	  /* The TLS-relative offset is the relocation.  */
 	  break;
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index cb7eb5e..542501b 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -1,6 +1,6 @@
 /* Motorola 68k series support for 32-bit ELF
    Copyright 1993, 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.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -114,6 +114,263 @@ static reloc_howto_type howto_table[] = {
 	 0,			/* src_mask */
 	 0,			/* dst_mask */
 	 FALSE),
+
+  /* TLS general dynamic variable reference.  */
+  HOWTO (R_68K_TLS_GD32,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield, /* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_68K_TLS_GD32",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_68K_TLS_GD16,	/* type */
+	 0,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_68K_TLS_GD16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_68K_TLS_GD8,		/* type */
+	 0,			/* rightshift */
+	 0,			/* size (0 = byte, 1 = short, 2 = long) */
+	 8,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_68K_TLS_GD8",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x000000ff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* TLS local dynamic variable reference.  */
+  HOWTO (R_68K_TLS_LDM32,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 32,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_bitfield, /* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_68K_TLS_LDM32",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0xffffffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_68K_TLS_LDM16,	/* type */
+	 0,			/* rightshift */
+	 1,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 bfd_elf_generic_reloc, /* special_function */
+	 "R_68K_TLS_LDM16",	/* name */
+	 FALSE,			/* partial_inplace */
+	 0,			/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  HOWTO (R_68K_TLS_LDM8,		/* type */
+	 0,			/* rightshift */
+	 0,			/* size (0 = byte, 1 = short, 2 = long) */


hooks/post-receive
--
Repository for Project Archer.


             reply	other threads:[~2009-02-05 21:37 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-05 21:37 sergio [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-01-29 14:14 sergio
2009-01-15 19:19 sergio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090205213727.21782.qmail@sourceware.org \
    --to=sergio@sourceware.org \
    --cc=archer-commits@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).