public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: jkratoch@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  archer-jankratochvil-type-refcount: Merge commit 'origin/master' into archer-jankratochvil-type-refcount
Date: Sun, 28 Dec 2008 15:35:00 -0000	[thread overview]
Message-ID: <20081228153529.1880.qmail@sourceware.org> (raw)

The branch, archer-jankratochvil-type-refcount has been updated
       via  9a83d7cb53d2c6913e1bf156e60ac46d611ef423 (commit)
       via  4598bfbbd66f2bbd11c1d95e7caf3f7a7a1ed432 (commit)
       via  b242b90839d4e79e53317b746414dddf50e2169f (commit)
       via  563227ba14831f6468d71abf0ca50ed7174e0327 (commit)
       via  e793c2a84c2111d3c7fb51a8f04a76eac8ee3758 (commit)
       via  4941be4d1396562382640da4a2e8dd2ba718b317 (commit)
       via  286970c6bd53c6a5a252282e334d2469aa20dba7 (commit)
       via  49eb3a97ce331c38c1133a965df6cfdbbd4c49c0 (commit)
       via  8217d8b8fedfa6445fbfff732b65bacf017ac0db (commit)
       via  1ea30b1c3e6a1b2a9f038471203e9e043ec9f22a (commit)
       via  0c374d82d1079c91a6d9d8626eee65067e12d69b (commit)
       via  5ec7c2090a73e8a488afd418c7ac25a7f112e773 (commit)
       via  4912758dc497fcc09e2ce3d04d8eb34fc7f903bd (commit)
       via  15d23d26929391714006d3e4e82e66982d4c253f (commit)
       via  0d1845ec33cf76021a56ae85c75337b6b294ade7 (commit)
       via  2baaecceed1201d82a1919a9a6cc2f094b44ed6b (commit)
       via  d0aad6615cd46494a6207650ced04e2f6c8e4df4 (commit)
       via  3adb16ca001caec36ca9a226eb66be4a1676da3e (commit)
       via  91148184de08f58587c3b566ddb3a717914bcd99 (commit)
       via  93cb045b7c85caa6fe372df5ada9dbb3ecbf4bcb (commit)
       via  506746b25e05bb7397ca7739abd332b058a1df92 (commit)
       via  1c34cff5284df4f439e045b457c8114ebe0b0ede (commit)
       via  d8e503dc80e0427b3e5d688984d27587493ebaa6 (commit)
       via  74b8003e546928852c25de825a46353ba35cbd91 (commit)
       via  b82726d591ea1d9d68e8f48d108ab646eebc09d3 (commit)
       via  396dc5343b8a584da7d4a381df9dfffc84a18949 (commit)
       via  d01dd7a822a487c73576e740c491065d9e5d39da (commit)
       via  4f3c18d1d8d13a93071126c0d0017852d3ed6a00 (commit)
       via  75d44a52d91ea5a96b4de336b3918abd8797d827 (commit)
       via  21db5bdb710737d641c0c2fc7fd54feb3cb9cc9f (commit)
      from  d5cfcbafc9b74ab21f215585aab411c6b43f5620 (commit)

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

- Log -----------------------------------------------------------------
commit 9a83d7cb53d2c6913e1bf156e60ac46d611ef423
Merge: d5cfcbafc9b74ab21f215585aab411c6b43f5620 4598bfbbd66f2bbd11c1d95e7caf3f7a7a1ed432
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Dec 28 15:22:30 2008 +0100

    Merge commit 'origin/master' into archer-jankratochvil-type-refcount

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

Summary of changes:
 bfd/ChangeLog                       |   97 ++-
 bfd/Makefile.am                     |    9 +
 bfd/Makefile.in                     |    9 +
 bfd/archures.c                      |    4 +
 bfd/bfd-in2.h                       |   20 +-
 bfd/coffcode.h                      |    2 +
 bfd/config.bfd                      |   11 +
 bfd/configure                       |    2 +
 bfd/configure.in                    |    2 +
 bfd/cpu-lm32.c                      |   41 +
 bfd/elf-bfd.h                       |    5 -
 bfd/elf.c                           |    7 +-
 bfd/elf32-arm.c                     |   12 +-
 bfd/elf32-i386.c                    |   51 +-
 bfd/elf32-lm32.c                    | 2909 +++++++++++++++++++++++++++++++++++
 bfd/elf32-m68k.c                    |   32 +-
 bfd/elf64-x86-64.c                  |   53 +-
 bfd/elfcode.h                       |    3 -
 bfd/elflink.c                       |   74 -
 bfd/elfxx-ia64.c                    |   14 +-
 bfd/libbfd.h                        |    9 +
 bfd/mach-o.c                        |  116 ++-
 bfd/mach-o.h                        |   15 +-
 bfd/reloc.c                         |   21 +
 bfd/syms.c                          |   11 +-
 bfd/targets.c                       |    3 +
 bfd/version.h                       |    2 +-
 gdb/ChangeLog                       |   25 +
 gdb/breakpoint.c                    |   16 +-
 gdb/f-valprint.c                    |    4 +-
 gdb/printcmd.c                      |   21 +-
 gdb/python/python-internal.h        |    1 +
 gdb/python/python-value.c           |    4 -
 gdb/stack.c                         |   13 +-
 gdb/testsuite/ChangeLog             |    4 +
 gdb/testsuite/gdb.cp/punctuator.exp |   24 +-
 gdb/value.h                         |    8 +-
 gdb/version.in                      |    2 +-
 include/ChangeLog                   |    4 +
 include/coff/ChangeLog              |    4 +
 include/coff/ti.h                   |    9 +
 include/dis-asm.h                   |    1 +
 include/elf/ChangeLog               |    8 +
 include/elf/common.h                |    1 -
 include/elf/lm32.h                  |   56 +
 opcodes/ChangeLog                   |   45 +
 opcodes/Makefile.am                 |   44 +
 opcodes/Makefile.in                 |   52 +-
 opcodes/cgen-asm.in                 |    2 +-
 opcodes/cgen-dis.in                 |    4 +-
 opcodes/cgen-ibld.in                |    4 +-
 opcodes/configure                   |    1 +
 opcodes/configure.in                |    1 +
 opcodes/disassemble.c               |    6 +
 opcodes/i386-dis.c                  |   20 +-
 opcodes/i386-opc.h                  |    3 +-
 opcodes/i386-opc.tbl                |   28 +-
 opcodes/i386-tbl.h                  |  204 ++-
 opcodes/lm32-asm.c                  |  747 +++++++++
 opcodes/lm32-desc.c                 | 1183 ++++++++++++++
 opcodes/lm32-desc.h                 |  246 +++
 opcodes/{cgen-dis.in => lm32-dis.c} |  128 ++-
 opcodes/lm32-ibld.c                 | 1061 +++++++++++++
 opcodes/lm32-opc.c                  |  876 +++++++++++
 opcodes/lm32-opc.h                  |  105 ++
 opcodes/lm32-opinst.c               |  473 ++++++
 opcodes/po/ga.po                    |  252 ++--
 sim/frv/ChangeLog                   |    5 +
 sim/frv/arch.c                      |   23 +-
 sim/frv/arch.h                      |   23 +-
 sim/frv/cpu.c                       |   23 +-
 sim/frv/cpu.h                       |   23 +-
 sim/frv/cpuall.h                    |   23 +-
 sim/frv/decode.c                    |   23 +-
 sim/frv/decode.h                    |   23 +-
 sim/frv/model.c                     |   23 +-
 sim/frv/sem.c                       |  123 +-
 77 files changed, 8891 insertions(+), 645 deletions(-)
 create mode 100644 bfd/cpu-lm32.c
 create mode 100644 bfd/elf32-lm32.c
 create mode 100644 include/elf/lm32.h
 create mode 100644 opcodes/lm32-asm.c
 create mode 100644 opcodes/lm32-desc.c
 create mode 100644 opcodes/lm32-desc.h
 copy opcodes/{cgen-dis.in => lm32-dis.c} (76%)
 create mode 100644 opcodes/lm32-ibld.c
 create mode 100644 opcodes/lm32-opc.c
 create mode 100644 opcodes/lm32-opc.h
 create mode 100644 opcodes/lm32-opinst.c

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6cd350f..b989a72 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,88 @@
+2008-12-23  Jon Beniston <jon@beniston.com>
+
+	* Makefile.am: Add LM32 object files and dependencies.
+	* Makefile.in: Regenerate.
+	* archures.c: Add LM32 architechiture info.
+	* targets.c: Likewise.
+	* reloc.c: Likewise.
+	* bfd-in2.h: Regenerate.
+	* config.bfd: Add LM32 targets.
+	* configure.in: Likewise.
+	* configure: Regenerate.
+	* cpu-lm32.c: New file.
+	* elf32-lm32.c: New file.
+
+2008-12-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/7036
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Assume linker will
+	always insert 32byte between the .plt and .text sections after
+	the the first relaxation pass.
+
+2008-12-23  Nick Clifton  <nickc@redhat.com>
+
+	PR 7093
+	* elf32-arm.c (bfd_elf32_arm_init_maps): Only process ARM ELF
+	object files.
+
+2008-12-23  Tristan Gingold  <gingold@adacore.com>
+
+	* mach-o.c (bfd_mach_o_make_bfd_section): Use the standard ELF name
+	.eh_frame for __TEXT.__eh_frame so that it is recognized by gdb.
+	Use shorter sections name for well known sections.
+	(bfd_mach_o_scan_read_dylinker): Only put dylinker name in the
+	section content.
+	(bfd_mach_o_scan_read_segment): Use shorter sections name for
+	well known segments.
+	(bfd_mach_o_scan_read_command): Ignore some new commands.
+	(bfd_mach_o_openr_next_archived_file): Use more descriptive names
+	for members filename.
+	(bfd_mach_o_fat_extract): New function to easily extract members
+	of a fat binary.
+	* mach-o.h (bfd_mach_o_load_command_type): Add new constants.
+	(bfd_mach_o_dylinker_command): Fix comment and reindent.
+	(bfd_mach_o_fat_extract): New prototype.
+
+2008-12-23  Johan Olmutz Nielsen  <jnielsen@ddci.com>
+
+	* coffcode.h (coff_write_object_contents): Always initialise
+	section.s_page.
+
+2008-12-23  Andreas Schwab  <schwab@suse.de>
+
+	* elf32-m68k.c (elf_m68k_discard_copies): Use SYMBOL_CALLS_LOCAL.
+	(elf_m68k_relocate_section): Use SYMBOL_CALLS_LOCAL and
+	SYMBOL_REFERENCES_LOCAL.
+	(elf_m68k_relocate_section): Likewise.
+
+2008-12-23  Nick Clifton  <nickc@redhat.com>
+
+	* elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs
+	field.
+	(_bfd_elf_make_ifunc_reloc_section): Remove prototype.
+	* elf.c (swap_out_syms): Remove STT_IFUNC support.
+	(elf_find_function): Likewise.
+	* elf32-arm.c (arm_elf_find_function): Likewise.
+	(elf32_arm_adjust_dynamic_symbol): Likewise.
+	(elf32_arm_swap_symbol_in): Likewise.
+	(elf32_arm_is_function_type): Likewise.
+	* elf32-i386.c (is_indirect_symbol): Delete.
+	(elf_i386_check_relocs): Remove STT_IFUNC support.
+	(allocate_dynrelocs): Likewise.
+	(elf_i386_relocate_section): Likewise.
+	* elf64-x86-64.c (is_indirect_symbol): Delete.
+	(elf64_x86_64_check_relocs): Remove STT_IFUNC support.
+	(allocate_dynrelocs): Likewise.
+	(elf64_x86_64_relocate_section): Likewise.
+	* elfcode.h (elf_slurp_symbol_table): Likewise.
+	* elflink.c (_bfd_elf_adjust_symbol): Likewise.
+	(get_ifunc_reloc_section_name): Delete.
+	(_bfd_elf_make_ifunc_reloc_section): Delete.
+	* syms.c (BSF_INDIRECT_FUNCTION): Delete.
+	(bfd_print_symbol_vandf): Remove STT_IFUNC support.
+	(bfd_decode_symclass): Likewise.
+	* bfd-in2.h: Regenerate.
+
 2008-12-20  Hans-Peter Nilsson  <hp@axis.com>
 
 	* elf32-cris.c 	(cris_elf_howto_table): Add entry for R_CRIS_32_IE.
@@ -98,7 +183,7 @@
 	* cpu-avr.c (compatible): Makes avr-6 compatible only with itself.
 
 2008-12-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
-	
+
 	* elf64-s390.c (elf_s390_check_relocs): Initialize
 	htab->elf.dynobj if necessary.
 
@@ -295,7 +380,7 @@
 	relocs.  For overflow, emit additional messages for the new 16-bit
 	relocs as well as R_CRIS_16_GOTPLT and R_CRIS_16_GOT.
 	(elf_cris_finish_dynamic_symbol): Use elf_cris_finish_dynamic_symbol
-	instead of plain casts.  Check new hash entry member 
+	instead of plain casts.  Check new hash entry member
 	reg_got_refcount when checking whether to emit a GOT entry.
 	(elf_cris_finish_dynamic_sections): Update head comment to warn
 	about emitting relocs here.  Use a temporary variable when testing
@@ -348,7 +433,7 @@
 	Leave addend zero on LD DTPMOD dynamic reloc.
 
 2008-11-19  Bob Wilson  <bob.wilson@acm.org>
-	
+
 	* xtensa-modules.c (sysregs): Add MMID, VECBASE, EPC5, EPC6, EPC7,
 	EXCSAVE5, EXCSAVE6, EXCSAVE7, EPS5, EPS6, EPS7, CPENABLE,
 	SCOMPARE1, and THREADPTR registers.
@@ -411,7 +496,7 @@
 	(Slot_inst16b_get_field_fns, Slot_inst16b_set_field_fns): Likewise.
 	(xtensa_modules): Update number of fields, operands, iclasses and
 	opcodes.
-	
+
 2008-11-19  Nix  <nix@esperi.org.uk>
 
 	* elf.c (swap_out_syms) [USE_STT_COMMON]: Fix syntax error.
@@ -429,7 +514,7 @@
 	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge
 	half-precision attributes.
 	(elf32_arm_copy_one_eabi_other_attribute): New.
-	(elf32_arm_copy_other_attribute_list): New. 
+	(elf32_arm_copy_other_attribute_list): New.
 
 2008-11-18  Nick Clifton  <nickc@redhat.com>
 
@@ -464,7 +549,7 @@
 
 2008-11-14  Tristan Gingold  <gingold@adacore.com>
 
-	* configure.com: Handle bfd_default_target_size, BFD_HOST_LONG_LONG, 
+	* configure.com: Handle bfd_default_target_size, BFD_HOST_LONG_LONG,
 	BFD_HOST_64BIT_LONG_LONG, BFD_HOSTPTR_T, bfd_file_ptr.
 	Generate bfdver.h.
 	* vms-hdr.c (_bfd_vms_write_hdr): Use strdup/free instead of alloca.
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 8ddf3cc..4eac4a0 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -83,6 +83,7 @@ ALL_MACHINES = \
 	cpu-i960.lo \
 	cpu-ip2k.lo \
 	cpu-iq2000.lo \
+	cpu-lm32.lo \
 	cpu-m32c.lo \
 	cpu-m32r.lo \
 	cpu-m68hc11.lo \
@@ -149,6 +150,7 @@ ALL_MACHINES_CFILES = \
 	cpu-i960.c \
 	cpu-ip2k.c \
 	cpu-iq2000.c \
+	cpu-lm32.c \
 	cpu-m32c.c \
 	cpu-m32r.c \
 	cpu-m68hc11.c \
@@ -264,6 +266,7 @@ BFD32_BACKENDS = \
 	elf32-i960.lo \
 	elf32-ip2k.lo \
 	elf32-iq2000.lo \
+	elf32-lm32.lo \
 	elf32-m32c.lo \
 	elf32-m32r.lo \
 	elf32-m68hc11.lo \
@@ -445,6 +448,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-i960.c \
 	elf32-ip2k.c \
 	elf32-iq2000.c \
+	elf32-lm32.c \
 	elf32-m32c.c \
 	elf32-m32r.c \
 	elf32-m68k.c \
@@ -1093,6 +1097,7 @@ cpu-i860.lo: cpu-i860.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-i960.lo: cpu-i960.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-ip2k.lo: cpu-ip2k.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-iq2000.lo: cpu-iq2000.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
+cpu-lm32.lo: cpu-lm32.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-m32c.lo: cpu-m32c.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-m32r.lo: cpu-m32r.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-m68hc11.lo: cpu-m68hc11.c $(INCDIR)/filenames.h \
@@ -1426,6 +1431,10 @@ elf32-m32c.lo: elf32-m32c.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.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 \
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index 9d86902..fc370b0 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -348,6 +348,7 @@ ALL_MACHINES = \
 	cpu-i960.lo \
 	cpu-ip2k.lo \
 	cpu-iq2000.lo \
+	cpu-lm32.lo \
 	cpu-m32c.lo \
 	cpu-m32r.lo \
 	cpu-m68hc11.lo \
@@ -414,6 +415,7 @@ ALL_MACHINES_CFILES = \
 	cpu-i960.c \
 	cpu-ip2k.c \
 	cpu-iq2000.c \
+	cpu-lm32.c \
 	cpu-m32c.c \
 	cpu-m32r.c \
 	cpu-m68hc11.c \
@@ -530,6 +532,7 @@ BFD32_BACKENDS = \
 	elf32-i960.lo \
 	elf32-ip2k.lo \
 	elf32-iq2000.lo \
+	elf32-lm32.lo \
 	elf32-m32c.lo \
 	elf32-m32r.lo \
 	elf32-m68hc11.lo \
@@ -711,6 +714,7 @@ BFD32_BACKENDS_CFILES = \
 	elf32-i960.c \
 	elf32-ip2k.c \
 	elf32-iq2000.c \
+	elf32-lm32.c \
 	elf32-m32c.c \
 	elf32-m32r.c \
 	elf32-m68k.c \
@@ -1689,6 +1693,7 @@ cpu-i860.lo: cpu-i860.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-i960.lo: cpu-i960.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-ip2k.lo: cpu-ip2k.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-iq2000.lo: cpu-iq2000.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
+cpu-lm32.lo: cpu-lm32.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-m32c.lo: cpu-m32c.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-m32r.lo: cpu-m32r.c $(INCDIR)/filenames.h $(INCDIR)/hashtab.h
 cpu-m68hc11.lo: cpu-m68hc11.c $(INCDIR)/filenames.h \
@@ -2017,6 +2022,10 @@ 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 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-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 \
diff --git a/bfd/archures.c b/bfd/archures.c
index 1156e09..c76e16e 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -409,6 +409,8 @@ DESCRIPTION
 .#define bfd_mach_z80            3 {* With ixl, ixh, iyl, and iyh.  *}
 .#define bfd_mach_z80full        7 {* All undocumented instructions.  *}
 .#define bfd_mach_r800           11 {* R800: successor with multiplication.  *}
+.  bfd_arch_lm32,      {* Lattice Mico32 *}
+.#define bfd_mach_lm32      1
 .  bfd_arch_last
 .  };
 */
@@ -471,6 +473,7 @@ extern const bfd_arch_info_type bfd_i960_arch;
 extern const bfd_arch_info_type bfd_ia64_arch;
 extern const bfd_arch_info_type bfd_ip2k_arch;
 extern const bfd_arch_info_type bfd_iq2000_arch;
+extern const bfd_arch_info_type bfd_lm32_arch;
 extern const bfd_arch_info_type bfd_m32c_arch;
 extern const bfd_arch_info_type bfd_m32r_arch;
 extern const bfd_arch_info_type bfd_m68hc11_arch;
@@ -542,6 +545,7 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
     &bfd_ia64_arch,
     &bfd_ip2k_arch,
     &bfd_iq2000_arch,
+    &bfd_lm32_arch,
     &bfd_m32c_arch,
     &bfd_m32r_arch,
     &bfd_m68hc11_arch,
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 37c24b7..779f03a 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2035,6 +2035,8 @@ enum bfd_architecture
 #define bfd_mach_z80            3 /* With ixl, ixh, iyl, and iyh.  */
 #define bfd_mach_z80full        7 /* All undocumented instructions.  */
 #define bfd_mach_r800           11 /* R800: successor with multiplication.  */
+  bfd_arch_lm32,      /* Lattice Mico32 */
+#define bfd_mach_lm32      1
   bfd_arch_last
   };
 
@@ -4412,6 +4414,17 @@ BFD_RELOC_XTENSA_ASM_EXPAND.  */
 
 /* 4 bit value.  */
   BFD_RELOC_Z8K_IMM4L,
+
+/* Lattice Mico32 relocations.  */
+  BFD_RELOC_LM32_CALL,
+  BFD_RELOC_LM32_BRANCH,
+  BFD_RELOC_LM32_16_GOT,
+  BFD_RELOC_LM32_GOTOFF_HI16,
+  BFD_RELOC_LM32_GOTOFF_LO16,
+  BFD_RELOC_LM32_COPY,
+  BFD_RELOC_LM32_GLOB_DAT,
+  BFD_RELOC_LM32_JMP_SLOT,
+  BFD_RELOC_LM32_RELATIVE,
   BFD_RELOC_UNUSED };
 typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
 reloc_howto_type *bfd_reloc_type_lookup
@@ -4472,13 +4485,6 @@ typedef struct bfd_symbol
      perhaps others someday.  */
 #define BSF_FUNCTION           (1 << 3)
 
-  /* The symbol is an indirect code object.  Unrelated to BSF_INDIRECT.
-     Relocations against a symbol with this flag have to evaluated at
-     run-time, where the function pointed to by this symbol is invoked
-     in order to determine the value to be used in the relocation.
-     BSF_FUNCTION must also be set for symbols with this flag.  */
-#define BSF_INDIRECT_FUNCTION  (1 << 4)
- 
   /* Used by the linker.  */
 #define BSF_KEEP               (1 << 5)
 #define BSF_KEEP_G             (1 << 6)
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 3b98c5d..12d2ad5 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -3528,6 +3528,8 @@ coff_write_object_contents (bfd * abfd)
       section.s_size =  current->size;
 #ifdef coff_get_section_load_page
       section.s_page = coff_get_section_load_page (current);
+#else
+      section.s_page = 0;
 #endif
 
 #ifdef COFF_WITH_PE
diff --git a/bfd/config.bfd b/bfd/config.bfd
index da7271b..452f25d 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -85,6 +85,7 @@ fido*)		 targ_archs=bfd_m68k_arch ;;
 hppa*)		 targ_archs=bfd_hppa_arch ;;
 i[3-7]86)	 targ_archs=bfd_i386_arch ;;
 i370)		 targ_archs=bfd_i370_arch ;;
+lm32)	         targ_archs=bfd_lm32_arch ;;
 m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch" ;;
 m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;;
 m68*)		 targ_archs=bfd_m68k_arch ;;
@@ -727,6 +728,16 @@ case "${targ}" in
     targ_defvec=bfd_elf32_iq2000_vec
     ;;
 
+  lm32-*-elf)
+    targ_defvec=bfd_elf32_lm32_vec
+    targ_selvecs=bfd_elf32_lm32fdpic_vec
+    ;;
+    
+  lm32-*-*linux*)
+    targ_defvec=bfd_elf32_lm32fdpic_vec
+    targ_selvecs=bfd_elf32_lm32_vec
+    ;;
+    
   m32c-*-elf | m32c-*-rtems*)
     targ_defvec=bfd_elf32_m32c_vec
     ;;
diff --git a/bfd/configure b/bfd/configure
index 0a1ce6c..a3ca40f 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -20752,6 +20752,8 @@ do
     bfd_elf32_ia64_hpux_big_vec) tb="$tb elf32-ia64.lo elf32.lo $elf";;
     bfd_elf32_ip2k_vec)		tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
     bfd_elf32_iq2000_vec)       tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
+    bfd_elf32_lm32_vec)         tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
+    bfd_elf32_lm32fdpic_vec)         tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
     bfd_elf32_little_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;;
     bfd_elf32_littlearc_vec)	tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     bfd_elf32_littlearm_symbian_vec)
diff --git a/bfd/configure.in b/bfd/configure.in
index 47ef10c..d75e15a 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -689,6 +689,8 @@ do
     bfd_elf32_ia64_hpux_big_vec) tb="$tb elf32-ia64.lo elf32.lo $elf";;
     bfd_elf32_ip2k_vec)		tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
     bfd_elf32_iq2000_vec)       tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
+    bfd_elf32_lm32_vec)         tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
+    bfd_elf32_lm32fdpic_vec)         tb="$tb elf32-lm32.lo elf32.lo $elf" ;;
     bfd_elf32_little_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;;
     bfd_elf32_littlearc_vec)	tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     bfd_elf32_littlearm_symbian_vec)
diff --git a/bfd/cpu-lm32.c b/bfd/cpu-lm32.c
new file mode 100644
index 0000000..227612f
--- /dev/null
+++ b/bfd/cpu-lm32.c
@@ -0,0 +1,41 @@
+/* BFD support for the Lattice Mico32 architecture.
+   Copyright 2008 Free Software Foundation, Inc.
+   Contributed by Jon Beniston <jon@beniston.com>
+
+   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_lm32_arch = 
+{
+    32,                           /* Bits in word.  */
+    32,                           /* Bits in address.  */
+    8,                            /* Bits in byte.  */
+    bfd_arch_lm32,                /* Enum bfd_architecture.  */ 
+    bfd_mach_lm32,                /* Machine number.  */
+    "lm32",                       /* Architecture name.  */
+    "lm32",                       /* Printable name.  */
+    4,                            /* Alignment.  */
+    TRUE,                         /* Is this the default machine for the target.  */
+    bfd_default_compatible,       /* Function callback to test if two files have compatible machines.  */
+    bfd_default_scan,
+    NULL                          /* Next.  */
+};
+
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index effa344..5418e7f 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -1287,9 +1287,6 @@ struct bfd_elf_section_data
   /* A pointer to the bfd section used for dynamic relocs.  */
   asection *sreloc;
 
-  /* A pointer to the bfd section used for dynamic relocs against ifunc symbols.  */
-  asection *indirect_relocs;
-
   union {
     /* Group name, if this section is a member of a group.  */
     const char *name;
@@ -1771,8 +1768,6 @@ extern asection * _bfd_elf_get_dynamic_reloc_section
   (bfd *, asection *, bfd_boolean);
 extern asection * _bfd_elf_make_dynamic_reloc_section
   (asection *, bfd *, unsigned int, bfd *, bfd_boolean);
-extern asection * _bfd_elf_make_ifunc_reloc_section
-  (bfd *, asection *, bfd *, unsigned int);
 extern long _bfd_elf_get_dynamic_reloc_upper_bound
   (bfd *);
 extern long _bfd_elf_canonicalize_dynamic_reloc
diff --git a/bfd/elf.c b/bfd/elf.c
index 7597d01..70ed765 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -6427,8 +6427,6 @@ Unable to find equivalent output section for symbol '%s' from section '%s'"),
 
       if ((flags & BSF_THREAD_LOCAL) != 0)
 	type = STT_TLS;
-      else if ((flags & BSF_INDIRECT_FUNCTION) != 0)
-	type = STT_IFUNC;
       else if ((flags & BSF_FUNCTION) != 0)
 	type = STT_FUNC;
       else if ((flags & BSF_OBJECT) != 0)
@@ -7122,7 +7120,6 @@ elf_find_function (bfd *abfd ATTRIBUTE_UNUSED,
 	  continue;
 	case STT_NOTYPE:
 	case STT_FUNC:
-	case STT_IFUNC:
 	  if (bfd_get_section (&q->symbol) == section
 	      && q->symbol.value >= low_func
 	      && q->symbol.value <= offset)
@@ -8941,10 +8938,10 @@ _bfd_elf_set_osabi (bfd * abfd,
 
 /* Return TRUE for ELF symbol types that represent functions.
    This is the default version of this function, which is sufficient for
-   most targets.  It returns true if TYPE is STT_FUNC or STT_IFUNC.  */
+   most targets.  It returns true if TYPE is STT_FUNC.  */
 
 bfd_boolean
 _bfd_elf_is_function_type (unsigned int type)
 {


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


             reply	other threads:[~2008-12-28 15:35 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-28 15:35 jkratoch [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-06-12 22:31 jkratoch
2009-06-09 21:46 jkratoch
2009-04-19 17:07 jkratoch
2009-03-27 13:26 jkratoch
2009-03-27  0:35 jkratoch
2009-03-20 17:08 jkratoch
2009-03-15 14:37 jkratoch
2009-03-12 20:10 jkratoch
2009-02-23 14:09 jkratoch
2009-02-21  0:31 jkratoch
2009-02-09 14:35 jkratoch
2009-01-27 14:39 jkratoch
2009-01-15 12:13 jkratoch
2009-01-10 23:26 jkratoch
2009-01-07 23:23 jkratoch
2009-01-06 16:46 jkratoch
2008-12-28 15:46 jkratoch
2008-12-22 18:33 jkratoch

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=20081228153529.1880.qmail@sourceware.org \
    --to=jkratoch@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).