From: Oliver Schmidt Date: Thu, 17 Mar 2016 20:31:43 +0000 (+0100) Subject: Consider the segment attributes 'define' and 'optional' mutually exclusive. X-Git-Tag: V2.16~158 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d5092d2d3f37dc3522daa9306b61b6224bc57998;p=cc65 Consider the segment attributes 'define' and 'optional' mutually exclusive. In normal situations it isn't too useful to define symbols for optional segments as those symbols can't be presumed to be always present. I in fact suspect that most currently present combinations of 'define' and 'optional' aren't useful - apart form the overlay configurations of course. --- diff --git a/cfg/bbc.cfg b/cfg/bbc.cfg index f1aa4a877..60bf372f0 100644 --- a/cfg/bbc.cfg +++ b/cfg/bbc.cfg @@ -7,13 +7,13 @@ MEMORY { } SEGMENTS { ZEROPAGE: load = ZP, type = zp; - STARTUP: load = MAIN, type = ro, define = yes; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; - BSS: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/c128.cfg b/cfg/c128.cfg index 7546e7921..0ed22266c 100644 --- a/cfg/c128.cfg +++ b/cfg/c128.cfg @@ -14,13 +14,13 @@ SEGMENTS { LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; STARTUP: load = MAIN, type = ro; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; INIT: load = MAIN, type = bss; - BSS: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/c16.cfg b/cfg/c16.cfg index 1aae78824..b67c66b96 100644 --- a/cfg/c16.cfg +++ b/cfg/c16.cfg @@ -14,13 +14,13 @@ SEGMENTS { LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; STARTUP: load = MAIN, type = ro; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; INIT: load = MAIN, type = bss; - BSS: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/c64.cfg b/cfg/c64.cfg index 43ccce2ca..5bd8d8240 100644 --- a/cfg/c64.cfg +++ b/cfg/c64.cfg @@ -19,13 +19,13 @@ SEGMENTS { LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; STARTUP: load = MAIN, type = ro; - LOWCODE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; INIT: load = MAIN, type = rw; - ONCE: load = MAIN, type = ro, define = yes; - BSS: load = BSS, type = bss, define = yes; + ONCE: load = MAIN, type = ro, define = yes; + BSS: load = BSS, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/cbm510.cfg b/cfg/cbm510.cfg index b4e228fdd..f4db154ab 100644 --- a/cfg/cbm510.cfg +++ b/cfg/cbm510.cfg @@ -14,18 +14,18 @@ MEMORY { } SEGMENTS { ZEROPAGE: load = ZP, type = zp; - EXTZP: load = ZP, type = rw, define = yes; + EXTZP: load = ZP, type = rw, define = yes; EXEHDR: load = HEADER, type = rw; STARTUP: load = STARTUP, type = rw; PAGE2: load = PAGE2, type = rw; PAGE3: load = PAGE3, type = rw; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; - INIT: load = MAIN, type = bss, optional = yes; - BSS: load = MAIN, type = bss, define = yes; + INIT: load = MAIN, type = bss, optional = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/cbm610.cfg b/cfg/cbm610.cfg index 431734cd2..da829c9b4 100644 --- a/cfg/cbm610.cfg +++ b/cfg/cbm610.cfg @@ -11,18 +11,18 @@ MEMORY { } SEGMENTS { ZEROPAGE: load = ZP, type = zp; - EXTZP: load = ZP, type = rw, define = yes; + EXTZP: load = ZP, type = rw, define = yes; EXEHDR: load = HEADER, type = rw; STARTUP: load = STARTUP, type = rw; PAGE2: load = PAGE2, type = rw; PAGE3: load = PAGE3, type = rw; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; - INIT: load = MAIN, type = bss, optional = yes; - BSS: load = MAIN, type = bss, define = yes; + INIT: load = MAIN, type = bss, optional = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/geos-apple.cfg b/cfg/geos-apple.cfg index b39cf1ebe..2c9f6c589 100644 --- a/cfg/geos-apple.cfg +++ b/cfg/geos-apple.cfg @@ -32,7 +32,7 @@ MEMORY { } SEGMENTS { ZEROPAGE: type = zp, load = ZP; - EXTZP: type = zp, load = ZP, optional = yes; + EXTZP: type = zp, load = ZP, optional = yes; EXTBSS: type = bss, load = EXT, define = yes, optional = yes; FILEINFO: type = ro, load = CVT, offset = $002; RECORDS: type = ro, load = CVT, offset = $100, optional = yes; @@ -45,7 +45,7 @@ SEGMENTS { RODATA: type = ro, run = VLIR0, load = CVT; DATA: type = rw, run = VLIR0, load = CVT; INIT: type = bss, load = VLIR0, optional = yes; - BSS: type = bss, load = VLIR0, define = yes; + BSS: type = bss, load = VLIR0, define = yes; VLIRIDX1: type = ro, load = CVT, align = $200, optional = yes; OVERLAY1: type = ro, run = VLIR1, load = CVT, align_load = $200, optional = yes; VLIRIDX2: type = ro, load = CVT, align = $200, optional = yes; diff --git a/cfg/geos-cbm.cfg b/cfg/geos-cbm.cfg index 0269dbacb..d2e896fa5 100644 --- a/cfg/geos-cbm.cfg +++ b/cfg/geos-cbm.cfg @@ -31,7 +31,7 @@ MEMORY { } SEGMENTS { ZEROPAGE: type = zp, load = ZP; - EXTZP: type = zp, load = ZP, optional = yes; + EXTZP: type = zp, load = ZP, optional = yes; DIRENTRY: type = ro, load = CVT, align = $FE; FILEINFO: type = ro, load = CVT, align = $FE; RECORDS: type = ro, load = CVT, align = $FE, optional = yes; @@ -42,7 +42,7 @@ SEGMENTS { RODATA: type = ro, run = VLIR0, load = CVT; DATA: type = rw, run = VLIR0, load = CVT; INIT: type = bss, load = VLIR0, optional = yes; - BSS: type = bss, load = VLIR0, define = yes; + BSS: type = bss, load = VLIR0, define = yes; OVERLAY1: type = ro, run = VLIR1, load = CVT, align_load = $FE, optional = yes; OVERLAY2: type = ro, run = VLIR2, load = CVT, align_load = $FE, optional = yes; OVERLAY3: type = ro, run = VLIR3, load = CVT, align_load = $FE, optional = yes; diff --git a/cfg/lunix.cfg b/cfg/lunix.cfg index 0b7b9c8ff..560b501d5 100644 --- a/cfg/lunix.cfg +++ b/cfg/lunix.cfg @@ -9,14 +9,14 @@ MEMORY { MAIN: start = %S, size = $7600 - __STACKSIZE__; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp, define = yes; # Pseudo-registers - STARTUP: load = MAIN, type = ro; # First initialization code - LOWCODE: load = MAIN, type = ro, optional = yes; # Legacy from other platforms - ONCE: load = MAIN, type = ro, optional = yes; # Library initialization code - CODE: load = MAIN, type = ro; # Program - RODATA: load = MAIN, type = ro; # Literals, constants - DATA: load = MAIN, type = rw; # Initialized variables - BSS: load = MAIN, type = bss, define = yes; # Uninitialized variables + ZEROPAGE: load = ZP, type = zp, define = yes; # Pseudo-registers + STARTUP: load = MAIN, type = ro; # First initialization code + LOWCODE: load = MAIN, type = ro, optional = yes; # Legacy from other platforms + ONCE: load = MAIN, type = ro, optional = yes; # Library initialization code + CODE: load = MAIN, type = ro; # Program + RODATA: load = MAIN, type = ro; # Literals, constants + DATA: load = MAIN, type = rw; # Initialized variables + BSS: load = MAIN, type = bss, define = yes; # Uninitialized variables } FEATURES { CONDES: type = constructor, diff --git a/cfg/nes.cfg b/cfg/nes.cfg index 0cc2ce334..fdd992fe0 100644 --- a/cfg/nes.cfg +++ b/cfg/nes.cfg @@ -35,15 +35,15 @@ MEMORY { SEGMENTS { ZEROPAGE: load = ZP, type = zp; HEADER: load = HEADER, type = ro; - STARTUP: load = ROM0, type = ro, define = yes; - LOWCODE: load = ROM0, type = ro, optional = yes; - ONCE: load = ROM0, type = ro, optional = yes; - CODE: load = ROM0, type = ro, define = yes; - RODATA: load = ROM0, type = ro, define = yes; - DATA: load = ROM0, run = RAM, type = rw, define = yes; + STARTUP: load = ROM0, type = ro, define = yes; + LOWCODE: load = ROM0, type = ro, optional = yes; + ONCE: load = ROM0, type = ro, optional = yes; + CODE: load = ROM0, type = ro, define = yes; + RODATA: load = ROM0, type = ro, define = yes; + DATA: load = ROM0, run = RAM, type = rw, define = yes; VECTORS: load = ROMV, type = rw; CHARS: load = ROM2, type = rw; - BSS: load = RAM, type = bss, define = yes; + BSS: load = RAM, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/none.cfg b/cfg/none.cfg index 8cd9c4f95..6742da7c8 100644 --- a/cfg/none.cfg +++ b/cfg/none.cfg @@ -7,12 +7,12 @@ MEMORY { } SEGMENTS { ZEROPAGE: load = ZP, type = zp; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = rw; RODATA: load = MAIN, type = rw; DATA: load = MAIN, type = rw; - BSS: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/osic1p-asm.cfg b/cfg/osic1p-asm.cfg index 88ab69062..1cebe4449 100644 --- a/cfg/osic1p-asm.cfg +++ b/cfg/osic1p-asm.cfg @@ -16,9 +16,9 @@ MEMORY { } SEGMENTS { ZEROPAGE: load = ZP, type = zp; - BOOT: load = HEAD, type = ro, optional = yes; + BOOT: load = HEAD, type = ro, optional = yes; CODE: load = MAIN, type = rw; RODATA: load = MAIN, type = rw; DATA: load = MAIN, type = rw; - BSS: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; } diff --git a/cfg/pet.cfg b/cfg/pet.cfg index efde48efe..6eb2465b0 100644 --- a/cfg/pet.cfg +++ b/cfg/pet.cfg @@ -14,13 +14,13 @@ SEGMENTS { LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, optional = yes; + LOWCODE: load = RAM, type = ro, optional = yes; + ONCE: load = RAM, type = ro, optional = yes; CODE: load = RAM, type = ro; RODATA: load = RAM, type = ro; DATA: load = RAM, type = rw; INIT: load = RAM, type = bss; - BSS: load = RAM, type = bss, define = yes; + BSS: load = RAM, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/plus4.cfg b/cfg/plus4.cfg index 610a7c23c..802f1076e 100644 --- a/cfg/plus4.cfg +++ b/cfg/plus4.cfg @@ -14,13 +14,13 @@ SEGMENTS { LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; STARTUP: load = MAIN, type = ro; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; INIT: load = MAIN, type = bss; - BSS: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/sim6502.cfg b/cfg/sim6502.cfg index 5e7402262..b4f7738f5 100644 --- a/cfg/sim6502.cfg +++ b/cfg/sim6502.cfg @@ -11,12 +11,12 @@ SEGMENTS { ZEROPAGE: load = ZP, type = zp; EXEHDR: load = HEADER, type = ro; STARTUP: load = MAIN, type = ro; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; - BSS: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/sim65c02.cfg b/cfg/sim65c02.cfg index 5e7402262..b4f7738f5 100644 --- a/cfg/sim65c02.cfg +++ b/cfg/sim65c02.cfg @@ -11,12 +11,12 @@ SEGMENTS { ZEROPAGE: load = ZP, type = zp; EXEHDR: load = HEADER, type = ro; STARTUP: load = MAIN, type = ro; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; - BSS: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/supervision-128k.cfg b/cfg/supervision-128k.cfg index 6cfde6551..0304e2c02 100644 --- a/cfg/supervision-128k.cfg +++ b/cfg/supervision-128k.cfg @@ -20,8 +20,8 @@ MEMORY { ROM: file = %O, start = $c000, size = $4000, fill = yes, fillval = $FF; } SEGMENTS { - LOWCODE: load = ROM, type = ro, optional = yes; - ONCE: load = ROM, type = ro, optional = yes; + LOWCODE: load = ROM, type = ro, optional = yes; + ONCE: load = ROM, type = ro, optional = yes; CODE: load = ROM, type = ro; BANK1: load = BANKROM1, type = ro; BANK2: load = BANKROM2, type = ro; @@ -30,8 +30,8 @@ SEGMENTS { BANK5: load = BANKROM5, type = ro; BANK6: load = BANKROM6, type = ro; BANK7: load = BANKROM7, type = ro; - ZEROPAGE: load = RAM, type = bss, define = yes; - DATA: load = RAM, type = bss, define = yes, offset = $0200; - BSS: load = RAM, type = bss, define = yes; - VECTOR: load = ROM, type = ro, offset = $3FFA; + ZEROPAGE: load = RAM, type = bss, define = yes; + DATA: load = RAM, type = bss, define = yes, offset = $0200; + BSS: load = RAM, type = bss, define = yes; + VECTOR: load = ROM, type = ro, offset = $3FFA; } diff --git a/cfg/supervision-16k.cfg b/cfg/supervision-16k.cfg index e42677304..86c8fface 100644 --- a/cfg/supervision-16k.cfg +++ b/cfg/supervision-16k.cfg @@ -14,15 +14,15 @@ MEMORY { ROM: file = %O, start = $C000, size = $4000, fill = yes, fillval = $ff, define=yes; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp, define = yes; - LOWCODE: load = ROM, type = ro, optional = yes; - ONCE: load = ROM, type = ro, optional = yes; - CODE: load = ROM, type = ro, define = yes; - RODATA: load = ROM, type = ro, define = yes; - DATA: load = ROM, run = RAM, type = rw, define = yes; - FFF0: load = ROM, type = ro, offset = $3FF0; - VECTOR: load = ROM, type = ro, offset = $3FFA; - BSS: load = RAM, type = bss, define = yes; + ZEROPAGE: load = ZP, type = zp, define = yes; + LOWCODE: load = ROM, type = ro, optional = yes; + ONCE: load = ROM, type = ro, optional = yes; + CODE: load = ROM, type = ro, define = yes; + RODATA: load = ROM, type = ro, define = yes; + DATA: load = ROM, run = RAM, type = rw, define = yes; + FFF0: load = ROM, type = ro, offset = $3FF0; + VECTOR: load = ROM, type = ro, offset = $3FFA; + BSS: load = RAM, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/supervision-64k.cfg b/cfg/supervision-64k.cfg index 18c7b4a45..8a7665c30 100644 --- a/cfg/supervision-64k.cfg +++ b/cfg/supervision-64k.cfg @@ -16,15 +16,15 @@ MEMORY { ROM: file = %O, start = $C000, size = $4000, fill = yes, fillval = $FF; } SEGMENTS { - LOWCODE: load = ROM, type = ro, optional = yes; - ONCE: load = ROM, type = ro, optional = yes; + LOWCODE: load = ROM, type = ro, optional = yes; + ONCE: load = ROM, type = ro, optional = yes; CODE: load = ROM, type = ro; RODATA: load = ROM, type = ro; BANK1: load = BANKROM1, type = ro; BANK2: load = BANKROM2, type = ro; BANK3: load = BANKROM3, type = ro; - ZEROPAGE: load = RAM, type = bss, define = yes; - DATA: load = RAM, type = bss, define = yes, offset = $0200; - BSS: load = RAM, type = bss, define = yes; - VECTOR: load = ROM, type = ro, offset = $3FFA; + ZEROPAGE: load = RAM, type = bss, define = yes; + DATA: load = RAM, type = bss, define = yes, offset = $0200; + BSS: load = RAM, type = bss, define = yes; + VECTOR: load = ROM, type = ro, offset = $3FFA; } diff --git a/cfg/supervision.cfg b/cfg/supervision.cfg index c96351e5f..2d20e3461 100644 --- a/cfg/supervision.cfg +++ b/cfg/supervision.cfg @@ -13,15 +13,15 @@ MEMORY { ROM: file = %O, start = $8000, size = $8000, fill = yes, fillval = $FF, define = yes; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp, define = yes; - LOWCODE: load = ROM, type = ro, optional = yes; - ONCE: load = ROM, type = ro, optional = yes; - CODE: load = ROM, type = ro, define = yes; - RODATA: load = ROM, type = ro, define = yes; - DATA: load = ROM, run = RAM, type = rw, define = yes; - FFF0: load = ROM, type = ro, offset = $7FF0; - VECTOR: load = ROM, type = ro, offset = $7FFA; - BSS: load = RAM, type = bss, define = yes; + ZEROPAGE: load = ZP, type = zp, define = yes; + LOWCODE: load = ROM, type = ro, optional = yes; + ONCE: load = ROM, type = ro, optional = yes; + CODE: load = ROM, type = ro, define = yes; + RODATA: load = ROM, type = ro, define = yes; + DATA: load = ROM, run = RAM, type = rw, define = yes; + FFF0: load = ROM, type = ro, offset = $7FF0; + VECTOR: load = ROM, type = ro, offset = $7FFA; + BSS: load = RAM, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/vic20-32k.cfg b/cfg/vic20-32k.cfg index f592d7bd0..28dd661ad 100644 --- a/cfg/vic20-32k.cfg +++ b/cfg/vic20-32k.cfg @@ -16,13 +16,13 @@ SEGMENTS { LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; STARTUP: load = MAIN, type = ro; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; INIT: load = MAIN, type = bss; - BSS: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/vic20.cfg b/cfg/vic20.cfg index 98f6f82b3..ceaee3a87 100644 --- a/cfg/vic20.cfg +++ b/cfg/vic20.cfg @@ -14,13 +14,13 @@ SEGMENTS { LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; STARTUP: load = MAIN, type = ro; - LOWCODE: load = MAIN, type = ro, optional = yes; - ONCE: load = MAIN, type = ro, optional = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; CODE: load = MAIN, type = ro; RODATA: load = MAIN, type = ro; DATA: load = MAIN, type = rw; INIT: load = MAIN, type = bss; - BSS: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor,