diff options
author | Nick Clifton <nickc@redhat.com> | 2008-12-23 19:10:25 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2008-12-23 19:10:25 +0000 |
commit | 84e94c9023c5d75f0ab10f9aa572003f9612b6ab (patch) | |
tree | 3751b6d7a3a336004ab82846b822b41c65e95699 /ld | |
parent | 0cd530490f8751125412c6c061640752724537ed (diff) | |
download | binutils-84e94c9023c5d75f0ab10f9aa572003f9612b6ab.zip binutils-84e94c9023c5d75f0ab10f9aa572003f9612b6ab.tar.gz binutils-84e94c9023c5d75f0ab10f9aa572003f9612b6ab.tar.bz2 |
Add LM32 port.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 25 | ||||
-rw-r--r-- | ld/Makefile.am | 9 | ||||
-rw-r--r-- | ld/Makefile.in | 9 | ||||
-rw-r--r-- | ld/NEWS | 2 | ||||
-rw-r--r-- | ld/configure.tgt | 3 | ||||
-rw-r--r-- | ld/emulparams/elf32lm32.sh | 10 | ||||
-rw-r--r-- | ld/emulparams/elf32lm32fd.sh | 16 | ||||
-rw-r--r-- | ld/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/merge.d | 2 |
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} @@ -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*-*-*" |