diff options
author | Dave Brolley <brolley@redhat.com> | 2007-02-05 20:16:32 +0000 |
---|---|---|
committer | Dave Brolley <brolley@redhat.com> | 2007-02-05 20:16:32 +0000 |
commit | 19d9b7d3f82720e648f9cda6ab93a64d9d9c0fa1 (patch) | |
tree | 6a17865e1429e3e76f8c4f2bd7a374f34499c64b /ld/emulparams | |
parent | 280d71bf40a544853567763c706e03334d6fd950 (diff) | |
download | gdb-19d9b7d3f82720e648f9cda6ab93a64d9d9c0fa1.zip gdb-19d9b7d3f82720e648f9cda6ab93a64d9d9c0fa1.tar.gz gdb-19d9b7d3f82720e648f9cda6ab93a64d9d9c0fa1.tar.bz2 |
Support for Toshiba MeP.
Diffstat (limited to 'ld/emulparams')
-rwxr-xr-x | ld/emulparams/elf32mep.sh | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/ld/emulparams/elf32mep.sh b/ld/emulparams/elf32mep.sh new file mode 100755 index 0000000..886ca47 --- /dev/null +++ b/ld/emulparams/elf32mep.sh @@ -0,0 +1,55 @@ +MACHINE= +SCRIPT_NAME=mep +OUTPUT_FORMAT="elf32-mep" +TEXT_START_ADDR=0x1000 +ARCH=mep +MAXPAGESIZE=256 +ENTRY=_start +EMBEDDED=yes +TEMPLATE_NAME=elf32 +DATA_START_SYMBOLS='__data_start = . ;' +OTHER_GOT_SYMBOLS=' + . = ALIGN(4); + __sdabase = . + 0x8000; + .srodata : { *(.srodata) *(.srodata.*) *(.gnu.linkonce.srd.*) } +' +OTHER_SDATA_SECTIONS=' + PROVIDE (__sdabase = .); + __assert_tiny_size = ASSERT ((. < __sdabase) || ((. - __sdabase) <= 0x8000), + "tiny section overflow"); +' +OTHER_READONLY_SECTIONS=' + __stack = 0x001ffff0; + __stack_size = 0x100000; + __stack0 = (__stack - (0 * (__stack_size / 1)) + 15) / 16 * 16; + + .rostacktab : + { + /* Emit a table describing the location of the different stacks. + Only 1 processor in the default configuration. */ + . = ALIGN(4); + __stack_table = .; + LONG (__stack0); + } +' +OTHER_END_SYMBOLS=' + PROVIDE (__heap = _end); + PROVIDE (__heap_end = 0); +' +OTHER_TEXT_SECTIONS=' + *(.ftext) *(.ftext.*) *(.gnu.linkonce.ft.*) + . = ALIGN(8); + *(.vftext) *(.vftext.*) *(.gnu.linkonce.vf.*) + *(.frodata) *(.frodata.*) *(.gnu.linkonce.frd.*) +' +OTHER_READWRITE_SECTIONS=' + . = ALIGN(4); + __tpbase = .; + .based : { *(.based) *(.based.*) *(.gnu.linkonce.based.*) } + __assert_based_size = ASSERT ((. - __tpbase) <= 0x80, "based section overflow"); + .far : { *(.far) *(.far.*) *(.gnu.linkonce.far.*) } +' +OTHER_BSS_SECTIONS=' + __assert_near_size = ASSERT (. <= 0x1000000, "near section overflow"); + .farbss : { PROVIDE (__farbss_start = .); *(.farbss) *(.farbss.*) PROVIDE (__farbss_end = .); } +' |