--- /dev/null
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+OUTPUT_ARCH(${ARCH})
+
+/* Code and data, both larger than 64k */
+
+SECTIONS
+{
+.text ${RELOCATING+ 0x10000} :
+ {
+ *(.text)
+
+ ${RELOCATING+ _etext = . ; }
+ }
+
+
+.data ${RELOCATING+ 0x20000} :
+ {
+ *(.data)
+ ${RELOCATING+ _edata = . ; }
+ }
+
+.rdata ${RELOCATING+ 0x20000} :
+ {
+ *(.rdata);
+ *(.strings)
+ ___ctors = . ;
+ *(.ctors)
+ ___ctors_end = . ;
+ ___dtors = . ;
+ *(.dtors)
+ ___dtors_end = . ;
+}
+
+.bss ${RELOCATING+ 0x40000} :
+ {
+ ${RELOCATING+ __start_bss = . ; }
+ *(.bss)
+ *(COMMON)
+ ${RELOCATING+ _end = . ; }
+ }
+
+.stack ${RELOCATING+ 0x50000} :
+ {
+ ${RELOCATING+ _stack = . ; }
+ *(.stack)
+ }
+
+ .stab . (NOLOAD) :
+ {
+ [ .stab ]
+ }
+ .stabstr . (NOLOAD) :
+ {
+ [ .stabstr ]
+ }
+}
+EOF
+
+
+
+
--- /dev/null
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+OUTPUT_ARCH(${ARCH})
+
+/* Compact model - code < 64k, data > 64k */
+
+SECTIONS
+{
+.text 0x10000 :
+ {
+ *(.text)
+ *(.strings)
+ ${RELOCATING+ _etext = . ; }
+ } ${RELOCATING+ > ram}
+
+
+.data 0x20000 :
+ {
+ *(.data)
+ ${RELOCATING+ _edata = . ; }
+ } ${RELOCATING+ > ram}
+
+.rdata 0x30000 : {
+ *(.rdata);
+ ___ctors = . ;
+ *(.ctors)
+ ___ctors_end = . ;
+ ___dtors = . ;
+ *(.dtors)
+ ___dtors_end = . ;
+} ${RELOCATING+ > ram}
+
+.bss 0x40000 :
+ {
+ ${RELOCATING+ __start_bss = . ; }
+ *(.bss)
+ *(COMMON)
+ ${RELOCATING+ _end = . ; }
+ } ${RELOCATING+ >ram}
+.stack 0x5fff0 :
+ {
+ ${RELOCATING+ _stack = . ; }
+ *(.stack)
+ } ${RELOCATING+ > topram}
+
+ .stab . (NOLOAD) :
+ {
+ [ .stab ]
+ }
+ .stabstr . (NOLOAD) :
+ {
+ [ .stabstr ]
+ }
+}
+EOF
+
+
+
+
--- /dev/null
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+OUTPUT_ARCH(${ARCH})
+
+/* Code and data, both larger than 64k */
+
+SECTIONS
+{
+.text ${RELOCATING+ 0x10000} :
+ {
+ *(.text)
+ ${RELOCATING+ _etext = . ; }
+ }
+
+
+.data ${RELOCATING+ 0x20000} :
+ {
+ *(.data)
+ ${RELOCATING+ _edata = . ; }
+ }
+
+.rdata ${RELOCATING+ . } :
+ {
+ *(.rdata);
+ *(.strings)
+ ___ctors = . ;
+ *(.ctors)
+ ___ctors_end = . ;
+ ___dtors = . ;
+ *(.dtors)
+ ___dtors_end = . ;
+ }
+
+.bss ${RELOCATING+ . } :
+ {
+ ${RELOCATING+ __start_bss = . ; }
+ *(.bss)
+ *(COMMON)
+ ${RELOCATING+ _end = . ; }
+ }
+
+.stack ${RELOCATING+ 0x2fff0} :
+ {
+ ${RELOCATING+ _stack = . ; }
+ *(.stack)
+ }
+
+ .stab . (NOLOAD) :
+ {
+ [ .stab ]
+ }
+ .stabstr . (NOLOAD) :
+ {
+ [ .stabstr ]
+ }
+}
+EOF
+
+
+
+
--- /dev/null
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+OUTPUT_ARCH(${ARCH})
+
+/* Code and data, both 64k */
+
+SECTIONS
+{
+.text ${RELOCATING+ 0x10000 } :
+ {
+ *(.text)
+ *(.rdata);
+ *(.strings)
+ ___ctors = . ;
+ *(.ctors)
+ ___ctors_end = . ;
+ ___dtors = . ;
+ *(.dtors)
+ ___dtors_end = . ;
+ ${RELOCATING+ _etext = . ; }
+ }
+
+
+.data ${RELOCATING+ 0x20000 } :
+ {
+ *(.data)
+ ${RELOCATING+ _edata = . ; }
+ }
+
+
+.bss ${RELOCATING+ .} :
+ {
+ ${RELOCATING+ __start_bss = . ; }
+ *(.bss)
+ *(COMMON)
+ ${RELOCATING+ _end = . ; }
+ }
+
+.stack ${RELOCATING+ 0x2fff0} :
+ {
+ ${RELOCATING+ _stack = . ; }
+ *(.stack)
+ }
+
+ .stab . (NOLOAD) :
+ {
+ [ .stab ]
+ }
+ .stabstr . (NOLOAD) :
+ {
+ [ .stabstr ]
+ }
+}
+EOF
+
+
+
+