summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1997-03-11 15:42:59 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1997-03-11 15:42:59 +0000
commit6335022e2062931771857bf84711dedcc32bc247 (patch)
tree827e6fa0ec49427cc4bb6a9110698669b8588666 /c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM
parentmodified _Chain_Insert_unprotected to have the form required to be used (diff)
downloadrtems-6335022e2062931771857bf84711dedcc32bc247.tar.bz2
updates from John Gwynne
Diffstat (limited to 'c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM')
-rw-r--r--c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM110
1 files changed, 110 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM
new file mode 100644
index 0000000000..e879396c8c
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM
@@ -0,0 +1,110 @@
+/* linkcmds
+ *
+ * linkcmds,v 1.1 1995/09/20 15:04:47 joel Exp
+ */
+
+OUTPUT_ARCH(m68k)
+STARTUP(except_vect_332_ROM.o)
+__DYNAMIC = 0;
+
+/*
+ * ROM:
+ * +--------------------+ <- low memory
+ * | .text |
+ * | etext |
+ * | ctor list | the ctor and dtor lists are for
+ * | dtor list | C++ support
+ * | _endtext |
+ * | temporary .data | .data is moved to RAM by crt0
+ * | |
+ * +--------------------+ <- high memory
+ *
+ *
+ * RAM:
+ * +--------------------+ <- low memory
+ * | .data | initialized data goes here
+ * | _sdata |
+ * | _edata |
+ * +--------------------+
+ * | .bss |
+ * | __bss_start | start of bss, cleared by crt0
+ * | _end | start of heap, used by sbrk()
+ * +--------------------+
+ * | heap space |
+ * | _ENDHEAP |
+ * | stack space |
+ * | __stack | top of stack
+ * +--------------------+ <- high memory
+ */
+
+MEMORY
+{
+ rom : ORIGIN = 0x00000, LENGTH = 256K
+ ram : ORIGIN = 0x80000, LENGTH = 256K
+}
+
+__end_of_ram = 0xc0000;
+_copy_data_from_rom = 1;
+
+/*
+ *
+ */
+SECTIONS
+{
+ .text :
+ {
+ CREATE_OBJECT_SYMBOLS
+ text_start = .;
+ _text_start = .;
+ *(.text)
+ etext = ALIGN(0x10);
+ _etext = .;
+ __CTOR_LIST__ = .;
+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
+ *(.ctors)
+ LONG(0)
+ __CTOR_END__ = .;
+ __DTOR_LIST__ = .;
+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
+ *(.dtors)
+ LONG(0)
+ __DTOR_END__ = .;
+ *(.lit)
+ *(.shdata)
+ _endtext = .;
+ } > rom
+ .data :
+ AT ( ADDR(.text) + SIZEOF( .text ) )
+ {
+ data_start = .;
+ _data_start = .;
+ _sdata = . ;
+ *(.data)
+ CONSTRUCTORS
+ edata = ALIGN(0x10);
+ _edata = .;
+ } > ram
+ .shbss :
+ {
+ *(.shbss)
+ } > ram
+ .bss :
+ {
+ __bss_start = ALIGN(0x8);
+ bss_start = .;
+ _bss_start = .;
+ *(.bss)
+ *(COMMON)
+ end = .;
+ _end = ALIGN(0x8);
+ __end = ALIGN(0x8);
+ } > ram
+ .stab . (NOLOAD) :
+ {
+ [ .stab ]
+ }
+ .stabstr . (NOLOAD) :
+ {
+ [ .stabstr ]
+ }
+}