1 # ld65 Linker-configuration for LUnix, Next Generation.
4 __HEAPSIZE__: value = $2000, weak = yes; # 8k heap [temporary, until LUnix malloc() exists]
5 __STACKSIZE__: value = $0400, weak = yes; # 1k stack (do typical LUnix apps. need 2k?)
8 ZP: start = $0080, size = $0040;
9 RAM: start = %S, size = $7600 - __STACKSIZE__;
12 ZEROPAGE: load = ZP, type = zp, define = yes; # Pseudo-registers
13 STARTUP: load = RAM, type = ro; # First initialization code
14 LOWCODE: load = RAM, type = ro, optional = yes; # Legacy from other platforms
15 INIT: load = RAM, type = ro, define = yes, optional = yes; # Library initialization code
16 CODE: load = RAM, type = ro; # Program
17 RODATA: load = RAM, type = ro; # Literals, constants
18 DATA: load = RAM, type = rw; # Initialized variables
19 BSS: load = RAM, type = bss, define = yes; # Uninitialized variables
22 CONDES: segment = INIT,
24 label = __CONSTRUCTOR_TABLE__,
25 count = __CONSTRUCTOR_COUNT__;
26 CONDES: segment = RODATA,
28 label = __DESTRUCTOR_TABLE__,
29 count = __DESTRUCTOR_COUNT__;
30 CONDES: segment = RODATA,
32 label = __INTERRUPTOR_TABLE__,
33 count = __INTERRUPTOR_COUNT__;
41 export = main, # Program entry-point
42 import = LUNIXKERNEL; # Kernel entry-points