]> git.sur5r.net Git - cc65/blob - src/ld65/cfg/lunix.cfg
Replace more linked lists by collections.
[cc65] / src / ld65 / cfg / lunix.cfg
1 # ld65 Linker-configuration for LUnix, Next Generation.
2
3 SYMBOLS {
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?)
6 }
7 MEMORY {
8     ZP:  start = $0080, size = $0040;
9     RAM: start = %S,    size = $7600 - __STACKSIZE__;
10 }
11 SEGMENTS {
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
20 }
21 FEATURES {
22     CONDES: segment = INIT,
23             type    = constructor,
24             label   = __CONSTRUCTOR_TABLE__,
25             count   = __CONSTRUCTOR_COUNT__;
26     CONDES: segment = RODATA,
27             type    = destructor,
28             label   = __DESTRUCTOR_TABLE__,
29             count   = __DESTRUCTOR_COUNT__;
30     CONDES: segment = RODATA,
31             type    = interruptor,          
32             label   = __INTERRUPTOR_TABLE__,
33             count   = __INTERRUPTOR_COUNT__;
34 }
35 FILES {
36     %O: format = o65;
37 }
38 FORMATS {
39     o65: os     = lunix,
40          type   = small,
41          export = main,         # Program entry-point
42          import = LUNIXKERNEL;  # Kernel entry-points
43 }