From d47ba26444ba1e3c9076f9e77a126d94a23fa132 Mon Sep 17 00:00:00 2001 From: someone2639 Date: Thu, 5 Aug 2021 16:21:24 -0400 Subject: [PATCH] SS2: goddard.ld ready to preprocess --- goddard.ld | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/goddard.ld b/goddard.ld index 2295773c..876924a5 100644 --- a/goddard.ld +++ b/goddard.ld @@ -1,4 +1,22 @@ - BEGIN_NOLOAD(goddard_sz) +#define BEGIN_SEG(name, addr) \ + _##name##SegmentStart = ADDR(.name); \ + _##name##SegmentRomStart = __romPos; \ + .name addr : AT(__romPos) + +#define END_SEG(name) \ + _##name##SegmentEnd = ADDR(.name) + SIZEOF(.name); \ + _##name##SegmentRomEnd = __romPos + SIZEOF(.name); \ + __romPos += SIZEOF(.name); + +#define BEGIN_NOLOAD(name) \ + _##name##SegmentBssStart = ADDR(.name.noload); \ + .name.noload (NOLOAD) : + +#define END_NOLOAD(name) \ + _##name##SegmentBssEnd = ADDR(.name.noload) + SIZEOF(.name.noload); \ + _##name##SegmentBssSize = SIZEOF(.name.noload); + +BEGIN_NOLOAD(goddard_sz) { BUILD_DIR/src/menu*.o(.text); BUILD_DIR/src/menu*.o(.data*); @@ -38,4 +56,6 @@ #endif . = ALIGN(16); } - END_NOLOAD(goddard_sz) \ No newline at end of file +END_NOLOAD(goddard_sz) + +GODDARD_SIZE = SIZEOF(.goddard_sz.noload);