public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-tromey-charset: Merge commit 'origin/master' into archer-tromey-charset
@ 2009-02-28 20:29 jkratoch
  0 siblings, 0 replies; 2+ messages in thread
From: jkratoch @ 2009-02-28 20:29 UTC (permalink / raw)
  To: archer-commits

The branch, archer-tromey-charset has been updated
       via  3f26a4add1563e78ab9b50c9f77625f0690fc278 (commit)
       via  b05c50c829e11f33bd58d5fd2de17f761207d22b (commit)
       via  acfa7328d395311e477ec40c8e9f5d64982b6454 (commit)
       via  cee93b972b71faa6c0e9e72fcd03e90a67377875 (commit)
       via  6a6b10af0464c935770d19210a7b595ae439b927 (commit)
       via  11e5be97098e9187c48a77716a319ac3609ab1c0 (commit)
       via  655a09f40df0106966807702a3a12a1d273a1b69 (commit)
       via  a473b338ce3737481feb4d4473aa74caee758671 (commit)
       via  63eafe5276abca7312c6fed52cead4a9229f944e (commit)
       via  dd9c559d2949554eb4002a671d47a7f65f6acd3c (commit)
       via  285bd7c3eb50e65e2a9d8c6ca9cae859349fe90b (commit)
       via  8e336bc6b968e678de0b4baf968a5108e3cee9be (commit)
       via  9f08a3932eefd332b72483ccec1cad049c0c7c4a (commit)
       via  531484da0ccaffb64616f5f892a2c1eec3c2bd30 (commit)
       via  836fe91a251f7419730b7eaf88780eafd2ae738d (commit)
       via  e46198590298ad68582afb2706fdedce886ef3f6 (commit)
       via  a89c5e97893fc81c89c26261b3e8a34fd111f356 (commit)
       via  7e7604fcf501d9f7d00488c3fceb7c814ec9496e (commit)
       via  15926f8a4c3311b90d68392ace929b2808612334 (commit)
       via  68f4aeee38798fbffd52a8f42158594bc849c4a2 (commit)
       via  5f8910120be450edecfbcafa65481c8f29fc0f4c (commit)
       via  32f597d669aec6e7bb5b425b4cb0d29a1023d295 (commit)
       via  2ffc14e5f1d3d75cbfb665474241ebd0975df2e0 (commit)
       via  8dddf6c0682cd4f501b9414af2ee41311559bb62 (commit)
       via  5e61b2ecffe82f6eccc0431ef6e54d38814430d2 (commit)
       via  d7f41c5c6767e858b0587a42b689f7f4c070172b (commit)
       via  8e207759a453dc45961f218d335518464f91f27d (commit)
       via  5b8e2944be405117e44f9d5b1b87bf3b7a796651 (commit)
       via  f585f4c883101a6b1a0d7f324ddd71b3bfa77be7 (commit)
       via  41882f54dd221b655fa2dfb2ff0ac511a41717e7 (commit)
       via  d1325b19cb505b2aa0e446c89702b1b940a6c2ca (commit)
       via  5c84b9312b5dc42b945bd3df3f41a34ad4a84ef1 (commit)
       via  2664777b6b4a69a4a3fc72143a4fbaaf59183d1e (commit)
       via  37f998e0df428dcf831eeedf5459ee663e5cd05a (commit)
       via  bb1d4f60bb5376c3ce6a686035bc6f91bbcd1625 (commit)
       via  9efefe92da03895d9ee3ce840293416bcfc2b06b (commit)
      from  fa841eda831c4da1d1feed323afd9d45d4392c51 (commit)

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

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog             |   74 +
 bfd/elf.c                 |   13 +-
 bfd/elf32-arm.c           |  551 ++-
 bfd/elf32-xtensa.c        |   18 +-
 bfd/version.h             |    2 +-
 gdb/ChangeLog             |  129 +-
 gdb/MAINTAINERS           |    4 +-
 gdb/breakpoint.c          |    5 +-
 gdb/cli/cli-script.c      |    2 +-
 gdb/gdb_proc_service.h    |    4 +-
 gdb/gnu-nat.c             |    4 +-
 gdb/infcmd.c              |   10 +-
 gdb/inflow.c              |    2 +-
 gdb/infrun.c              |    4 +-
 gdb/linux-thread-db.c     |   20 +-
 gdb/maint.c               |    2 +-
 gdb/memattr.c             |    2 +-
 gdb/mips-linux-nat.c      |    4 +-
 gdb/monitor.c             |    4 +-
 gdb/nto-procfs.c          |    4 +-
 gdb/printcmd.c            |    4 +-
 gdb/proc-service.c        |   12 +-
 gdb/python/python-utils.c |   16 +-
 gdb/remote-mips.c         |    4 +-
 gdb/remote-sim.c          |    5 +-
 gdb/remote.c              |    4 +-
 gdb/solib-irix.c          |    2 +-
 gdb/solib-osf.c           |    2 +-
 gdb/solib-pa64.c          |    2 +-
 gdb/solib-som.c           |    2 +-
 gdb/solib-svr4.c          |    2 +-
 gdb/symfile.c             |    2 +-
 gdb/target.c              |    2 +-
 gdb/top.c                 |    6 +-
 gdb/tracepoint.c          |    2 +-
 gdb/valprint.c            |   15 +-
 gdb/version.in            |    2 +-
 gdb/windows-nat.c         |    4 +-
 include/elf/ChangeLog     |    8 +
 include/elf/common.h      |    8 +-
 include/opcode/ChangeLog  |    4 +
 include/opcode/ppc.h      |    3 +
 opcodes/ChangeLog         |   76 +
 opcodes/arm-dis.c         |    8 +-
 opcodes/i386-dis.c        |   11 +-
 opcodes/i386-gen.c        |    3 -
 opcodes/i386-init.h       |   97 +-
 opcodes/i386-opc.h        |    6 +-
 opcodes/i386-opc.tbl      |    3 -
 opcodes/i386-tbl.h        |11240 ++++++++++++++++++++++----------------------
 opcodes/ppc-dis.c         |    5 +-
 opcodes/ppc-opc.c         |  369 ++-
 52 files changed, 6743 insertions(+), 6044 deletions(-)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 1c4717f..bdd2f80 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,75 @@
+2009-02-26  Christophe Lyon  <christophe.lyon@st.com>
+
+	* elf32-arm.c (stub_reloc_type): Removed.
+	(insn_sequence): Renamed reloc_type field to r_type.
+	(elf32_arm_stub_long_branch_v4t_arm_thumb_pic): New stub.
+	(elf32_arm_stub_long_branch_v4t_thumb_arm_pic): Likewise.
+	(elf32_arm_stub_long_branch_thumb_only_pic): Likewise.
+	(elf32_arm_stub_type): Add new enum entries for the new stubs.
+	(arm_stub_is_thumb): Catch new stubs.
+	(arm_type_of_stub): Handle new stubs.
+	(arm_size_one_stub): Use ARRAY_SIZE. Handle new stubs.
+	(bfd_elf32_arm_process_before_allocation): Remove useless
+	condition.
+
+2009-02-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf.c (elf_find_function): Use is_function_type to check
+	function symbol.
+
+2009-02-24  Sterling Augustine  <sterling@jaw.hq.tensilica.com>
+
+	* xtensa-modules.c: Revert to previous version 1.11 due
+	to inadvertant commit.
+
+2009-02-24  Sterling Augustine  <sterling@tensilica.com>
+
+	* elf32-xtensa.c (text_action_add): Separate test for action
+	type.  Break if saved action is ta_widen_insn at same offset.
+
+2009-02-24  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* elf32-arm.c (elf32_arm_stub_long_branch_any_any_pic): Rename
+	to elf32_arm_stub_long_branch_any_arm_pic.
+	(elf32_arm_stub_long_branch_any_thumb_pic): New.
+	(enum elf32_arm_stub_type, arm_type_of_stub)
+	(arm_size_one_stub): Handle any to ARM PIC and any to Thumb PIC
+	separately.
+
+2009-02-24  Joseph Myers  <joseph@codesourcery.com>
+
+	* elf32-arm.c (PREV_SEC): Update comment.
+	(group_sections): Rename argument to stubs_always_after_branch.
+	Reverse the list and place stubs at the end of input sections.
+	Undefine NEXT_SEC.
+	(elf32_arm_size_stubs): Update to use stubs_always_after_branch.
+
+2009-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* elf32-arm.c (arm_build_one_stub): Initialize stub_reloc_offset.
+	Fix formatting.
+	(arm_size_one_stub): Remove unnecessary break.
+	(arm_map_one_stub): Fix formatting.  Return after BFD_FAIL.
+
+2009-02-23  Christophe Lyon  <christophe.lyon@st.com>
+
+	* elf32-arm.c (stub_insn_type): New type.
+	(stub_reloc_type): Likewise.
+	(insn_sequence): Likewise.
+	(elf32_arm_stub_long_branch_any_any): Encode using insn_sequence.
+	(elf32_arm_stub_long_branch_v4t_arm_thumb): Likewise.
+	(elf32_arm_stub_long_branch_thumb_only): Likewise.
+	(elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
+	(elf32_arm_stub_short_branch_v4t_thumb_arm): Likewise.
+	(elf32_arm_stub_long_branch_any_any_pic): Likewise.
+	(elf32_arm_stub_hash_entry): Add new helper fields.
+	(stub_hash_newfunc): Initialize these new fields.
+	(arm_build_one_stub): Encode Arm and Thumb instructions separately
+	to take endianness into account.
+	(arm_size_one_stub): Compute size of stubs using insn_sequence.
+	(arm_map_one_stub): Code is now more generic, thanks to
+	insn_sequence.
+
 2009-02-23  Christophe Lyon  <christophe.lyon@st.com>
 
 	* elf32-arm.c (elf32_arm_stub_long_branch_thumb_only): Fix stub
@@ -11,6 +83,8 @@
 	(arm_map_one_stub): Likewise.
 
 2009-02-23  Tristan Gingold  <gingold@adacore.com>
+	    Eric Botcazou  <ebotcazou@adacore.com>
+	    Douglas B Rupp  <rupp@gnat.com>
 
 	* vms.h: Update copyright year, fix comments, reorder declarations.
 	(_bfd_save_vms_section): Remove the prototype.
diff --git a/bfd/elf.c b/bfd/elf.c
index 44af469..97ac5cb 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -7041,7 +7041,7 @@ _bfd_elf_set_arch_mach (bfd *abfd,
    for error reporting.  */
 
 static bfd_boolean
-elf_find_function (bfd *abfd ATTRIBUTE_UNUSED,
+elf_find_function (bfd *abfd,
 		   asection *section,
 		   asymbol **symbols,
 		   bfd_vma offset,
@@ -7061,6 +7061,7 @@ elf_find_function (bfd *abfd ATTRIBUTE_UNUSED,
      make a better choice of file name for local symbols by ignoring
      file symbols appearing after a given local symbol.  */
   enum { nothing_seen, symbol_seen, file_after_symbol_seen } state;
+  const struct elf_backend_data *bed = get_elf_backend_data (abfd);
 
   filename = NULL;
   func = NULL;
@@ -7071,20 +7072,22 @@ elf_find_function (bfd *abfd ATTRIBUTE_UNUSED,
   for (p = symbols; *p != NULL; p++)
     {
       elf_symbol_type *q;
+      unsigned int type;
 
       q = (elf_symbol_type *) *p;
 
-      switch (ELF_ST_TYPE (q->internal_elf_sym.st_info))
+      type = ELF_ST_TYPE (q->internal_elf_sym.st_info);
+      switch (type)
 	{
-	default:
-	  break;
 	case STT_FILE:
 	  file = &q->symbol;
 	  if (state == symbol_seen)
 	    state = file_after_symbol_seen;
 	  continue;
+	default:
+	  if (!bed->is_function_type (type))
+	    break;
 	case STT_NOTYPE:
-	case STT_FUNC:
 	  if (bfd_get_section (&q->symbol) == section
 	      && q->symbol.value >= low_func
 	      && q->symbol.value <= offset)
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 6cf3322..2527e5e 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -2010,63 +2010,130 @@ static const bfd_vma elf32_arm_symbian_plt_entry [] =
 #define THM2_MAX_FWD_BRANCH_OFFSET (((1 << 24) - 2) + 4)
 #define THM2_MAX_BWD_BRANCH_OFFSET (-(1 << 24) + 4)
 
+enum stub_insn_type
+  {
+    THUMB16_TYPE = 1,
+    THUMB32_TYPE,
+    ARM_TYPE,
+    DATA_TYPE
+  };
+
+#define THUMB16_INSN(X)    {(X), THUMB16_TYPE, R_ARM_NONE, 0}
+#define THUMB32_INSN(X)    {(X), THUMB32_TYPE, R_ARM_NONE, 0}
+#define ARM_INSN(X)        {(X), ARM_TYPE, R_ARM_NONE, 0}
+#define ARM_REL_INSN(X, Z) {(X), ARM_TYPE, R_ARM_JUMP24, (Z)}
+#define DATA_WORD(X,Y,Z)   {(X), DATA_TYPE, (Y), (Z)}
+
+typedef struct
+{
+  bfd_vma data;
+  enum stub_insn_type type;
+  unsigned int r_type;
+  int reloc_addend;
+}  insn_sequence;
+
 /* Arm/Thumb -> Arm/Thumb long branch stub. On V5T and above, use blx
    to reach the stub if necessary.  */
-static const bfd_vma elf32_arm_stub_long_branch_any_any[] =
+static const insn_sequence elf32_arm_stub_long_branch_any_any[] =
   {
-    0xe51ff004,         /* ldr   pc, [pc, #-4] */
-    0x00000000,         /* dcd   R_ARM_ABS32(X) */
+    ARM_INSN(0xe51ff004),            /* ldr   pc, [pc, #-4] */
+    DATA_WORD(0, R_ARM_ABS32, 0),    /* dcd   R_ARM_ABS32(X) */
   };
 
 /* V4T Arm -> Thumb long branch stub. Used on V4T where blx is not
    available.  */
-static const bfd_vma elf32_arm_stub_long_branch_v4t_arm_thumb[] =
+static const insn_sequence elf32_arm_stub_long_branch_v4t_arm_thumb[] =
   {
-    0xe59fc000,         /* ldr   ip, [pc, #0] */
-    0xe12fff1c,         /* bx    ip */
-    0x00000000,         /* dcd   R_ARM_ABS32(X) */
+    ARM_INSN(0xe59fc000),            /* ldr   ip, [pc, #0] */
+    ARM_INSN(0xe12fff1c),            /* bx    ip */
+    DATA_WORD(0, R_ARM_ABS32, 0),    /* dcd   R_ARM_ABS32(X) */
   };
 
 /* Thumb -> Thumb long branch stub. Used on architectures which
    support only this mode, or on V4T where it is expensive to switch
    to ARM.  */
-static const bfd_vma elf32_arm_stub_long_branch_thumb_only[] =
+static const insn_sequence elf32_arm_stub_long_branch_thumb_only[] =
   {
-    0x4802b401,         /* push {r0} */
-                        /* ldr  r0, [pc, #8] */
-    0xbc014684,         /* mov  ip, r0 */
-                        /* pop  {r0} */
-    0xbf004760,         /* bx   ip */
-                        /* nop */
-    0x00000000,         /* dcd  R_ARM_ABS32(X) */
+    THUMB16_INSN(0xb401),             /* push {r0} */
+    THUMB16_INSN(0x4802),             /* ldr  r0, [pc, #8] */
+    THUMB16_INSN(0x4684),             /* mov  ip, r0 */
+    THUMB16_INSN(0xbc01),             /* pop  {r0} */
+    THUMB16_INSN(0x4760),             /* bx   ip */
+    THUMB16_INSN(0xbf00),             /* nop */
+    DATA_WORD(0, R_ARM_ABS32, 0),     /* dcd  R_ARM_ABS32(X) */
   };
 
 /* V4T Thumb -> ARM long branch stub. Used on V4T where blx is not
    available.  */
-static const bfd_vma elf32_arm_stub_long_branch_v4t_thumb_arm[] =
+static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_arm[] =
   {
-    0x46c04778,         /* bx   pc */
-                        /* nop   */
-    0xe51ff004,         /* ldr   pc, [pc, #-4] */
-    0x00000000,         /* dcd   R_ARM_ABS32(X) */
+    THUMB16_INSN(0x4778),             /* bx   pc */
+    THUMB16_INSN(0x46c0),             /* nop   */
+    ARM_INSN(0xe51ff004),             /* ldr   pc, [pc, #-4] */
+    DATA_WORD(0, R_ARM_ABS32, 0),     /* dcd   R_ARM_ABS32(X) */
   };
 
 /* V4T Thumb -> ARM short branch stub. Shorter variant of the above
    one, when the destination is close enough.  */
-static const bfd_vma elf32_arm_stub_short_branch_v4t_thumb_arm[] =
+static const insn_sequence elf32_arm_stub_short_branch_v4t_thumb_arm[] =
   {
-    0x46c04778,         /* bx   pc */
-                        /* nop   */
-    0xea000000,         /* b    (X) */
+    THUMB16_INSN(0x4778),             /* bx   pc */
+    THUMB16_INSN(0x46c0),             /* nop   */
+    ARM_REL_INSN(0xea000000, -8),     /* b    (X-8) */
   };
 
-/* ARM/Thumb -> ARM/Thumb long branch stub, PIC. On V5T and above, use
+/* ARM/Thumb -> ARM long branch stub, PIC.  On V5T and above, use
    blx to reach the stub if necessary.  */
-static const bfd_vma elf32_arm_stub_long_branch_any_any_pic[] =
+static const insn_sequence elf32_arm_stub_long_branch_any_arm_pic[] =
+  {
+    ARM_INSN(0xe59fc000),             /* ldr   r12, [pc] */
+    ARM_INSN(0xe08ff00c),             /* add   pc, pc, ip */
+    DATA_WORD(0, R_ARM_REL32, -4),    /* dcd   R_ARM_REL32(X-4) */
+  };
+
+/* ARM/Thumb -> Thumb long branch stub, PIC.  On V5T and above, use
+   blx to reach the stub if necessary.  We can not add into pc;
+   it is not guaranteed to mode switch (different in ARMv6 and
+   ARMv7).  */
+static const insn_sequence elf32_arm_stub_long_branch_any_thumb_pic[] =
+  {
+    ARM_INSN(0xe59fc004),             /* ldr   r12, [pc, #4] */
+    ARM_INSN(0xe08fc00c),             /* add   ip, pc, ip */
+    ARM_INSN(0xe12fff1c),             /* bx    ip */
+    DATA_WORD(0, R_ARM_REL32, 0),     /* dcd   R_ARM_REL32(X) */
+  };
+
+/* V4T ARM -> ARM long branch stub, PIC.  */
+static const insn_sequence elf32_arm_stub_long_branch_v4t_arm_thumb_pic[] =
+  {
+    ARM_INSN(0xe59fc004),             /* ldr   ip, [pc, #4] */
+    ARM_INSN(0xe08fc00c),             /* add   ip, pc, ip */
+    ARM_INSN(0xe12fff1c),             /* bx    ip */
+    DATA_WORD(0, R_ARM_REL32, 0),     /* dcd   R_ARM_REL32(X) */
+  };
+
+/* V4T Thumb -> ARM long branch stub, PIC.  */
+static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_arm_pic[] =
+  {
+    THUMB16_INSN(0x4778),             /* bx   pc */
+    THUMB16_INSN(0x46c0),             /* nop  */
+    ARM_INSN(0xe59fc000),             /* ldr  ip, [pc, #0] */
+    ARM_INSN(0xe08cf00f),             /* add  pc, ip, pc */
+    DATA_WORD(0, R_ARM_REL32, -4),     /* dcd  R_ARM_REL32(X) */
+  };
+
+/* Thumb -> Thumb long branch stub, PIC. Used on architectures which
+   support only this mode, or on V4T where it is expensive to switch
+   to ARM.  */
+static const insn_sequence elf32_arm_stub_long_branch_thumb_only_pic[] =
   {
-    0xe59fc000,         /* ldr   r12, [pc] */
-    0xe08ff00c,         /* add   pc, pc, ip */
-    0x00000000,         /* dcd   R_ARM_REL32(X-4) */
+    THUMB16_INSN(0xb401),             /* push {r0} */
+    THUMB16_INSN(0x4802),             /* ldr  r0, [pc, #8] */
+    THUMB16_INSN(0x46fc),             /* mov  ip, pc */
+    THUMB16_INSN(0x4484),             /* add  ip, r0 */
+    THUMB16_INSN(0xbc01),             /* pop  {r0} */
+    THUMB16_INSN(0x4760),             /* bx   ip */
+    DATA_WORD(0, R_ARM_REL32, 4),     /* dcd  R_ARM_REL32(X) */
   };
 
 /* Section name for stubs is the associated section name plus this
@@ -2081,7 +2148,11 @@ enum elf32_arm_stub_type
   arm_stub_long_branch_thumb_only,
   arm_stub_long_branch_v4t_thumb_arm,
   arm_stub_short_branch_v4t_thumb_arm,
-  arm_stub_long_branch_any_any_pic,
+  arm_stub_long_branch_any_arm_pic,
+  arm_stub_long_branch_any_thumb_pic,
+  arm_stub_long_branch_v4t_arm_thumb_pic,
+  arm_stub_long_branch_v4t_thumb_arm_pic,
+  arm_stub_long_branch_thumb_only_pic,
 };
 
 struct elf32_arm_stub_hash_entry
@@ -2100,7 +2171,14 @@ struct elf32_arm_stub_hash_entry
   bfd_vma target_value;
   asection *target_section;
 
+  /* The stub type.  */
   enum elf32_arm_stub_type stub_type;
+  /* Its encoding size in bytes.  */
+  int stub_size;
+  /* Its template.  */
+  const insn_sequence *stub_template;
+  /* The size of the template (number of entries).  */
+  int stub_template_size;
 
   /* The symbol table entry, if any, that this was derived from.  */
   struct elf32_arm_link_hash_entry *h;
@@ -2469,6 +2547,9 @@ stub_hash_newfunc (struct bfd_hash_entry *entry,
       eh->target_value = 0;
       eh->target_section = NULL;
       eh->stub_type = arm_stub_none;
+      eh->stub_size = 0;
+      eh->stub_template = NULL;
+      eh->stub_template_size = 0;
       eh->h = NULL;
       eh->id_sec = NULL;
     }
@@ -2744,6 +2825,8 @@ arm_stub_is_thumb (enum elf32_arm_stub_type stub_type)
     case arm_stub_long_branch_thumb_only:
     case arm_stub_long_branch_v4t_thumb_arm:
     case arm_stub_short_branch_v4t_thumb_arm:
+    case arm_stub_long_branch_v4t_thumb_arm_pic:
+    case arm_stub_long_branch_thumb_only_pic:
       return TRUE;
     case arm_stub_none:
       BFD_FAIL ();
@@ -2819,9 +2902,9 @@ arm_type_of_stub (struct bfd_link_info *info,
 		    /* PIC stubs.  */
 		    ? ((globals->use_blx)
 		       /* V5T and above.  */
-		       ? arm_stub_long_branch_any_any_pic
-		       /* not yet supported on V4T.  */
-		       : arm_stub_none)
+		       ? arm_stub_long_branch_any_thumb_pic
+		       /* On V4T, use Thumb code only.  */
+		       : arm_stub_long_branch_thumb_only_pic)
 
 		    /* non-PIC stubs.  */
 		    : ((globals->use_blx)
@@ -2833,8 +2916,8 @@ arm_type_of_stub (struct bfd_link_info *info,
 	      else
 		{
 		  stub_type = (info->shared | globals->pic_veneer)
-		    /* PIC stub not yet supported on V4T.  */
-		    ? arm_stub_none
+		    /* PIC stub.  */
+		    ? arm_stub_long_branch_thumb_only_pic
 		    /* non-PIC stub.  */
 		    : arm_stub_long_branch_thumb_only;
 		}
@@ -2856,9 +2939,9 @@ arm_type_of_stub (struct bfd_link_info *info,
 		/* PIC stubs.  */
 		? ((globals->use_blx)
 		   /* V5T and above.  */
-		   ? arm_stub_long_branch_any_any_pic
-		   /* not yet supported on V4T.  */
-		   : arm_stub_none)
+		   ? arm_stub_long_branch_any_arm_pic
+		   /* V4T PIC stub.  */
+		   : arm_stub_long_branch_v4t_thumb_arm_pic)
 
 		/* non-PIC stubs.  */
 		: ((globals->use_blx)
@@ -2899,7 +2982,12 @@ arm_type_of_stub (struct bfd_link_info *info,
 	    {
 	      stub_type = (info->shared | globals->pic_veneer)
 		/* PIC stubs.  */
-		? arm_stub_long_branch_any_any_pic
+		? ((globals->use_blx)
+		   /* V5T and above.  */
+		   ? arm_stub_long_branch_any_thumb_pic
+		   /* V4T stub.  */
+		   : arm_stub_long_branch_v4t_arm_thumb_pic)
+
 		/* non-PIC stubs.  */
 		: ((globals->use_blx)
 		   /* V5T and above.  */
@@ -2916,7 +3004,7 @@ arm_type_of_stub (struct bfd_link_info *info,
 	    {
 	      stub_type = (info->shared | globals->pic_veneer)
 		/* PIC stubs.  */
-		? arm_stub_long_branch_any_any_pic
+		? arm_stub_long_branch_any_arm_pic
 		/* non-PIC stubs.  */
 		: arm_stub_long_branch_any_any;
 	    }
@@ -3108,9 +3196,11 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry,
   bfd_vma sym_value;
   int template_size;
   int size;
-  const bfd_vma *template;
+  const insn_sequence *template;
   int i;
   struct elf32_arm_link_hash_table * globals;
+  int stub_reloc_idx = -1;
+  int stub_reloc_offset = 0;
 
   /* Massage our args to the form they really have.  */
   stub_entry = (struct elf32_arm_stub_hash_entry *) gen_entry;
@@ -3136,101 +3226,61 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry,
 	       + stub_entry->target_section->output_offset
 	       + stub_entry->target_section->output_section->vma);
 
-  switch (stub_entry->stub_type)
-    {
-    case arm_stub_long_branch_any_any:
-      template = elf32_arm_stub_long_branch_any_any;
-      template_size = (sizeof (elf32_arm_stub_long_branch_any_any) / sizeof (bfd_vma)) * 4;
-      break;
-    case arm_stub_long_branch_v4t_arm_thumb:
-      template =  elf32_arm_stub_long_branch_v4t_arm_thumb;
-      template_size = (sizeof (elf32_arm_stub_long_branch_v4t_arm_thumb) / sizeof (bfd_vma)) * 4;
-      break;
-    case arm_stub_long_branch_thumb_only:
-      template =  elf32_arm_stub_long_branch_thumb_only;
-      template_size = (sizeof (elf32_arm_stub_long_branch_thumb_only) / sizeof (bfd_vma)) * 4;
-      break;
-    case arm_stub_long_branch_v4t_thumb_arm:
-      template =  elf32_arm_stub_long_branch_v4t_thumb_arm;
-      template_size = (sizeof (elf32_arm_stub_long_branch_v4t_thumb_arm) / sizeof (bfd_vma)) * 4;
-      break;
-    case arm_stub_short_branch_v4t_thumb_arm:
-      template =  elf32_arm_stub_short_branch_v4t_thumb_arm;
-      template_size = (sizeof(elf32_arm_stub_short_branch_v4t_thumb_arm) / sizeof (bfd_vma)) * 4;
-      break;
-    case arm_stub_long_branch_any_any_pic:
-      template = elf32_arm_stub_long_branch_any_any_pic;
-      template_size = (sizeof (elf32_arm_stub_long_branch_any_any_pic) / sizeof (bfd_vma)) * 4;
-      break;
-    default:
-      BFD_FAIL ();
-      return FALSE;
-    }
+  template = stub_entry->stub_template;
+  template_size = stub_entry->stub_template_size;
 
   size = 0;
-  for (i = 0; i < (template_size / 4); i++)
+  for (i = 0; i < template_size; i++)
     {
-      /* A 0 pattern is a placeholder, every other pattern is an
-	 instruction.  */
-      if (template[i] != 0)
-	put_arm_insn (globals, stub_bfd, template[i], loc + size);
-      else
-	bfd_put_32 (stub_bfd, template[i], loc + size);
+      switch (template[i].type)
+	{
+	case THUMB16_TYPE:
+	  put_thumb_insn (globals, stub_bfd, template[i].data, loc + size);
+	  size += 2;
+	  break;
+
+	case ARM_TYPE:
+	  put_arm_insn (globals, stub_bfd, template[i].data, loc + size);
+	  /* Handle cases where the target is encoded within the
+	     instruction.  */
+	  if (template[i].r_type == R_ARM_JUMP24)
+	    {
+	      stub_reloc_idx = i;
+	      stub_reloc_offset = size;
+	    }
+	  size += 4;
+	  break;
 
-      size += 4;
+	case DATA_TYPE:
+	  bfd_put_32 (stub_bfd, template[i].data, loc + size);
+	  stub_reloc_idx = i;
+	  stub_reloc_offset = size;
+	  size += 4;
+	  break;
+
+	default:
+	  BFD_FAIL ();
+	  return FALSE;
+	}
     }


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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [SCM]  archer-tromey-charset: Merge commit 'origin/master' into archer-tromey-charset
@ 2009-03-12 20:10 jkratoch
  0 siblings, 0 replies; 2+ messages in thread
From: jkratoch @ 2009-03-12 20:10 UTC (permalink / raw)
  To: archer-commits

The branch, archer-tromey-charset has been updated
       via  3e1457d4769319af4e158d411ed2301a35a64a94 (commit)
       via  852c0e0d0263f85b62090507be8daa135a87a53a (commit)
       via  fca72fa5ad030093f21211e1b4394ef40ab1d0cc (commit)
       via  bd553788ac40acb65c8a0849f38266955f905814 (commit)
       via  a0ef3038786538a8d390c907e8d11953bae47bc3 (commit)
       via  ddba7e72ef21e86088399b5b9364848f9d474921 (commit)
       via  24b599131ae218b0aca33621a06043e05bfea682 (commit)
       via  398035ce19b44ec266da36255133cf3d8ffd2295 (commit)
       via  b3328989e625642287d2d9a0dbafd7f357172c9b (commit)
       via  3d1209ec9ee4547aeb4bc46af829f2c7bbcd5d2e (commit)
       via  79e74d313b4bc7c56b58b1ccfd48cf07e754dc32 (commit)
       via  9339cc18dd5700a48ae62e73dddcab789ac6f2b6 (commit)
       via  92dfc8c682f091812f76ab979cde6e13d9f5f91d (commit)
       via  734bf3302f8a087bb95c33facf93cbab88296e62 (commit)
       via  a88555d5710428614dbdade1bcddea2c7b81f071 (commit)
       via  0503f5df2489d32c57558a3fd733ab7a180b688d (commit)
       via  a3040cde74b99c348ce534d90b8f5330e88ec0ec (commit)
       via  4fe17d038a0891bdf400b17f5c01babb11e18c43 (commit)
       via  3d60ec7d687cd613e00aea316190936b9e47624d (commit)
       via  be87af029b506c0082a3e47f282e77052a368f8d (commit)
       via  bb895e00aedc40d6b47f1c76162c43cca0bf9655 (commit)
       via  c2972ffea8572552b612c7c2da82d3836b4a2c8a (commit)
       via  62c45004981d213b9fe085264e57f01d55fea73b (commit)
       via  0ed0ce6569cdb43df57173f703f5987da367625e (commit)
       via  be2e1c8d04cc278c352b05afcd2f92caad740b87 (commit)
       via  8444b262861157b6478ea024f77df2ed1ff02789 (commit)
       via  7a82cea5ae873f8b53eaf13f730a417a289a6aa9 (commit)
       via  01939d0bc5b5e377d2d2e1041336174f88d75657 (commit)
       via  ba3b27c6841ed40d7a38517348b34180797c2334 (commit)
       via  a602008d1bc4bd7ae94f48f258b42fe8b9fc6e35 (commit)
       via  7736f57ac722d86d8735aa89f71e86924ffb38cc (commit)
       via  f56e4cce499eef6d0f54e5febf00aa66f8a82f29 (commit)
       via  7028ef3bbdbc5e4a111d0b7cc780ee0c35a7292e (commit)
       via  129997da4c6c2aea81696300903da1ad47b7f48e (commit)
       via  f2f3abead03c81796832772dc2be966191b2f80c (commit)
       via  a93539b2e002585b2a1a2d32f0e2df2445fe6579 (commit)
       via  57eb800b475de56bba3f720dc7c64179f5899cec (commit)
       via  f1c4daa594919152e47c111c830393e10530443a (commit)
       via  3e5fb2e1453d9b8d09983a5a3d1d3ff203e8352a (commit)
       via  6e9407b3a655b3339a97bfeb9f79e6bf8e9a90ae (commit)
       via  a31bdfa66308b389d2a94de814afafbb4f0d9ff5 (commit)
       via  000b2df5b139714e6ec5d9fc79f1c59477b75126 (commit)
       via  8f21114a8f63389d6d516164a5a5fbd4de31e21b (commit)
       via  631a01f69c65c713332b5c5c152b583fd41cefd7 (commit)
       via  b2ec49e547711d2e267442bd571eb7253394d10f (commit)
       via  ef0744bb1590a8aad7f0b52c25f947de1e9b3e36 (commit)
       via  92f4807a51643d91c9f466fa62c1dc30c7a554ac (commit)
       via  6df02fc5bff4e11da68894137831fb27e8263d5c (commit)
       via  6ae22736c8ecbc8312af3631bd8be2ff156c3f64 (commit)
       via  4a7fe2eed71d84af81771722168df100149ebcc4 (commit)
       via  6722bb0b7991e0f20fd75883a2db654eea8438d3 (commit)
       via  a2e6917f7307db762725a77922ad8b0cf370e7ac (commit)
       via  c53b171a2083fdc3d959398d654aa2f4069b1c20 (commit)
       via  478ff543e243a47bb8934f738814ef69d9936ea5 (commit)
       via  fb597d271837a83d02703ca6fad12f9590845b3e (commit)
       via  9de9f540f0e38df29cca71eb7426e5791d1004dd (commit)
       via  a35213375f8b628f9e42fd5bc6cf67000c893248 (commit)
       via  62e5f942420bc61f1566a6becc79892ea08b27cd (commit)
       via  bb7fbd4a9265f0fceea0d0f0ca21933ccbee004e (commit)
       via  dad3bf19f9381ec7b0e8ba188626dddc81e8334e (commit)
       via  67ce5c51fad3b8bdc866d181e58293e87dc265a3 (commit)
       via  9c0fd74003677eef751f51629c403a03f2241c06 (commit)
       via  348985d7c203ef469d9ffdb1d921475f48a7e823 (commit)
       via  632bf4271d3217495085f83b1de7845ac2da0032 (commit)
       via  eec15c138feaba1072ea64acfb27eef7357dc3a7 (commit)
       via  db8f8a559425859ed43df0ea70b4f6b2a4dcd506 (commit)
       via  5f25e94a1252325146a1fc7d3b2449450292d38d (commit)
       via  f3859ae1c33373a36e211e7c1500054908f6a189 (commit)
       via  70baabfbb4e13618de72299df79682022cdf9bd8 (commit)
       via  22e9b41768f640a6dece93c706e0bf6f43779cc7 (commit)
       via  3db9d948d9ea2a69608f2cb5260364979c4c326b (commit)
       via  b0f394cdd4280b1f8ad7dd4a034318badf3cb04c (commit)
       via  de8053313621eb1ba7db9f44d691b366d50143f9 (commit)
      from  3f26a4add1563e78ab9b50c9f77625f0690fc278 (commit)

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

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                   |   11 +
 bfd/ChangeLog                               |  184 +++
 bfd/Makefile.am                             |   31 +-
 bfd/Makefile.in                             |   31 +-
 bfd/archive.c                               |   44 +-
 bfd/archures.c                              |    4 +-
 bfd/bfd-in2.h                               |   35 +-
 bfd/bfd.c                                   |    5 +
 bfd/configure                               |  259 +++-
 bfd/configure.in                            |   26 +-
 bfd/cpu-score.c                             |   68 +-
 bfd/dwarf2.c                                |   76 +-
 bfd/ecoff.c                                 |   11 +-
 bfd/elf-hppa.h                              | 1160 +--------------
 bfd/elf32-arm.c                             |   85 +-
 bfd/elf32-hppa.c                            |   70 +-
 bfd/elf32-i386.c                            |    7 +-
 bfd/elf32-ppc.c                             |  192 ++-
 bfd/elf32-score.c                           | 2250 +++++++++++++++++----------
 bfd/elf32-score.h                           |  152 ++
 bfd/{elf32-score.c => elf32-score7.c}       | 1842 ++++++++++++-----------
 bfd/elf32-spu.c                             |   13 +
 bfd/elf64-hppa.c                            | 2206 +++++++++++++++++++++------
 bfd/elf64-ppc.c                             |  280 +++-
 bfd/elf64-x86-64.c                          |    5 +-
 bfd/libbfd.h                                |    6 +-
 bfd/peXXigen.c                              |   16 +-
 bfd/po/es.po                                | 1943 +++++++++++++-----------
 bfd/reloc.c                                 |   21 +-
 bfd/section.c                               |   13 +-
 bfd/som.c                                   |    6 +-
 bfd/version.h                               |    2 +-
 gdb/ChangeLog                               |  181 +++
 gdb/Makefile.in                             |   12 +-
 gdb/ada-lang.c                              |   48 -
 gdb/ada-lang.h                              |    4 -
 gdb/ada-tasks.c                             |   37 -
 gdb/aix-thread.c                            |   26 +-
 gdb/breakpoint.c                            |   24 +-
 gdb/cli/cli-cmds.c                          |    2 +-
 gdb/common/gdb_signals.h                    |   56 +
 gdb/{signals => common}/signals.c           |    9 +-
 gdb/dec-thread.c                            |   75 +-
 gdb/disasm.c                                |    1 -
 gdb/disasm.h                                |    1 -
 gdb/doc/ChangeLog                           |    7 +
 gdb/doc/gdb.texinfo                         |   45 +-
 gdb/dwarf2read.c                            |  164 ++-
 gdb/gdbserver/ChangeLog                     |    8 +
 gdb/gdbserver/Makefile.in                   |    7 +-
 gdb/gdbserver/server.h                      |    8 +-
 gdb/infcmd.c                                |   81 +-
 gdb/inferior.h                              |    2 +
 gdb/infrun.c                                |   58 +-
 gdb/mi/mi-cmd-disas.c                       |    1 -
 gdb/objfiles.c                              |    4 +-
 gdb/printcmd.c                              |   94 ++-
 gdb/remote.c                                |  100 +-
 gdb/solib-osf.c                             |    4 +-
 gdb/solib.c                                 |   62 +-
 gdb/solib.h                                 |    6 +-
 gdb/stack.c                                 |    2 +-
 gdb/symtab.c                                |  145 +-
 gdb/target.h                                |   34 +-
 gdb/testsuite/ChangeLog                     |   10 +
 gdb/testsuite/gdb.arch/i386-permbkpt.S      |   30 +
 gdb/testsuite/gdb.arch/i386-permbkpt.exp    |   52 +
 gdb/testsuite/gdb.base/solib-display-lib.c  |   30 +
 gdb/testsuite/gdb.base/solib-display-main.c |   32 +
 gdb/testsuite/gdb.base/solib-display.exp    |  115 ++
 gdb/top.c                                   |    3 +-
 gdb/varobj.c                                |    2 +
 gdb/version.in                              |    2 +-
 gdb/windows-nat.c                           |   33 +-
 gdb/xcoffread.c                             |   34 +-
 include/elf/ChangeLog                       |   10 +
 include/elf/common.h                        |    3 +
 include/elf/ppc.h                           |    6 +-
 include/elf/ppc64.h                         |    4 +-
 include/elf/score.h                         |   13 +-
 include/opcode/ChangeLog                    |   10 +
 include/opcode/ppc.h                        |    4 +-
 include/opcode/score-datadep.h              |  227 +---
 include/opcode/score-inst.h                 |  313 +----
 libtool.m4                                  |   12 +-
 opcodes/ChangeLog                           |   50 +
 opcodes/Makefile.am                         |  341 ++---
 opcodes/Makefile.in                         |  349 ++---
 opcodes/configure                           |  257 +++-
 opcodes/configure.in                        |   24 +-
 opcodes/po/es.po                            |  249 ++-
 opcodes/po/id.po                            | 1021 +++++++++++--
 opcodes/ppc-dis.c                           |  291 +++--
 opcodes/ppc-opc.c                           |   20 +-
 opcodes/score-dis.c                         |  880 ++++++++++--
 opcodes/score-opc.h                         |  460 +++---
 opcodes/score7-dis.c                        |  972 ++++++++++++
 97 files changed, 11753 insertions(+), 6468 deletions(-)
 create mode 100644 bfd/elf32-score.h
 copy bfd/{elf32-score.c => elf32-score7.c} (69%)
 create mode 100644 gdb/common/gdb_signals.h
 rename gdb/{signals => common}/signals.c (99%)
 create mode 100644 gdb/testsuite/gdb.arch/i386-permbkpt.S
 create mode 100644 gdb/testsuite/gdb.arch/i386-permbkpt.exp
 create mode 100644 gdb/testsuite/gdb.base/solib-display-lib.c
 create mode 100644 gdb/testsuite/gdb.base/solib-display-main.c
 create mode 100644 gdb/testsuite/gdb.base/solib-display.exp
 create mode 100644 opcodes/score7-dis.c

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 474f3d4..5ee9384 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	Backport from git Libtool:
+
+	2009-01-19  Robert Millan  <rmh@aybabtu.com>
+	Support GNU/kOpenSolaris.
+	* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
+	(_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
+	(_LT_LANG_CXX_CONFIG) [kopensolaris*-gnu]: Recognize
+	GNU/kOpenSolaris.
+
 2009-02-05  Andreas Schwab  <schwab@suse.de>
 
 	* Makefile.tpl (stage_last): Define $r and $s before using
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index bdd2f80..9841e5d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,187 @@
+2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/9938
+	* elf32-i386.c (elf_i386_check_tls_transition): Use strncmp
+	to check ___tls_get_addr.
+
+	* elf64-x86-64.c (elf64_x86_64_check_tls_transition): Use
+	strncmp to check __tls_get_addr.
+
+2009-03-12  Andrew Stubbs  <ams@codesourcery.com>
+
+	* dwarf2.c (read_section): Always check the offset, even when the
+	section has been read before.
+
+2009-03-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_check_tls_transition): Fix a typo in
+	comments.
+
+2009-03-11  Chris Demetriou  <cgd@google.com>
+
+	* bfd.c (BFD_DETERMINISTIC_OUTPUT): New flag.
+	* bfd-in2.h: Regenerate.
+	* archive.c (bfd_ar_hdr_from_filesystem): If BFD_DETERMINISTIC_OUTPUT
+	flag is set, use 0 for uid, gid, and timestamp, and use 0644 for file
+	mode.
+	(bsd_write_armap): Likewise.
+	(_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUT
+	flag is set, do nothing.
+	(coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0
+	for timestamp.
+
+2009-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* elf32-spu.c (find_function_stack_adjust): Handle sf instruction
+	used to update stack pointer.
+
+2009-03-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR binutils/9921
+	* som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE
+	for unknown symbols in absolute section.
+
+2009-03-06  Nick Clifton  <nickc@redhat.com>
+
+	* po/es.po: Updated Spanish translation.
+
+2009-03-05  Christophe Lyon  <christophe.lyon@st.com>
+
+	* elf32-arm.c (group_sections): Take next section size into
+	account before accepting to group it.
+
+2009-03-05  Christophe Lyon  <christophe.lyon@st.com>
+
+	* elf32-arm.c (arm_type_of_stub): Handle long branches targetting
+	PLT entries.
+	(elf32_arm_final_link_relocate): Likewise.
+
+2009-03-05  Moritz Kroll  <Moritz.Kroll@gmx.de>
+
+	PR 9923
+	* peXXigen.c (_bfd_XXi_final_link_postscript): Check h->root.type.
+
+2009-03-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* reloc.c (BFD_RELOC_PPC_TLSGD, BFD_RELOC_PPC_TLSLD): New.
+	* section.c (struct bfd_section): Add has_tls_get_addr_call.
+	(BFD_FAKE_SECTION): Init new flag.
+	* ecoff.c (bfd_debug_section): Likewise.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_TLSGD and R_PPC_TLSLD.
+	(ppc_elf_reloc_type_lookup): Handle new relocs.
+	(ppc_elf_check_relocs): Set has_tls_get_addr_call on finding such
+	without marker relocs.
+	(ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
+	if section has no old-style calls.
+	(ppc_elf_relocate_section): Set tls_mask for non-tls relocs too.
+	Don't try to optimize new-style __tls_get_addr call when handling
+	arg setup relocs.  Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
+	relocs.
+	* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_TLSGD, R_PPC64_TLSLD.
+	(ppc64_elf_reloc_type_lookup): Handle new relocs.
+	(ppc64_elf_check_relocs): Set has_tls_get_addr_call on finding such
+	without marker relocs.
+	(ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
+	if section has no old-style calls.  Set toc_ref for new relocs as
+	appropriate.
+	(ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too.
+	Don't try to optimize new-style __tls_get_addr call when handling
+	arg setup relocs.  Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
+	relocs.
+
+2009-03-04  Alan Modra  <amodra@bigpond.net.au>
+
+	PR 6768
+	* configure.in: Test for ld --as-needed support.  Link shared
+	libbfd against libm.
+	* configure: Regenerate.
+
+2009-03-03  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2009-03-02  Qinwei  <qinwei@sunnorth.com.cn>
+
+	* elf32-score7.c: New file.
+	* elf32-score.h: New file.
+	* elf32-score.c: Add code to support score 7.  Set score7 as the
+	default.
+	* cpu-score.c: Add score7 architecure.
+	(compatibile): New function.
+	* Makefile.am: Add rules for building elf32-score7 object.
+	* Makefile.in: Regenerate.
+	* configure.in: Add elf32-score7 object to score vectors.
+	* configure: Regenerate.
+	* reloc.c: Add score7 relocs.
+	* archures.c: Add score3 and score7 machine numbers.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* configure: Regenerate.
+
+2009-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* elf32-hppa.c (hppa32_elf_local_refcounts): New function.
+	(elf32_hppa_check_relocs): Use it.
+
+	* elf_hppa_add_symbol_hook (elf_hppa_add_symbol_hook): Move to
+	elf64-hppa.c.
+	(elf_hppa_unmark_useless_dynamic_symbols): Likewise.
+	(elf_hppa_remark_useless_dynamic_symbols): Likewise.
+	(elf_hppa_is_dynamic_loader_symbol): Likewise.
+	(elf_hppa_record_segment_addrs): Likewise.
+	(elf_hppa_final_link): Likewise.
+	(elf_hppa_relocate_insn): Likewise.
+	(elf_hppa_final_link_relocate): Likewise.
+	(elf64_hppa_relocate_section): Likewise.
+	* elf64-hppa.c: Insert above.
+
+2009-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* elf-hppa.h (elf_hppa_final_link): Use elf_hppa_final_link.
+	(elf_hppa_final_link_relocate ): Rewrite eliminating dynamic hash table.
+	(elf_hppa_relocate_section): Likewise.
+	* elf64-hppa.c (struct elf64_hppa_link_hash_entry): Change to derive
+	from struct elf_link_hash_entry.  Add count field.
+	(struct elf64_hppa_dyn_hash_table): Delete.
+	(struct elf64_hppa_link_hash_table): Delete dyn_hash_table field.
+	(elf64_hppa_hash_table): Rename to hppa_link_hash_table.
+	(hppa_elf_hash_entry, eh_name): Define.
+	(elf64_hppa_new_dyn_hash_entry): Delete.
+	(elf64_hppa_dyn_hash_lookup): Delete.
+	(elf64_hppa_dyn_hash_traverse): Delete.
+	(get_dyn_name): Delete.
+	(elf64_hppa_finalize_opd): Use struct elf_link_hash_entry * instead
+	of struct elf64_hppa_dyn_hash_entry *.
+	(elf64_hppa_finalize_dlt, llocate_global_data_dlt,
+	allocate_global_data_plt, allocate_global_data_stub,
+	allocate_global_data_opd, count_dyn_reloc, allocate_dynrel_entries):
+	Likewise.
+	(hppa64_link_hash_newfunc): New.
+	(elf64_hppa_hash_table_create): Rework.
+	(count_dyn_reloc): Likewise.
+	(hppa64_elf_local_refcounts): New.
+	(elf64_hppa_check_relocs): Rework using standard technique for recording
+	local DLT, PLT and OPD reference counts.
+	(elf64_hppa_dynamic_symbol_p): Revise using "eh" for struct
+	elf_link_hash_entry *.
+	(elf64_hppa_mark_exported_functions, allocate_global_data_dlt,
+	allocate_global_data_plt, allocate_global_data_stub,
+	allocate_global_data_opd, allocate_dynrel_entries,
+	elf64_hppa_adjust_dynamic_symbol,
+	elf64_hppa_mark_milli_and_exported_functions): Likewise.
+	(elf64_hppa_create_dynamic_sections, elf64_hppa_size_dynamic_sections):
+	Use hppa_link_hash_table.  Rework.
+	(elf64_hppa_link_output_symbol_hook): Rework.
+	(elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd,
+	elf64_hppa_finalize_dlt, elf64_hppa_finalize_dynreloc,
+	elf64_hppa_finish_dynamic_sections): Likewise.
+
 2009-02-26  Christophe Lyon  <christophe.lyon@st.com>
 
 	* elf32-arm.c (stub_reloc_type): Removed.
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 8d67cb8..1c150cd 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -289,6 +289,7 @@ BFD32_BACKENDS = \
 	elf32-ppc.lo \
 	elf32-s390.lo \
 	elf32-score.lo \
+	elf32-score7.lo \
 	elf32-sh.lo \
 	elf32-sh-symbian.lo \
 	elf32-sh64.lo \
@@ -474,6 +475,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-sh64-com.c \
 	elf32-s390.c \
 	elf32-score.c \
+	elf32-score7.c \
 	elf32-sh.c \
 	elf32-sh-symbian.c \
 	elfxx-sparc.c \
@@ -1050,11 +1052,10 @@ archive.lo: archive.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
 archures.lo: archures.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
   $(INCDIR)/safe-ctype.h
 bfd.lo: bfd.c $(INCDIR)/filenames.h bfdver.h $(INCDIR)/libiberty.h \
-  $(INCDIR)/demangle.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h \
-  $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h \
-  $(INCDIR)/coff/sym.h libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h \
-  elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \
-  $(INCDIR)/elf/internal.h
+  $(INCDIR)/demangle.h $(INCDIR)/safe-ctype.h $(INCDIR)/bfdlink.h \
+  $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/sym.h \
+  libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h elf-bfd.h \
+  $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h
 bfdio.lo: bfdio.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 bfdwin.lo: bfdwin.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cache.lo: cache.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
@@ -1458,15 +1459,15 @@ elf32-iq2000.lo: elf32-iq2000.c $(INCDIR)/filenames.h \
   $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/elf/iq2000.h $(INCDIR)/elf/reloc-macros.h \
   elf32-target.h
+elf32-lm32.lo: elf32-lm32.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
+  elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \
+  $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/lm32.h \
+  $(INCDIR)/elf/reloc-macros.h elf32-target.h
 elf32-m32c.lo: elf32-m32c.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \
   $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/m32c.h \
   $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
   elf32-target.h
-elf32-lm32.lo: elf32-lm32.c $(INCDIR)/filenames.h elf-bfd.h \
-  $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
-  $(INCDIR)/bfdlink.h $(INCDIR)/elf/lm32.h $(INCDIR)/elf/reloc-macros.h \
-  elf32-target.h
 elf32-m32r.lo: elf32-m32r.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \
   $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/m32r.h \
@@ -1571,7 +1572,12 @@ elf32-score.lo: elf32-score.c $(INCDIR)/filenames.h \
   $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \
   $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \
   $(INCDIR)/bfdlink.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \
-  elf32-target.h
+  elf32-score.h elf32-target.h
+elf32-score7.lo: elf32-score7.c $(INCDIR)/filenames.h \
+  $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \
+  $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \
+  $(INCDIR)/bfdlink.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \
+  elf32-score.h
 elf32-sh.lo: elf32-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
   $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h elf-vxworks.h \
@@ -1716,7 +1722,8 @@ m88kopenbsd.lo: m88kopenbsd.c netbsd.h $(INCDIR)/filenames.h \
   $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \
   $(INCDIR)/aout/ar.h
 mach-o.lo: mach-o.c $(INCDIR)/filenames.h mach-o.h \
-  $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h mach-o-target.c
+  $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h $(INCDIR)/aout/stab_gnu.h \
+  $(INCDIR)/aout/stab.def mach-o-target.c
 mipsbsd.lo: mipsbsd.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
   libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \
   $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
@@ -1865,7 +1872,7 @@ vms-misc.lo: vms-misc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h vms.h
 vms-tir.lo: vms-tir.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h vms.h
-vmsutil.lo: vmsutil.c vmsutil.h $(INCDIR)/ansidecl.h
+vmsutil.lo: vmsutil.c vmsutil.h
 xcofflink.lo: xcofflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \
   libcoff.h libxcoff.h
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index 9932dea..32191a1 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -555,6 +555,7 @@ BFD32_BACKENDS = \
 	elf32-ppc.lo \
 	elf32-s390.lo \
 	elf32-score.lo \
+	elf32-score7.lo \
 	elf32-sh.lo \
 	elf32-sh-symbian.lo \
 	elf32-sh64.lo \
@@ -740,6 +741,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-sh64-com.c \
 	elf32-s390.c \
 	elf32-score.c \
+	elf32-score7.c \
 	elf32-sh.c \
 	elf32-sh-symbian.c \
 	elfxx-sparc.c \
@@ -1646,11 +1648,10 @@ archive.lo: archive.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
 archures.lo: archures.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
   $(INCDIR)/safe-ctype.h
 bfd.lo: bfd.c $(INCDIR)/filenames.h bfdver.h $(INCDIR)/libiberty.h \
-  $(INCDIR)/demangle.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h \
-  $(INCDIR)/bfdlink.h $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h \
-  $(INCDIR)/coff/sym.h libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h \
-  elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \
-  $(INCDIR)/elf/internal.h
+  $(INCDIR)/demangle.h $(INCDIR)/safe-ctype.h $(INCDIR)/bfdlink.h \
+  $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/sym.h \
+  libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h elf-bfd.h \
+  $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h
 bfdio.lo: bfdio.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 bfdwin.lo: bfdwin.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cache.lo: cache.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
@@ -2054,15 +2055,15 @@ elf32-iq2000.lo: elf32-iq2000.c $(INCDIR)/filenames.h \
   $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/elf/iq2000.h $(INCDIR)/elf/reloc-macros.h \
   elf32-target.h
+elf32-lm32.lo: elf32-lm32.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
+  elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \
+  $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/lm32.h \
+  $(INCDIR)/elf/reloc-macros.h elf32-target.h
 elf32-m32c.lo: elf32-m32c.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \
   $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/m32c.h \
   $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \
   elf32-target.h
-elf32-lm32.lo: elf32-lm32.c $(INCDIR)/filenames.h elf-bfd.h \
-  $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
-  $(INCDIR)/bfdlink.h $(INCDIR)/elf/lm32.h $(INCDIR)/elf/reloc-macros.h \
-  elf32-target.h
 elf32-m32r.lo: elf32-m32r.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
   elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h \
   $(INCDIR)/elf/internal.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/m32r.h \
@@ -2167,7 +2168,12 @@ elf32-score.lo: elf32-score.c $(INCDIR)/filenames.h \
   $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \
   $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \
   $(INCDIR)/bfdlink.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \
-  elf32-target.h
+  elf32-score.h elf32-target.h
+elf32-score7.lo: elf32-score7.c $(INCDIR)/filenames.h \
+  $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h elf-bfd.h \
+  $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \
+  $(INCDIR)/bfdlink.h $(INCDIR)/elf/score.h $(INCDIR)/elf/reloc-macros.h \
+  elf32-score.h
 elf32-sh.lo: elf32-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h elf-bfd.h $(INCDIR)/elf/common.h \
   $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h elf-vxworks.h \
@@ -2312,7 +2318,8 @@ m88kopenbsd.lo: m88kopenbsd.c netbsd.h $(INCDIR)/filenames.h \
   $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \
   $(INCDIR)/aout/ar.h
 mach-o.lo: mach-o.c $(INCDIR)/filenames.h mach-o.h \
-  $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h mach-o-target.c
+  $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h $(INCDIR)/aout/stab_gnu.h \
+  $(INCDIR)/aout/stab.def mach-o-target.c
 mipsbsd.lo: mipsbsd.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
   libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \
   $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
@@ -2461,7 +2468,7 @@ vms-misc.lo: vms-misc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h vms.h
 vms-tir.lo: vms-tir.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h vms.h
-vmsutil.lo: vmsutil.c vmsutil.h $(INCDIR)/ansidecl.h
+vmsutil.lo: vmsutil.c vmsutil.h
 xcofflink.lo: xcofflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
   $(INCDIR)/hashtab.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/xcoff.h \
   libcoff.h libxcoff.h
diff --git a/bfd/archive.c b/bfd/archive.c
index 437a085..5e0fd6b 100644
--- a/bfd/archive.c
+++ b/bfd/archive.c
@@ -1652,6 +1652,16 @@ bfd_ar_hdr_from_filesystem (bfd *abfd, const char *filename, bfd *member)
       return NULL;
     }
 
+  /* If the caller requested that the BFD generate deterministic output,
+     fake values for modification time, UID, GID, and file mode.  */
+  if ((abfd->flags & BFD_DETERMINISTIC_OUTPUT) != 0)
+    {
+      status.st_mtime = 0;
+      status.st_uid = 0;
+      status.st_gid = 0;
+      status.st_mode = 0644;
+    }
+
   amt = sizeof (struct ar_hdr) + sizeof (struct areltdata);
   ared = bfd_zalloc (abfd, amt);
   if (ared == NULL)
@@ -2220,20 +2230,39 @@ bsd_write_armap (bfd *arch,
   unsigned int count;
   struct ar_hdr hdr;
   struct stat statbuf;
+  long uid, gid;
 
   firstreal = mapsize + elength + sizeof (struct ar_hdr) + SARMAG;
 
   stat (arch->filename, &statbuf);
+  if ((arch->flags & BFD_DETERMINISTIC_OUTPUT) == 0)
+    {
+      /* Remember the timestamp, to keep it holy.  But fudge it a little.  */
+      bfd_ardata (arch)->armap_timestamp = (statbuf.st_mtime
+                                            + ARMAP_TIME_OFFSET);
+      uid = getuid();
+      gid = getgid();
+    }
+  else
+    {
+      /* If deterministic, we use 0 as the timestamp in the map.
+         Some linkers may require that the archive filesystem modification
+         time is less than (or near to) the archive map timestamp.  Those
+         linkers should not be used with deterministic mode.  (GNU ld and
+         Gold do not have this restriction.)  */
+      bfd_ardata (arch)->armap_timestamp = 0;
+      uid = 0;
+      gid = 0;
+    }
+
   memset (&hdr, ' ', sizeof (struct ar_hdr));
   memcpy (hdr.ar_name, RANLIBMAG, strlen (RANLIBMAG));
-  /* Remember the timestamp, to keep it holy.  But fudge it a little.  */
-  bfd_ardata (arch)->armap_timestamp = statbuf.st_mtime + ARMAP_TIME_OFFSET;
   bfd_ardata (arch)->armap_datepos = (SARMAG
 				      + offsetof (struct ar_hdr, ar_date[0]));
   _bfd_ar_spacepad (hdr.ar_date, sizeof (hdr.ar_date), "%ld",
                     bfd_ardata (arch)->armap_timestamp);
-  _bfd_ar_spacepad (hdr.ar_uid, sizeof (hdr.ar_uid), "%ld", getuid ());
-  _bfd_ar_spacepad (hdr.ar_gid, sizeof (hdr.ar_gid), "%ld", getgid ());
+  _bfd_ar_spacepad (hdr.ar_uid, sizeof (hdr.ar_uid), "%ld", uid);
+  _bfd_ar_spacepad (hdr.ar_gid, sizeof (hdr.ar_gid), "%ld", gid);
   _bfd_ar_spacepad (hdr.ar_size, sizeof (hdr.ar_size), "%-10ld", mapsize);
   memcpy (hdr.ar_fmag, ARFMAG, 2);
   if (bfd_bwrite (&hdr, sizeof (struct ar_hdr), arch)
@@ -2301,6 +2330,10 @@ _bfd_archive_bsd_update_armap_timestamp (bfd *arch)
   struct stat archstat;
   struct ar_hdr hdr;
 
+  /* If creating deterministic archives, just leave the timestamp as-is.  */
+  if ((arch->flags & BFD_DETERMINISTIC_OUTPUT) != 0)
+    return TRUE;
+
   /* Flush writes, get last-write timestamp from file, and compare it
      to the timestamp IN the file.  */
   bfd_flush (arch);
@@ -2385,7 +2418,8 @@ coff_write_armap (bfd *arch,
   _bfd_ar_spacepad (hdr.ar_size, sizeof (hdr.ar_size), "%-10ld",
                     mapsize);
   _bfd_ar_spacepad (hdr.ar_date, sizeof (hdr.ar_date), "%ld",
-                    time (NULL));
+                    ((arch->flags & BFD_DETERMINISTIC_OUTPUT) == 0
+                     ? time (NULL) : 0));
   /* This, at least, is what Intel coff sets the values to.  */
   _bfd_ar_spacepad (hdr.ar_uid, sizeof (hdr.ar_uid), "%ld", 0);
   _bfd_ar_spacepad (hdr.ar_gid, sizeof (hdr.ar_gid), "%ld", 0);
diff --git a/bfd/archures.c b/bfd/archures.c
index f548ea2..fa03d81 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -1,6 +1,6 @@
 /* BFD library support routines for architectures.
    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
    Free Software Foundation, Inc.
    Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
 
@@ -376,6 +376,8 @@ DESCRIPTION
 .#define bfd_mach_s390_31       31
 .#define bfd_mach_s390_64       64
 .  bfd_arch_score,     {* Sunplus score *} 
+.#define bfd_mach_score3         3
+.#define bfd_mach_score7         7
 .  bfd_arch_openrisc,  {* OpenRISC *}
 .  bfd_arch_mmix,      {* Donald Knuth's educational processor.  *}
 .  bfd_arch_xstormy16,
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 7870962..7e3defd 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h


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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-03-12 20:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-28 20:29 [SCM] archer-tromey-charset: Merge commit 'origin/master' into archer-tromey-charset jkratoch
2009-03-12 20:10 jkratoch

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).