From d24cf11ad43b30e0e9b5e28d39b3baad945ba1cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ni=C3=B1o=20D=C3=ADaz?= Date: Thu, 4 Jan 2018 22:32:40 +0000 Subject: [PATCH] Make list of linker symbols common MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit That way the definitions of the assembler and the linker are always the same. Signed-off-by: Antonio Niño Díaz --- include/link/mylink.h | 60 +--------------------------- include/{asm/mylink.h => linkdefs.h} | 14 +++---- src/asm/asmy.y | 3 +- src/asm/output.c | 6 +-- src/asm/rpn.c | 3 +- 5 files changed, 16 insertions(+), 70 deletions(-) rename include/{asm/mylink.h => linkdefs.h} (76%) diff --git a/include/link/mylink.h b/include/link/mylink.h index 2b23a43f..dc703ac3 100644 --- a/include/link/mylink.h +++ b/include/link/mylink.h @@ -3,6 +3,8 @@ #include +#include "linkdefs.h" + extern int32_t options; #define OPT_TINY 0x01 @@ -11,52 +13,6 @@ extern int32_t options; #define OPT_CONTWRAM 0x08 #define OPT_DMG_MODE 0x10 -enum eRpnData { - RPN_ADD = 0, - RPN_SUB, - RPN_MUL, - RPN_DIV, - RPN_MOD, - RPN_UNSUB, - - RPN_OR, - RPN_AND, - RPN_XOR, - RPN_UNNOT, - - RPN_LOGAND, - RPN_LOGOR, - RPN_LOGUNNOT, - - RPN_LOGEQ, - RPN_LOGNE, - RPN_LOGGT, - RPN_LOGLT, - RPN_LOGGE, - RPN_LOGLE, - - RPN_SHL, - RPN_SHR, - - RPN_BANK, - - RPN_HRAM, - - RPN_CONST = 0x80, - RPN_SYM = 0x81 -}; - -enum eSectionType { - SECT_WRAM0, - SECT_VRAM, - SECT_ROMX, - SECT_ROM0, - SECT_HRAM, - SECT_WRAMX, - SECT_SRAM, - SECT_OAM -}; - struct sSection { int32_t nBank; int32_t nOrg; @@ -73,12 +29,6 @@ struct sSection { struct sSection *pNext; }; -enum eSymbolType { - SYM_LOCAL, - SYM_IMPORT, - SYM_EXPORT -}; - struct sSymbol { char *pzName; enum eSymbolType Type; @@ -93,12 +43,6 @@ struct sSymbol { uint32_t nFileLine; /* Line where the symbol was defined. */ }; -enum ePatchType { - PATCH_BYTE = 0, - PATCH_WORD_L, - PATCH_LONG_L -}; - struct sPatch { char *pzFilename; int32_t nLineNo; diff --git a/include/asm/mylink.h b/include/linkdefs.h similarity index 76% rename from include/asm/mylink.h rename to include/linkdefs.h index c6771069..fb4837fd 100644 --- a/include/asm/mylink.h +++ b/include/linkdefs.h @@ -1,7 +1,7 @@ -#ifndef RGBDS_ASM_LINK_H -#define RGBDS_ASM_LINK_H +#ifndef RGBDS_LINKDEFS_H +#define RGBDS_LINKDEFS_H -enum { +enum eRpnData { RPN_ADD = 0, RPN_SUB, RPN_MUL, @@ -36,7 +36,7 @@ enum { RPN_SYM = 0x81 }; -enum { +enum eSectionType { SECT_WRAM0 = 0, SECT_VRAM, SECT_ROMX, @@ -47,16 +47,16 @@ enum { SECT_OAM }; -enum { +enum eSymbolType { SYM_LOCAL = 0, SYM_IMPORT, SYM_EXPORT }; -enum { +enum ePatchType { PATCH_BYTE = 0, PATCH_WORD_L, PATCH_LONG_L }; -#endif /* RGBDS_ASM_LINK_H */ +#endif /* RGBDS_LINKDEFS_H */ diff --git a/src/asm/asmy.y b/src/asm/asmy.y index 59237b19..efb9da39 100644 --- a/src/asm/asmy.y +++ b/src/asm/asmy.y @@ -12,12 +12,13 @@ #include "asm/fstack.h" #include "asm/lexer.h" #include "asm/main.h" -#include "asm/mylink.h" #include "asm/mymath.h" #include "asm/output.h" #include "asm/rpn.h" #include "asm/symbol.h" +#include "linkdefs.h" + char *tzNewMacro; uint32_t ulNewMacroSize; diff --git a/src/asm/output.c b/src/asm/output.c index 5354d39a..0152962b 100644 --- a/src/asm/output.c +++ b/src/asm/output.c @@ -12,15 +12,15 @@ #include "asm/charmap.h" #include "asm/fstack.h" #include "asm/main.h" -#include "asm/mylink.h" #include "asm/output.h" #include "asm/rpn.h" #include "asm/symbol.h" -#include "common.h" - #include "extern/err.h" +#include "common.h" +#include "linkdefs.h" + void out_SetCurrentSection(struct Section *pSect); struct Patch { diff --git a/src/asm/rpn.c b/src/asm/rpn.c index 380bca5a..bf3b56bd 100644 --- a/src/asm/rpn.c +++ b/src/asm/rpn.c @@ -8,10 +8,11 @@ #include "asm/asm.h" #include "asm/main.h" -#include "asm/mylink.h" #include "asm/rpn.h" #include "asm/symbol.h" +#include "linkdefs.h" + void mergetwoexpressions(struct Expression *expr, const struct Expression *src1, const struct Expression *src2) {