68 cfgline0(
"ZP: start = $0096, size = $007E, type = rw, define = yes;");
69 cfgline0(
"HEADER: start = $0000, size = $0006, file = %O;");
70 cfgline1(
"MAIN: start = %%S, size = $%4.4x, file = %%O;",
size);
71 cfgline0(
"TRAILER: start = $0000, size = $0006, file = %O;");
76 cfgline3(
"RAM%3.3x: file = \"\", start = $%4.4x, size = $%4.4x;", actual->
id, (
unsigned short)actual->
start, (
unsigned short)(actual->
end - actual->
start) );
78 actual = actual->
next;
86 cfgline0(
" label = __CONSTRUCTOR_TABLE__,");
87 cfgline0(
" count = __CONSTRUCTOR_COUNT__;");
88 cfgline0(
"CONDES: segment = RODATA,");
90 cfgline0(
" label = __DESTRUCTOR_TABLE__,");
91 cfgline0(
" count = __DESTRUCTOR_COUNT__;");
92 cfgline0(
"CONDES: type = interruptor,");
94 cfgline0(
" label = __INTERRUPTOR_TABLE__,");
95 cfgline0(
"count = __INTERRUPTOR_COUNT__;");
99 cfgline0(
"EXEHDR: load = HEADER, type = ro;");
100 cfgline0(
"STARTUP: load = MAIN, type = ro, define = yes, optional = yes;");
101 cfgline0(
"LOWCODE: load = MAIN, type = ro, define = yes, optional = yes;");
102 cfgline0(
"INIT: load = MAIN, type = ro, optional = yes;");
103 cfgline0(
"CODE: load = MAIN, type = ro, define = yes;");
104 cfgline0(
"RODATA: load = MAIN, type = ro;");
105 cfgline0(
"DATA: load = MAIN, type = rw;");
106 cfgline0(
"ZPSAVE: load = MAIN, type = bss, define = yes, optional = yes;");
107 cfgline0(
"BSS: load = MAIN, type = bss, define = yes;");
113 cfgline3(
"MA%3.3x: load = RAM%3.3x, type = overwrite, optional = yes, start = $%4.4x;", actual->
id, actual->
id, actual->
start);
115 cfgline2(
"MA%3.3x: load = MAIN, type = overwrite, optional = yes, start = $%4.4x;", actual->
id, actual->
start);
117 actual = actual->
next;
119 cfgline0(
"HEAP: load = MAIN, type = bss, optional = yes; # must sit just below stack");
120 cfgline0(
"ZEROPAGE: load = ZP, type = zp;");
121 cfgline0(
"AUTOSTRT: load = TRAILER, type = ro;");
void linker_setup(Environment *_environment)
Emit tail of linker's configuration file lines.
void linker_cleanup(Environment *_environment)
Emit tail of linker's configuration file lines.
struct _MemoryArea * next
#define CRITICAL_INVALID_PROGRAM_START(a)
struct _Environment Environment
Structure of compilation environment.
struct _MemoryArea MemoryArea
#define cfgline2(s, a, b)
#define cfgline3(s, a, b, c)