aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog25
-rw-r--r--ld/Makefile.am9
-rw-r--r--ld/Makefile.in9
-rw-r--r--ld/NEWS2
-rw-r--r--ld/configure.tgt3
-rw-r--r--ld/emulparams/elf32lm32.sh10
-rw-r--r--ld/emulparams/elf32lm32fd.sh16
-rw-r--r--ld/testsuite/ChangeLog4
-rw-r--r--ld/testsuite/ld-elf/merge.d2
9 files changed, 71 insertions, 9 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 968be3d..fece723 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,12 @@
+2008-12-23 Jon Beniston <jon@beniston.com>
+
+ * Makefile.am: Add LM32 object files and dependencies.
+ * Makefile.in: Regenate.
+ * NEWS: Record that support for LM32 has been added.
+ * configure.tgt: Add LM32 targets.
+ * emulparams/elf32lm32.sh: New file.
+ * emulparams/elf32lm32fd.sh: New file.
+
2008-12-23 Tristan Gingold <gingold@adacore.com>
* Makefile.am (EXTRA_DIST): Add deffilep.c and deffilep.h
@@ -43,7 +52,7 @@
2008-11-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
- * emultempl/cr16elf.em (cr16_after_open): New function to handle
+ * emultempl/cr16elf.em (cr16_after_open): New function to handle
CR16 ELF embedded reloc creation (ld --embedded-relocs).
(check_sections): New function.
(LDEMUL_AFTER_OPEN): Define.
@@ -519,13 +528,13 @@
2008-07-09 Danny Smith <dannysmith@users.sourceforge.net>
- *pe-dll.c (autofilter_symbolprefixlist): Excude all symbols
- starting with ".".
- Exclude "_IMPORT_DESCRIPTOR_".
- (autofilter_symbolsuffixlist): Exclude "_NULL_THUNK_DATA".
- (autofilter_symbollist_generic): Don't check for ".text".
- Exclude "_NULL_IMPORT_DESCRIPTOR".
- (autofilter_symbollist_i386): Likewise.
+ *pe-dll.c (autofilter_symbolprefixlist): Excude all symbols
+ starting with ".".
+ Exclude "_IMPORT_DESCRIPTOR_".
+ (autofilter_symbolsuffixlist): Exclude "_NULL_THUNK_DATA".
+ (autofilter_symbollist_generic): Don't check for ".text".
+ Exclude "_NULL_IMPORT_DESCRIPTOR".
+ (autofilter_symbollist_i386): Likewise.
2008-07-07 Alan Modra <amodra@bigpond.net.au>
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 206d69d..3423dfc 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -180,6 +180,8 @@ ALL_EMULATIONS = \
eelf32ip2k.o \
eelf32iq2000.o \
eelf32iq10.o \
+ eelf32lm32.o \
+ eelf32lm32fd.o \
eelf32l4300.o \
eelf32lmip.o \
eelf32lppc.o \
@@ -936,6 +938,13 @@ eelf32iq2000.c: $(srcdir)/emulparams/elf32iq2000.sh \
eelf32iq10.c: $(srcdir)/emulparams/elf32iq10.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32iq10 "$(tdir_iq10)"
+eelf32lm32.c: $(srcdir)/emulparams/elf32lm32.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32lm32 "$(tdir_elf32lm32)"
+eelf32lm32fd.c: $(srcdir)/emulparams/elf32lm32fd.sh \
+ $(srcdir)/emulparams/elf32lm32.sh $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32lm32fd "$(tdir_elf32lm32fd)"
eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
$(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/ld/Makefile.in b/ld/Makefile.in
index a0f83ac..6f3ae8b 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -443,6 +443,8 @@ ALL_EMULATIONS = \
eelf32ip2k.o \
eelf32iq2000.o \
eelf32iq10.o \
+ eelf32lm32.o \
+ eelf32lm32fd.o \
eelf32l4300.o \
eelf32lmip.o \
eelf32lppc.o \
@@ -1780,6 +1782,13 @@ eelf32iq2000.c: $(srcdir)/emulparams/elf32iq2000.sh \
eelf32iq10.c: $(srcdir)/emulparams/elf32iq10.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32iq10 "$(tdir_iq10)"
+eelf32lm32.c: $(srcdir)/emulparams/elf32lm32.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32lm32 "$(tdir_elf32lm32)"
+eelf32lm32fd.c: $(srcdir)/emulparams/elf32lm32fd.sh \
+ $(srcdir)/emulparams/elf32lm32.sh $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32lm32fd "$(tdir_elf32lm32fd)"
eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
$(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff --git a/ld/NEWS b/ld/NEWS
index 6cf6838..35c9937 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,4 +1,6 @@
-*- text -*-
+* Add support for Lattice Mico32 (lm32) architecture.
+
* Add CR16 ELF --embedded-relocs (used to embedded relocations into binaries
for Embedded-PIC code) option.
diff --git a/ld/configure.tgt b/ld/configure.tgt
index f6c4f50..fe64621 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -301,6 +301,9 @@ ip2k-*-elf) targ_emul=elf32ip2k
;;
iq2000-*-elf) targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10"
;;
+lm32-*-*linux*) targ_emul=elf32lm32fd ;;
+lm32-*-*) targ_emul=elf32lm32 ; targ_extra_emuls="elf32lm32fd"
+ ;;
m32c-*-elf | m32c-*-rtems*)
targ_emul=elf32m32c
;;
diff --git a/ld/emulparams/elf32lm32.sh b/ld/emulparams/elf32lm32.sh
new file mode 100644
index 0000000..b3fcd32
--- /dev/null
+++ b/ld/emulparams/elf32lm32.sh
@@ -0,0 +1,10 @@
+ARCH=lm32
+MACHINE=
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-lm32"
+MAXPAGESIZE=0x1000
+EMBEDDED=yes
+TEMPLATE_NAME=elf32
+TEXT_START_ADDR=0x0000
+DYNAMIC_LINK=FALSE
+ALIGNMENT=4
diff --git a/ld/emulparams/elf32lm32fd.sh b/ld/emulparams/elf32lm32fd.sh
new file mode 100644
index 0000000..32a4d58
--- /dev/null
+++ b/ld/emulparams/elf32lm32fd.sh
@@ -0,0 +1,16 @@
+. ${srcdir}/emulparams/elf32lm32.sh
+unset STACK_ADDR
+OUTPUT_FORMAT="elf32-lm32fdpic"
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+EMBEDDED= # This gets us program headers mapped as part of the text segment.
+OTHER_GOT_SYMBOLS=
+OTHER_READONLY_SECTIONS="
+ .rofixup : {
+ ${RELOCATING+__ROFIXUP_LIST__ = .;}
+ *(.rofixup)
+ ${RELOCATING+__ROFIXUP_END__ = .;}
+ }
+"
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index b8f9094..df990ac 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2008-12-23 Jon Beniston <jon@beniston.com>
+
+ * ld-elf/merge.d: Indicate test fails on LM32.
+
2008-12-23 Hans-Peter Nilsson <hp@axis.com>
* lib/ld-lib.exp (run_dump_test): New option ld_after_inputfiles.
diff --git a/ld/testsuite/ld-elf/merge.d b/ld/testsuite/ld-elf/merge.d
index 4a7eefc..83cb6d6 100644
--- a/ld/testsuite/ld-elf/merge.d
+++ b/ld/testsuite/ld-elf/merge.d
@@ -3,7 +3,7 @@
#objdump: -s
#xfail: "arc-*-*" "avr-*-*" "bfin-*-*" "cris*-*-*" "crx-*-*" "d10v-*-*" "d30v-*-*"
#xfail: "dlx-*-*" "fr30-*-*" "frv-*-*" "hppa*-*-*" "h8300-*-*" "score-*-*"
-#xfail: "i370-*-*" "i860-*-*" "i960-*-*" "ip2k-*-*" "iq2000-*-*"
+#xfail: "i370-*-*" "i860-*-*" "i960-*-*" "ip2k-*-*" "iq2000-*-*" "lm32-*-*"
#xfail: "mcore-*-*" "mn102*-*-*" "mips*-*-*" "ms1-*-*" "msp430-*-*"
#xfail: "or32-*-*" "pj-*-*" "sparc*-*-*" "vax-*-*" "xstormy16-*-*" "xtensa*-*-*"