public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master:         * configure.ac: Add Microblaze target.         * configure: Regenerate.
@ 2009-08-06 21:37 tromey
  0 siblings, 0 replies; only message in thread
From: tromey @ 2009-08-06 21:37 UTC (permalink / raw)
  To: archer-commits

The branch, master has been updated
       via  2e0cf31eade0465f909d823984d6ac71a36b8182 (commit)
       via  9294a969cd5c21e7725498ea659a65be4b3a12cf (commit)
       via  04e13e7fae236ce55eee7cbc75e4de7d796d5ce0 (commit)
       via  5c64788d9e48b84b881fa16b9ec00f339b3763b5 (commit)
       via  eb5c6fce6ead57eb5be31f93038681ef76f8c6e6 (commit)
       via  9e9eaf501cc3e35e0ac94b25dc4252c4312ea639 (commit)
       via  868a504b8db135e42fa8fc325d7a77301f681ff6 (commit)
       via  43867388ab25830b1a8e3faa16f79ee44cf152cc (commit)
       via  5091bc28606ff2edf202dcbc33bbe497a5607be2 (commit)
       via  e8ee44fc01db1124ac33a58ce4dfb523febb2d69 (commit)
       via  1fb454070bceaab9d5a9a6315637a4ed1ee6e854 (commit)
       via  cad9e5531de2d31175b833bcbe585bdf66b7a5e0 (commit)
       via  b07f04a6cd8c70c3fbda217c514d4b510c24719d (commit)
       via  51d28f0c856836db9d813ce951f24e813960b5b1 (commit)
       via  ea18e2df6e5eba8bd312777b1730861d67d63aed (commit)
       via  e01616e7830ad7b8ef6721f206415e56b247b884 (commit)
       via  69f260e218e1b6f87f92c459ef462c9188b8d29a (commit)
       via  b9cd7676d0e4aba49b2d3882c2e1481866e9b015 (commit)
       via  2c60e316fafcedd7528db769b9e9b7a3841986e3 (commit)
       via  c1b71b27c128b5a3abba0716452859152c5340b5 (commit)
       via  bc486b816f3eae0ada17c477755963e5b0d28d62 (commit)
       via  1253d1346a2285e2759a4c0f0ca59839073b59c3 (commit)
       via  c0a492a0ff4f99048b72bcbc831f7f2a46e1bfac (commit)
       via  774efe691e0a9d111ad9263832218447afcefca5 (commit)
       via  9fb6c7b29ffaf94e6696f6836fb767aaada56638 (commit)
       via  0b01b20db266aaa52806ef0d3d64724bb0d55eb7 (commit)
       via  ccd4a62999d8661f282e87abe45cd57024b672c0 (commit)
       via  8d159dbe5b059b6ef04a8cc78ce5a4048341040f (commit)
       via  e0c29d7a2c7bd8ca8f98021c24d3e87c17309aa1 (commit)
       via  15bcdd920bff0fba2cf39b3ca70dced185103745 (commit)
       via  4e159b1d520b1a9c0c21bb4e64a8bfee84d59994 (commit)
       via  fcd07902434dbb656c4bf1cd001f37560bc4e172 (commit)
       via  b9ad25f5db0329ca214aee56f2befd7a57023eae (commit)
       via  155a36cf3dd21f47679dbe0a2d4a2a1533726edf (commit)
      from  682c3b9774c7cbf1ef21e8478fb39a8de8bbac6c (commit)

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

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

Summary of changes:
 ChangeLog                              |    5 +
 bfd/ChangeLog                          |  126 ++
 bfd/Makefile.am                        |   19 +
 bfd/Makefile.in                        |   19 +
 bfd/archures.c                         |    3 +
 bfd/bfd-in2.h                          |   76 +-
 bfd/config.bfd                         |    5 +
 bfd/configure                          |    1 +
 bfd/configure.in                       |    1 +
 bfd/cpu-microblaze.c                   |   40 +
 bfd/ecoff.c                            |    4 +-
 bfd/elf-ifunc.c                        |    7 +-
 bfd/elf.c                              |    4 +-
 bfd/elf32-arm.c                        |   73 +-
 bfd/elf32-i386.c                       |   16 +-
 bfd/elf32-microblaze.c                 | 3058 ++++++++++++++++++++++++++++++++
 bfd/elf32-mips.c                       |    3 +-
 bfd/elf32-ppc.c                        |  316 ++--
 bfd/elf32-spu.c                        |  135 ++
 bfd/elf32-spu.h                        |    4 +
 bfd/elf64-x86-64.c                     |   12 +-
 bfd/elfn32-mips.c                      |    2 +-
 bfd/elfxx-mips.c                       |   27 +-
 bfd/libbfd.h                           |   12 +
 bfd/reloc.c                            |   68 +
 bfd/section.c                          |   22 +-
 bfd/targets.c                          |    2 +
 bfd/version.h                          |    2 +-
 configure                              |    3 +
 configure.ac                           |    3 +
 gdb/ChangeLog                          |   74 +
 gdb/MAINTAINERS                        |    1 +
 gdb/NEWS                               |    1 +
 gdb/breakpoint.c                       |   30 +-
 gdb/breakpoint.h                       |    5 +
 gdb/cli/cli-script.c                   |   92 +-
 gdb/configure.tgt                      |    6 +-
 gdb/defs.h                             |    1 +
 gdb/doc/ChangeLog                      |   10 +
 gdb/doc/gdb.texinfo                    |  116 +-
 gdb/linux-tdep.c                       |   31 +
 gdb/mi/mi-cmd-break.c                  |   50 +
 gdb/mi/mi-cmds.c                       |    1 +
 gdb/mi/mi-cmds.h                       |    1 +
 gdb/objfiles.c                         |   43 +-
 gdb/objfiles.h                         |    8 +-
 gdb/record.c                           |   79 +-
 gdb/score-tdep.c                       | 1188 +++++++++----
 gdb/score-tdep.h                       |  106 ++-
 gdb/solib.c                            |   20 +-
 gdb/spu-tdep.h                         |    4 +-
 gdb/symfile.c                          |   13 +-
 gdb/testsuite/ChangeLog                |    6 +
 gdb/testsuite/gdb.base/pie-support.c   |   34 +
 gdb/testsuite/gdb.base/pie-support.exp |   58 +
 gdb/testsuite/gdb.mi/mi-break.exp      |   26 +
 gdb/testsuite/gdb.mi/mi-var-cmd.exp    |    3 +
 gdb/testsuite/lib/mi-support.exp       |   13 +-
 gdb/utils.c                            |    4 +-
 gdb/version.in                         |    2 +-
 include/ChangeLog                      |    4 +
 include/dis-asm.h                      |    1 +
 include/elf/ChangeLog                  |    5 +
 include/elf/common.h                   |    4 +
 include/elf/microblaze.h               |   63 +
 opcodes/ChangeLog                      |   13 +
 opcodes/Makefile.am                    |    8 +
 opcodes/Makefile.in                    |    8 +
 opcodes/configure                      |    1 +
 opcodes/configure.in                   |    1 +
 opcodes/disassemble.c                  |    6 +
 opcodes/microblaze-dis.c               |  527 ++++++
 opcodes/microblaze-opc.h               |  409 +++++
 opcodes/microblaze-opcm.h              |  139 ++
 74 files changed, 6638 insertions(+), 645 deletions(-)
 create mode 100644 bfd/cpu-microblaze.c
 create mode 100644 bfd/elf32-microblaze.c
 create mode 100644 gdb/testsuite/gdb.base/pie-support.c
 create mode 100644 gdb/testsuite/gdb.base/pie-support.exp
 create mode 100644 include/elf/microblaze.h
 create mode 100644 opcodes/microblaze-dis.c
 create mode 100644 opcodes/microblaze-opc.h
 create mode 100644 opcodes/microblaze-opcm.h

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 29e1b02..64dc5aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-08-06  Michael Eager <eager@eagercon.com>
+
+	* configure.ac: Add Microblaze target.
+	* configure: Regenerate.
+
 2009-07-02  Tristan Gingold  <gingold@adacore.com>
 
 	* configure.ac: Do not exclude gas for i386-*-darwin.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 2736ccc..e9d27c7 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,129 @@
+2009-08-06  Michael Eager <eager@eagercon.com>
+
+	* Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}.
+	* Makefile.in: Regenerate.
+	* archures.c: Add bfd_arch_microblaze.
+	* bfd-in2.h: Regenerate.
+	* config.bfd: Add microblaze target.
+	* configure.in: Add bfd_elf32_microblaze_vec target.
+	* configure: Regenerate.
+	* cpu-microblaze.c: New.
+	* elf32-microblaze.c: New.
+	* libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc().
+	* libbfd.h: Regenerate.
+	* reloc.c: Add MICROBLAZE relocations.
+	* section.c: Add struct relax_table and relax_count to section.
+	* targets.c: Add bfd_elf32_microblaze_vec.
+
+2009-08-06  Jakub Jelinek  <jakub@redhat.com>
+	    Alan Modra  <amodra@bigpond.net.au>
+
+	PR binutils/10492
+	* elf.c (sym_is_global): Return true even for BSF_GNU_UNIQUE
+	symbols.
+	* elf32-mips.c (mips_elf_sym_is_global): Likewise.
+	* elfn32-mips.c (mips_elf_sym_is_global): Likewise.
+
+2009-08-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again
+	at least once when fixing cortex-a8.
+
+2009-08-05  Chao-ying Fu  <fu@mips.com>
+
+	* elf32-mips.c (mips_reloc_map): Add BFD_RELOC_MIPS_JALR.
+	* elfxx-mips.c (JAL_TO_BAL_P): New define to transform JAL to BAL
+	for CPUs.  It is true for RM9000.
+	(JALR_TO_BAL_P): New define to transform JALR to BAL.  It is true
+	for all CPUs.
+	(mips_elf_perform_relocation): Use JAL_TO_BAL_P and JALR_TO_BAL_P
+	to guard the transformation.
+
+2009-08-05  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
+
+	* elf32-spu.h (spu_elf_params): Add member emit_fixups.
+	(spu_elf_size_sections): Declare prototype.
+	* elf32-spu.c (spu_link_hash_table): Add member sfixup.
+	(FIXUP_RECORD_SIZE, FIXUP_GET, FIXUP_PUT): New macros.
+	(spu_elf_emit_fixup): New function.
+	(spu_elf_relocate_section): Emit fixup for each SPU_ADDR32.
+	(spu_elf_size_sections): New function.
+
+2009-08-05  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* elf32-arm.c (elf32_arm_stub_type): Add arm_stub_a8_veneer_lwm.
+	(arm_build_one_stub): Build a8 veneers as a separate pass.
+	(cortex_a8_erratum_scan): Add prev_num_a8_fixes and stub_changed_p
+	parameters.  Use them to check if we create a different a8 fixup
+	than the previous pass.
+	(elf32_arm_size_stubs): Move scope of stub_changed and
+	prev_num_a8_fixes into main loop.
+	(elf32_arm_build_stubs): Build a8 veneers in a second pass.
+
+2009-08-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_relax_section): Correct conditions under
+	which find_plt_ent is called.  Delete redundant code.
+
+2009-08-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/10363
+	* elf.c (bfd_elf_string_from_elf_section): Return NULL on
+	invalid string offset.
+
+2009-08-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/10433
+	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Set got
+	to htab->init_got_offset and plt to htab->init_plt_offset
+	when discarding space for dynamic relocations.
+
+2009-08-03  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (struct plt_entry): Revise comments.
+	(ppc_elf_check_relocs): Don't create needless plt_entry info
+	for non-pie executables.  Don't test info->pie when info->shared
+	already covers that case.
+	(ppc_elf_gc_sweep_hook): Adjust for above change.
+	(add_stub_sym): Don't test info->pie when info->shared tested.
+	(allocate_dynrelocs, ppc_elf_size_dynamic_sections): Likewise.
+	(write_glink_stub, ppc_elf_finish_dynamic_symbol): Likewise.
+	(ppc_elf_relax_section): Adjust find_plt_ent arguments.
+	(ppc_elf_relocate_section): Likewise.
+
+2009-08-03  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_check_relocs): Always add a plt ref count
+	for local ifunc symbols in non-pie executables, regardless of
+	reloc type.  Don't specially create ifunc dyn relocs.  Tidy ifunc
+	code so that it's obvious that we only do anything special for
+	local ifunc syms.
+	(ppc_elf_gc_sweep_hook): Adjust to suit check_relocs changes.
+	(allocate_dynrelocs): Correct comment for syms defined in plt.
+	Don't specially allocate ifunc dyn relocs.
+	(ppc_elf_relax_section): Relax branches to ifunc plt entries too.
+	(ppc_elf_relocate_section): Set "relocation" value for ifunc
+	syms in non-pie executables.  No specially allocated dyn relocs
+	for ifunc to write.  Allow for local sym on R_PPC_RELAX32_PLT.
+	(ppc_elf_finish_dynamic_symbol): Set value of ifunc symbols in
+	a non-pie executable.
+
+2009-08-02  H.J. Lu  <hongjiu.lu@intel.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR ld/6443
+	* elf32-i386.c (elf_i386_tls_transition): Check executable
+	instead of shared for TLS when building PIE.
+	(elf_i386_check_relocs): Likewise.
+	(elf_i386_allocate_dynrelocs): Likewise.
+	(elf_i386_relocate_section): Likewise.
+
+	* elf64-x86-64.c (elf64_x86_64_tls_transition): Check executable
+	instead of shared for TLS when building PIE.
+	(elf64_x86_64_check_relocs): Likewise.
+	(elf64_x86_64_allocate_dynrelocs): Likewise.
+	(elf64_x86_64_relocate_section): Likewise.
+
 2009-07-31  Anthony Green  <green@moxielogic.com>
 
 	* config.bfd (targ_cpu): Add moxie-uclinux support.
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 73ff953..20fcf5a 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -101,6 +101,7 @@ ALL_MACHINES = \
 	cpu-maxq.lo \
 	cpu-mcore.lo \
 	cpu-mep.lo \
+	cpu-microblaze.lo \
 	cpu-mips.lo \
 	cpu-mmix.lo \
 	cpu-moxie.lo \
@@ -171,6 +172,7 @@ ALL_MACHINES_CFILES = \
 	cpu-maxq.c \
 	cpu-mcore.c \
 	cpu-mep.c \
+	cpu-microblaze.c \
 	cpu-mips.c \
 	cpu-mmix.c \
 	cpu-moxie.c \
@@ -291,6 +293,7 @@ BFD32_BACKENDS = \
 	elf32-m88k.lo \
 	elf32-mcore.lo \
 	elf32-mep.lo \
+	elf32-microblaze.lo \
 	elf32-mips.lo \
 	elf32-moxie.lo \
 	elf32-msp430.lo \
@@ -474,6 +477,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-m88k.c \
 	elf32-mcore.c \
 	elf32-mep.c \
+	elf32-microblaze.c \
 	elf32-mips.c \
 	elf32-moxie.c \
 	elf32-msp430.c \
@@ -1387,6 +1391,10 @@ cpu-mep.lo: \
   cpu-mep.c \
   $(INCDIR)/filenames.h \
   $(INCDIR)/hashtab.h
+cpu-microblaze.lo: \
+  cpu-microblaze.c $\
+  $(INCDIR)/filenames.h \
+  $(INCDIR)/hashtab.h
 cpu-mips.lo: \
   cpu-mips.c \
   $(INCDIR)/filenames.h \
@@ -2844,6 +2852,17 @@ elflink.lo: \
   $(INCDIR)/objalloc.h \
   $(INCDIR)/safe-ctype.h \
   elf-bfd.h
+elf32-microblaze.lo: \
+  elf32-microblaze.c \
+  $(INCDIR)/filenames.h \
+  $(INCDIR)/bfdlink.h \
+  genlink.h \
+  elf-bfd.h \
+  $(INCDIR)/elf/common.h \
+  $(INCDIR)/elf/internal.h \
+  $(INCDIR)/elf/external.h \
+  $(INCDIR)/elf/reloc-macros.h \
+  elf32-target.h
 elfxx-mips.lo: \
   elfxx-mips.c \
   $(INCDIR)/bfdlink.h \
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index 65f94e8..0bee7d3 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -371,6 +371,7 @@ ALL_MACHINES = \
 	cpu-maxq.lo \
 	cpu-mcore.lo \
 	cpu-mep.lo \
+	cpu-microblaze.lo \
 	cpu-mips.lo \
 	cpu-mmix.lo \
 	cpu-moxie.lo \
@@ -441,6 +442,7 @@ ALL_MACHINES_CFILES = \
 	cpu-maxq.c \
 	cpu-mcore.c \
 	cpu-mep.c \
+	cpu-microblaze.c \
 	cpu-mips.c \
 	cpu-mmix.c \
 	cpu-moxie.c \
@@ -562,6 +564,7 @@ BFD32_BACKENDS = \
 	elf32-m88k.lo \
 	elf32-mcore.lo \
 	elf32-mep.lo \
+	elf32-microblaze.lo \
 	elf32-mips.lo \
 	elf32-moxie.lo \
 	elf32-msp430.lo \
@@ -745,6 +748,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-m88k.c \
 	elf32-mcore.c \
 	elf32-mep.c \
+	elf32-microblaze.c \
 	elf32-mips.c \
 	elf32-moxie.c \
 	elf32-msp430.c \
@@ -1988,6 +1992,10 @@ cpu-mep.lo: \
   cpu-mep.c \
   $(INCDIR)/filenames.h \
   $(INCDIR)/hashtab.h
+cpu-microblaze.lo: \
+  cpu-microblaze.c $\
+  $(INCDIR)/filenames.h \
+  $(INCDIR)/hashtab.h
 cpu-mips.lo: \
   cpu-mips.c \
   $(INCDIR)/filenames.h \
@@ -3445,6 +3453,17 @@ elflink.lo: \
   $(INCDIR)/objalloc.h \
   $(INCDIR)/safe-ctype.h \
   elf-bfd.h
+elf32-microblaze.lo: \
+  elf32-microblaze.c \
+  $(INCDIR)/filenames.h \
+  $(INCDIR)/bfdlink.h \
+  genlink.h \
+  elf-bfd.h \
+  $(INCDIR)/elf/common.h \
+  $(INCDIR)/elf/internal.h \
+  $(INCDIR)/elf/external.h \
+  $(INCDIR)/elf/reloc-macros.h \
+  elf32-target.h
 elfxx-mips.lo: \
   elfxx-mips.c \
   $(INCDIR)/bfdlink.h \
diff --git a/bfd/archures.c b/bfd/archures.c
index ad52d00..81d8ff6 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -422,6 +422,7 @@ DESCRIPTION
 .#define bfd_mach_r800           11 {* R800: successor with multiplication.  *}
 .  bfd_arch_lm32,      {* Lattice Mico32 *}
 .#define bfd_mach_lm32      1
+.  bfd_arch_microblaze,{* Xilinx MicroBlaze. *}
 .  bfd_arch_last
 .  };
 */
@@ -496,6 +497,7 @@ extern const bfd_arch_info_type bfd_maxq_arch;
 extern const bfd_arch_info_type bfd_mcore_arch;
 extern const bfd_arch_info_type bfd_mep_arch;
 extern const bfd_arch_info_type bfd_mips_arch;
+extern const bfd_arch_info_type bfd_microblaze_arch;
 extern const bfd_arch_info_type bfd_mmix_arch;
 extern const bfd_arch_info_type bfd_mn10200_arch;
 extern const bfd_arch_info_type bfd_mn10300_arch;
@@ -570,6 +572,7 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
     &bfd_maxq_arch,
     &bfd_mcore_arch,
     &bfd_mep_arch,
+    &bfd_microblaze_arch,
     &bfd_mips_arch,
     &bfd_mmix_arch,
     &bfd_mn10200_arch,
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index d957610..adaba63 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1405,6 +1405,13 @@ typedef struct bfd_section
      section size calculated on a previous linker relaxation pass.  */
   bfd_size_type rawsize;
 
+  /* Relaxation table. */
+  struct relax_table *relax;
+
+  /* Count of used relaxation table entries. */
+  int relax_count;
+
+
   /* If this section is going to be output, then this value is the
      offset in *bytes* into the output section of the first byte in the
      input section (byte ==> smallest addressable unit on the
@@ -1494,6 +1501,17 @@ typedef struct bfd_section
   } map_head, map_tail;
 } asection;
 
+/* Relax table contains information about instructions which can
+   be removed by relaxation -- replacing a long address with a 
+   short address.  */
+struct relax_table {
+  /* Address where bytes may be deleted. */
+  bfd_vma addr;
+  
+  /* Number of bytes to be deleted.  */
+  int size;
+};
+
 /* These sections are global, and are managed by BFD.  The application
    and target back end are not permitted to change the values in
    these sections.  New code should use the section_ptr macros rather
@@ -1629,8 +1647,8 @@ extern asection bfd_ind_section;
   /* has_tls_get_addr_call, has_gp_reloc, need_finalize_relax,     */  \
      0,                     0,            0,                           \
                                                                        \
-  /* reloc_done, vma, lma, size, rawsize                           */  \
-     0,          0,   0,   0,    0,                                    \
+  /* reloc_done, vma, lma, size, rawsize, relax, relax_count,      */  \
+     0,          0,   0,   0,    0,       0,     0,                    \
                                                                        \
   /* output_offset, output_section,              alignment_power,  */  \
      0,             (struct bfd_section *) &SEC, 0,                    \
@@ -2071,6 +2089,7 @@ enum bfd_architecture
 #define bfd_mach_r800           11 /* R800: successor with multiplication.  */
   bfd_arch_lm32,      /* Lattice Mico32 */
 #define bfd_mach_lm32      1
+  bfd_arch_microblaze,/* Xilinx MicroBlaze. */
   bfd_arch_last
   };
 
@@ -4513,6 +4532,59 @@ BFD_RELOC_MACH_O_PAIR.  */
 
 /* Mach-O generic relocations.  */
   BFD_RELOC_MACH_O_PAIR,
+
+/* This is a 32 bit reloc for the microblaze that stores the 
+low 16 bits of a value  */
+  BFD_RELOC_MICROBLAZE_32_LO,
+
+/* This is a 32 bit pc-relative reloc for the microblaze that 
+stores the low 16 bits of a value  */
+  BFD_RELOC_MICROBLAZE_32_LO_PCREL,
+
+/* This is a 32 bit reloc for the microblaze that stores a 
+value relative to the read-only small data area anchor  */
+  BFD_RELOC_MICROBLAZE_32_ROSDA,
+
+/* This is a 32 bit reloc for the microblaze that stores a 
+value relative to the read-write small data area anchor  */
+  BFD_RELOC_MICROBLAZE_32_RWSDA,
+
+/* This is a 32 bit reloc for the microblaze to handle 
+expressions of the form "Symbol Op Symbol"  */
+  BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM,
+
+/* This is a 64 bit reloc that stores the 32 bit pc relative 
+value in two words (with an imm instruction).  No relocation is 
+done here - only used for relaxing  */
+  BFD_RELOC_MICROBLAZE_64_NONE,
+
+/* This is a 64 bit reloc that stores the 32 bit pc relative 
+value in two words (with an imm instruction).  The relocation is
+PC-relative GOT offset  */
+  BFD_RELOC_MICROBLAZE_64_GOTPC,
+
+/* This is a 64 bit reloc that stores the 32 bit pc relative 
+value in two words (with an imm instruction).  The relocation is
+GOT offset  */
+  BFD_RELOC_MICROBLAZE_64_GOT,
+
+/* This is a 64 bit reloc that stores the 32 bit pc relative 
+value in two words (with an imm instruction).  The relocation is
+PC-relative offset into PLT  */
+  BFD_RELOC_MICROBLAZE_64_PLT,
+
+/* This is a 64 bit reloc that stores the 32 bit GOT relative 
+value in two words (with an imm instruction).  The relocation is
+relative offset from _GLOBAL_OFFSET_TABLE_  */
+  BFD_RELOC_MICROBLAZE_64_GOTOFF,
+
+/* This is a 32 bit reloc that stores the 32 bit GOT relative 
+value in a word.  The relocation is relative offset from  */
+  BFD_RELOC_MICROBLAZE_32_GOTOFF,
+
+/* This is used to tell the dynamic linker to copy the value out of
+the dynamic object into the runtime process image.  */
+  BFD_RELOC_MICROBLAZE_COPY,
   BFD_RELOC_UNUSED };
 typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
 reloc_howto_type *bfd_reloc_type_lookup
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 029fa34..e340251 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -91,6 +91,7 @@ m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;;
 m68*)		 targ_archs=bfd_m68k_arch ;;
 m88*)		 targ_archs=bfd_m88k_arch ;;
 maxq*)		 targ_archs=bfd_maxq_arch ;;
+microblaze*)	 targ_archs=bfd_microblaze_arch ;;
 mips*)		 targ_archs=bfd_mips_arch ;;
 or32*)		 targ_archs=bfd_or32_arch ;;
 pdp11*)		 targ_archs=bfd_pdp11_arch ;;
@@ -899,6 +900,10 @@ case "${targ}" in
     targ_selvecs=bfd_elf32_mep_little_vec
     ;;
 
+  microblaze*-*)
+    targ_defvec=bfd_elf32_microblaze_vec
+    ;;
+
   mips*-big-*)
     targ_defvec=ecoff_big_vec
     targ_selvecs=ecoff_little_vec
diff --git a/bfd/configure b/bfd/configure
index 052631f..9871cbe 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -21247,6 +21247,7 @@ do
     bfd_elf32_mcore_little_vec)	tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
     bfd_elf32_mep_vec)		tb="$tb elf32-mep.lo elf32.lo $elf" ;;
     bfd_elf32_mep_little_vec)	tb="$tb elf32-mep.lo elf32.lo $elf" ;;
+    bfd_elf32_microblaze_vec)	tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
     bfd_elf32_mn10200_vec)	tb="$tb elf-m10200.lo elf32.lo $elf" ;;
     bfd_elf32_mn10300_vec)	tb="$tb elf-m10300.lo elf32.lo $elf" ;;
     bfd_elf32_mt_vec)           tb="$tb elf32-mt.lo elf32.lo $elf" ;;
diff --git a/bfd/configure.in b/bfd/configure.in
index 4325200..7396f19 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -751,6 +751,7 @@ do
     bfd_elf32_mcore_little_vec)	tb="$tb elf32-mcore.lo elf32.lo $elf" ;;
     bfd_elf32_mep_vec)		tb="$tb elf32-mep.lo elf32.lo $elf" ;;
     bfd_elf32_mep_little_vec)	tb="$tb elf32-mep.lo elf32.lo $elf" ;;
+    bfd_elf32_microblaze_vec)	tb="$tb elf32-microblaze.lo elf32.lo $elf" ;;
     bfd_elf32_mn10200_vec)	tb="$tb elf-m10200.lo elf32.lo $elf" ;;
     bfd_elf32_mn10300_vec)	tb="$tb elf-m10300.lo elf32.lo $elf" ;;
     bfd_elf32_mt_vec)           tb="$tb elf32-mt.lo elf32.lo $elf" ;;
diff --git a/bfd/cpu-microblaze.c b/bfd/cpu-microblaze.c
new file mode 100644
index 0000000..45a4a2b
--- /dev/null
+++ b/bfd/cpu-microblaze.c
@@ -0,0 +1,40 @@
+/* BFD Xilinx MicroBlaze architecture definition
+
+   Copyright 2009 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "bfd.h"
+#include "sysdep.h"
+#include "libbfd.h"
+
+const bfd_arch_info_type bfd_microblaze_arch =
+{


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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-08-06 21:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-06 21:37 [SCM] master: * configure.ac: Add Microblaze target. * configure: Regenerate tromey

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