From 72cfd23f2af7a0ab7fab9da7762570e18804f702 Mon Sep 17 00:00:00 2001 From: Catherine Moore Date: Mon, 1 Feb 1999 19:45:14 +0000 Subject: [PATCH] * Makefile.am (earmelf_oabi.o): New. * Makefile.in: Regenerate. * configure.tgt (arm-*-oabi): New. (thumb-*-oabi): New. * emulparams/armelf_oabi.sh: New. * emultempl/armelf_oabi.em: New. --- ld/ChangeLog | 9 ++ ld/emulparams/armelf_oabi.sh | 21 +++++ ld/emultempl/armelf_oabi.em | 168 +++++++++++++++++++++++++++++++++++ 3 files changed, 198 insertions(+) create mode 100644 ld/emulparams/armelf_oabi.sh create mode 100644 ld/emultempl/armelf_oabi.em diff --git a/ld/ChangeLog b/ld/ChangeLog index 15d70581181..28bb5e8f9b5 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,12 @@ +Mon Feb 1 11:39:46 1999 Catherine Moore + + * Makefile.am (earmelf_oabi.o): New. + * Makefile.in: Regenerate. + * configure.tgt (arm-*-oabi): New. + (thumb-*-oabi): New. + * emulparams/armelf_oabi.sh: New. + * emultempl/armelf_oabi.em: New. + 1999-01-31 17:57:31 1998 Michael Meissner * scripttempl/elfppc.sc: Add support for -fleading-underscores diff --git a/ld/emulparams/armelf_oabi.sh b/ld/emulparams/armelf_oabi.sh new file mode 100644 index 00000000000..257753ec88c --- /dev/null +++ b/ld/emulparams/armelf_oabi.sh @@ -0,0 +1,21 @@ +MACHINE= +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-littlearm-oabi" +BIG_OUTPUT_FORMAT="elf32-bigarm-oabi" +LITTLE_OUTPUT_FORMAT="elf32-littlearm-oabi" +TEXT_START_ADDR=0x8000 +TEMPLATE_NAME=armelf +OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' +OTHER_BSS_SYMBOLS='__bss_start__ = .;' +OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' + + +ARCH=arm +MACHINE= +MAXPAGESIZE=256 +ENTRY=_start +EMBEDDED=yes + +# Hmmm, there's got to be a better way. This sets the stack to the +# top of the simulator memory (2^19 bytes). +OTHER_RELOCATING_SECTIONS='.stack 0x80000 : { _stack = .; *(.stack) }' diff --git a/ld/emultempl/armelf_oabi.em b/ld/emultempl/armelf_oabi.em new file mode 100644 index 00000000000..23ba085f1ff --- /dev/null +++ b/ld/emultempl/armelf_oabi.em @@ -0,0 +1,168 @@ +# This shell script emits a C file. -*- C -*- +# It does some substitutions. +cat >e${EMULATION_NAME}.c <the_bfd, &link_info)) + { + /* xgettext:c-format */ + einfo (_("Errors encountered processing file %s"), is->filename); + } + } + } + + /* We have seen it all. Allocate it, and carry on */ + bfd_elf32_arm_allocate_interworking_sections (& link_info); +} + +static void +gld${EMULATION_NAME}_after_open () +{ + + LANG_FOR_EACH_INPUT_STATEMENT (is) + { + /* The interworking bfd must be the last one to be processed */ + if (!is->next) + bfd_elf32_arm_get_bfd_for_interworking (is->the_bfd, & link_info); + } +} + +static char * +gld${EMULATION_NAME}_get_script (isfile) + int *isfile; +EOF + +if test -n "$COMPILE_IN" +then +# Scripts compiled in. + +# sed commands to quote an ld script as a C string. +sc="-f ${srcdir}/emultempl/stringify.sed" + +cat >>e${EMULATION_NAME}.c <> e${EMULATION_NAME}.c +echo ' ; else if (link_info.relocateable == true) return' >> e${EMULATION_NAME}.c +sed $sc ldscripts/${EMULATION_NAME}.xr >> e${EMULATION_NAME}.c +echo ' ; else if (!config.text_read_only) return' >> e${EMULATION_NAME}.c +sed $sc ldscripts/${EMULATION_NAME}.xbn >> e${EMULATION_NAME}.c +echo ' ; else if (!config.magic_demand_paged) return' >> e${EMULATION_NAME}.c +sed $sc ldscripts/${EMULATION_NAME}.xn >> e${EMULATION_NAME}.c +echo ' ; else return' >> e${EMULATION_NAME}.c +sed $sc ldscripts/${EMULATION_NAME}.x >> e${EMULATION_NAME}.c +echo '; }' >> e${EMULATION_NAME}.c + +else +# Scripts read from the filesystem. + +cat >>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <