diff options
author | Per Bothner <per@bothner.com> | 1992-02-15 22:07:15 +0000 |
---|---|---|
committer | Per Bothner <per@bothner.com> | 1992-02-15 22:07:15 +0000 |
commit | 6ecb2b74ee6a45adfba96efff8807448f070b754 (patch) | |
tree | 03413fd8e49d3a73f717d17d0ef167f8cba9f212 /ld/m88kbcs.sc-sh | |
parent | 3340f7e5fdd11b6c544714500fca870707793fd0 (diff) | |
download | gdb-6ecb2b74ee6a45adfba96efff8807448f070b754.zip gdb-6ecb2b74ee6a45adfba96efff8807448f070b754.tar.gz gdb-6ecb2b74ee6a45adfba96efff8807448f070b754.tar.bz2 |
Major rewrite of how ld is configured. The major idea
is to use shell scripts to generate everything.
* generic.em replaces ldtemplate.
* Other *.em files replace various *.c files.
A *.em file is a shell script that generates the corresponding
ld__*.c file that implements an emulation. This is usually
a straight 'cat' of a here-document, possibly with substitutions.
* Script files (*.sc) are places by *.sc-sh scripts.
Again, these are simple shell scripts that 'cat'
here-documents, usually with some substitutions.
The output a *.sc-sh is a script file.
Diffstat (limited to 'ld/m88kbcs.sc-sh')
-rwxr-xr-x | ld/m88kbcs.sc-sh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/ld/m88kbcs.sc-sh b/ld/m88kbcs.sc-sh new file mode 100755 index 0000000..65112be --- /dev/null +++ b/ld/m88kbcs.sc-sh @@ -0,0 +1,41 @@ +cat <<EOF +TARGET(m88kbcs) +OUTPUT_FORMAT(m88kbcs) +OUTPUT_ARCH(${arch}) +ENTRY(__start) +${RELOCATING+${LIB_SEARCH_DIRS}} + +SECTIONS +{ + .text ${RELOCATING+ 0x10000 + SIZEOF_HEADERS} : + { + CREATE_OBJECT_SYMBOLS + ${RELOCATING+ __.text.start = .} + ${RELOCATING+ __.init.start = .} + ${RELOCATING+ LONG(0xf400c001)} + ${RELOCATING+ __.init.end = .} + *(.text) + ${RELOCATING+ __.tdesc_start = .} + ${RELOCATING+ *(.tdesc)} + ${RELOCATING+ __.text_end = .} + ${RELOCATING+ __.initp.start = .} + ${RELOCATING+ __.initp.end =.} + + ${RELOCATING+_etext =.} + } + .data ${RELOCATING+ SIZEOF(.text) + ADDR(.text) + 0x400000} : + { + *(.data) + ${CONSTRUCTING+CONSTRUCTORS} + *(.comment) + ${RELOCATING+_edata = .} + } + .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : + { + *(.bss) + *(COMMON) + ${RELOCATING+ _end = .} + ${RELOCATING+ __end = .} + } +} +EOF |