Add 'define=yes' for INIT segment to atari-asm.cfg and atari-asm-xex.cfg linker configs.

libsrc/atari/exehdr.s: Add (empty) INIT segment to cover assembler programs which link with
exehdr.s.
This commit is contained in:
Christian Groessler
2025-04-09 22:51:11 +02:00
parent 432f2841e5
commit 5cb1bc60fc
3 changed files with 6 additions and 0 deletions

View File

@@ -20,5 +20,6 @@ SEGMENTS {
CODE: load = MAIN, type = rw, define = yes; CODE: load = MAIN, type = rw, define = yes;
RODATA: load = MAIN, type = ro optional = yes; RODATA: load = MAIN, type = ro optional = yes;
DATA: load = MAIN, type = rw optional = yes; DATA: load = MAIN, type = rw optional = yes;
INIT: load = MAIN, type = bss, optional = yes, define = yes;
BSS: load = MAIN, type = bss, optional = yes, define = yes; BSS: load = MAIN, type = bss, optional = yes, define = yes;
} }

View File

@@ -25,6 +25,7 @@ SEGMENTS {
CODE: load = MAIN, type = rw, define = yes; CODE: load = MAIN, type = rw, define = yes;
RODATA: load = MAIN, type = ro optional = yes; RODATA: load = MAIN, type = ro optional = yes;
DATA: load = MAIN, type = rw optional = yes; DATA: load = MAIN, type = rw optional = yes;
INIT: load = MAIN, type = bss, optional = yes, define = yes;
BSS: load = MAIN, type = bss, optional = yes, define = yes; BSS: load = MAIN, type = bss, optional = yes, define = yes;
AUTOSTRT: load = TRAILER, type = ro, optional = yes; AUTOSTRT: load = TRAILER, type = ro, optional = yes;
} }

View File

@@ -9,3 +9,7 @@
.segment "MAINHDR" .segment "MAINHDR"
.word __MAIN_START__ .word __MAIN_START__
.word __INIT_LOAD__ - 1 .word __INIT_LOAD__ - 1
; Define the INIT segment so that __INIT_LOAD__ from above '.import' is always defined.
; The segment is normally present when linking a C program, but not necessarily when linking an assembler program.
.segment "INIT"