mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
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:
@@ -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;
|
||||||
|
|||||||
@@ -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 */
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user