diff options
author | Nick Clifton <nickc@redhat.com> | 2009-04-16 15:39:48 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2009-04-16 15:39:48 +0000 |
commit | 20135e4cea8994900955e560910b2e675881fa95 (patch) | |
tree | f3e60cf7a267184a4d9ffef4f6ab0e54ceb599e9 /ld | |
parent | 335d71d67eab3d9e1cfdefc45af81fa65fbd5c8b (diff) | |
download | binutils-20135e4cea8994900955e560910b2e675881fa95.zip binutils-20135e4cea8994900955e560910b2e675881fa95.tar.gz binutils-20135e4cea8994900955e560910b2e675881fa95.tar.bz2 |
Add new binutils target: moxie
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 8 | ||||
-rw-r--r-- | ld/Makefile.am | 4 | ||||
-rw-r--r-- | ld/Makefile.in | 4 | ||||
-rw-r--r-- | ld/configure.tgt | 2 | ||||
-rw-r--r-- | ld/emulparams/elf32moxie.sh | 8 | ||||
-rw-r--r-- | ld/scripttempl/moxie.sc | 52 |
6 files changed, 78 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 39e5555..099275d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2009-04-15 Anthony Green <green@moxielogic.com> + + * configure.tgt: Add moxie support. + * Makefile.am: Add moxie files. + * Makefile.in: Rebuilt. + * emulparams/elf32moxie.sh: New file. + * scripttempl/moxie.sc: New file. + 2009-04-15 Kazu Hirata <kazu@codesourcery.com> * ldlang.c: Do not include limits.h. diff --git a/ld/Makefile.am b/ld/Makefile.am index 2d0aed9..6a4139a 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -176,6 +176,7 @@ ALL_EMULATIONS = \ eelf32elmipvxworks.o \ eelf32fr30.o \ eelf32frv.o \ + eelf32moxie.o \ eelf32i370.o \ eelf32ip2k.o \ eelf32iq2000.o \ @@ -727,6 +728,9 @@ eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \ $(srcdir)/emulparams/elf32frv.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32frvfd "$(tdir_frv)" +eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32moxie "$(tdir_moxie)" eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32mcore "$(tdir_mcore)" diff --git a/ld/Makefile.in b/ld/Makefile.in index b9a9ccd..ae084a5 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -441,6 +441,7 @@ ALL_EMULATIONS = \ eelf32elmipvxworks.o \ eelf32fr30.o \ eelf32frv.o \ + eelf32moxie.o \ eelf32i370.o \ eelf32ip2k.o \ eelf32iq2000.o \ @@ -1574,6 +1575,9 @@ eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \ $(srcdir)/emulparams/elf32frv.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32frvfd "$(tdir_frv)" +eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \ + $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32moxie "$(tdir_moxie)" eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32mcore "$(tdir_mcore)" diff --git a/ld/configure.tgt b/ld/configure.tgt index 329399f..ebe3f23 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -152,6 +152,8 @@ fr30-*-*) targ_emul=elf32fr30 frv-*-*linux*) targ_emul=elf32frvfd ;; frv-*-*) targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd" ;; +moxie-*-*) targ_emul=elf32moxie + ;; h8300-*-hms* | h8300-*-coff* | h8300-*-rtemscoff*) targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx h8300sxn" ;; h8300-*-elf* | h8300-*-rtems*) diff --git a/ld/emulparams/elf32moxie.sh b/ld/emulparams/elf32moxie.sh new file mode 100644 index 0000000..2ed2708 --- /dev/null +++ b/ld/emulparams/elf32moxie.sh @@ -0,0 +1,8 @@ +SCRIPT_NAME=elf +TEMPLATE_NAME=generic +EXTRA_EM_FILE=genelf +OUTPUT_FORMAT="elf32-moxie" +TEXT_START_ADDR=0x1000 +MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +ARCH=moxie +STACK_ADDR=0x200000 diff --git a/ld/scripttempl/moxie.sc b/ld/scripttempl/moxie.sc new file mode 100644 index 0000000..f7d788f --- /dev/null +++ b/ld/scripttempl/moxie.sc @@ -0,0 +1,52 @@ +TORS=".tors : + { + ___ctors = . ; + *(.ctors) + ___ctors_end = . ; + ___dtors = . ; + *(.dtors) + ___dtors_end = . ; + } > ram" + +cat <<EOF +OUTPUT_FORMAT("${OUTPUT_FORMAT}") +OUTPUT_ARCH(${ARCH}) + +SECTIONS +{ + .text : + { + *(.text) + .init : { KEEP (*(.init)) } =0 + .fini : { KEEP (*(.fini)) } =0 + *(.strings) + ${RELOCATING+ _etext = . ; } + } ${RELOCATING+ > ram} + ${CONSTRUCTING+${TORS}} + .data : + { + *(.data) + ${RELOCATING+ _edata = . ; } + } ${RELOCATING+ > ram} + .bss : + { + ${RELOCATING+ _bss_start = . ; } + *(.bss) + *(COMMON) + ${RELOCATING+ _end = . ; } + } ${RELOCATING+ > ram} + .stack ${RELOCATING+ 0x30000 } : + { + ${RELOCATING+ _stack = . ; } + *(.stack) + } ${RELOCATING+ > ram} + .stab 0 ${RELOCATING+(NOLOAD)} : + { + *(.stab) + } + .stabstr 0 ${RELOCATING+(NOLOAD)} : + { + *(.stabstr) + } +} +EOF |