Make list of linker symbols common

That way the definitions of the assembler and the linker are always the
same.

Signed-off-by: Antonio Niño Díaz <antonio_nd@outlook.com>
This commit is contained in:
Antonio Niño Díaz
2018-01-04 22:32:40 +00:00
parent 8d89ba39d4
commit d24cf11ad4
5 changed files with 16 additions and 70 deletions

View File

@@ -3,6 +3,8 @@
#include <stdint.h> #include <stdint.h>
#include "linkdefs.h"
extern int32_t options; extern int32_t options;
#define OPT_TINY 0x01 #define OPT_TINY 0x01
@@ -11,52 +13,6 @@ extern int32_t options;
#define OPT_CONTWRAM 0x08 #define OPT_CONTWRAM 0x08
#define OPT_DMG_MODE 0x10 #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 { struct sSection {
int32_t nBank; int32_t nBank;
int32_t nOrg; int32_t nOrg;
@@ -73,12 +29,6 @@ struct sSection {
struct sSection *pNext; struct sSection *pNext;
}; };
enum eSymbolType {
SYM_LOCAL,
SYM_IMPORT,
SYM_EXPORT
};
struct sSymbol { struct sSymbol {
char *pzName; char *pzName;
enum eSymbolType Type; enum eSymbolType Type;
@@ -93,12 +43,6 @@ struct sSymbol {
uint32_t nFileLine; /* Line where the symbol was defined. */ uint32_t nFileLine; /* Line where the symbol was defined. */
}; };
enum ePatchType {
PATCH_BYTE = 0,
PATCH_WORD_L,
PATCH_LONG_L
};
struct sPatch { struct sPatch {
char *pzFilename; char *pzFilename;
int32_t nLineNo; int32_t nLineNo;

View File

@@ -1,7 +1,7 @@
#ifndef RGBDS_ASM_LINK_H #ifndef RGBDS_LINKDEFS_H
#define RGBDS_ASM_LINK_H #define RGBDS_LINKDEFS_H
enum { enum eRpnData {
RPN_ADD = 0, RPN_ADD = 0,
RPN_SUB, RPN_SUB,
RPN_MUL, RPN_MUL,
@@ -36,7 +36,7 @@ enum {
RPN_SYM = 0x81 RPN_SYM = 0x81
}; };
enum { enum eSectionType {
SECT_WRAM0 = 0, SECT_WRAM0 = 0,
SECT_VRAM, SECT_VRAM,
SECT_ROMX, SECT_ROMX,
@@ -47,16 +47,16 @@ enum {
SECT_OAM SECT_OAM
}; };
enum { enum eSymbolType {
SYM_LOCAL = 0, SYM_LOCAL = 0,
SYM_IMPORT, SYM_IMPORT,
SYM_EXPORT SYM_EXPORT
}; };
enum { enum ePatchType {
PATCH_BYTE = 0, PATCH_BYTE = 0,
PATCH_WORD_L, PATCH_WORD_L,
PATCH_LONG_L PATCH_LONG_L
}; };
#endif /* RGBDS_ASM_LINK_H */ #endif /* RGBDS_LINKDEFS_H */

View File

@@ -12,12 +12,13 @@
#include "asm/fstack.h" #include "asm/fstack.h"
#include "asm/lexer.h" #include "asm/lexer.h"
#include "asm/main.h" #include "asm/main.h"
#include "asm/mylink.h"
#include "asm/mymath.h" #include "asm/mymath.h"
#include "asm/output.h" #include "asm/output.h"
#include "asm/rpn.h" #include "asm/rpn.h"
#include "asm/symbol.h" #include "asm/symbol.h"
#include "linkdefs.h"
char *tzNewMacro; char *tzNewMacro;
uint32_t ulNewMacroSize; uint32_t ulNewMacroSize;

View File

@@ -12,15 +12,15 @@
#include "asm/charmap.h" #include "asm/charmap.h"
#include "asm/fstack.h" #include "asm/fstack.h"
#include "asm/main.h" #include "asm/main.h"
#include "asm/mylink.h"
#include "asm/output.h" #include "asm/output.h"
#include "asm/rpn.h" #include "asm/rpn.h"
#include "asm/symbol.h" #include "asm/symbol.h"
#include "common.h"
#include "extern/err.h" #include "extern/err.h"
#include "common.h"
#include "linkdefs.h"
void out_SetCurrentSection(struct Section *pSect); void out_SetCurrentSection(struct Section *pSect);
struct Patch { struct Patch {

View File

@@ -8,10 +8,11 @@
#include "asm/asm.h" #include "asm/asm.h"
#include "asm/main.h" #include "asm/main.h"
#include "asm/mylink.h"
#include "asm/rpn.h" #include "asm/rpn.h"
#include "asm/symbol.h" #include "asm/symbol.h"
#include "linkdefs.h"
void mergetwoexpressions(struct Expression *expr, const struct Expression *src1, void mergetwoexpressions(struct Expression *expr, const struct Expression *src1,
const struct Expression *src2) const struct Expression *src2)
{ {