Added a couple `_SEGMENT_` macros

This commit is contained in:
gijs 2023-09-28 23:37:58 +02:00
parent 7c75875dc5
commit 006e923a3d
1 changed files with 18 additions and 6 deletions

View File

@ -12,11 +12,21 @@
extern u32 name ## _ROM_START[]; \ extern u32 name ## _ROM_START[]; \
extern u32 name ## _ROM_END[] extern u32 name ## _ROM_END[]
#define DECLARE_TEXT_SEGMENT(name) \
extern u32 name ## _TEXT_START[]; \
extern u32 name ## _TEXT_END[]; \
extern u32 name ## _TEXT_SIZE
#define DECLARE_DATA_SEGMENT(name) \ #define DECLARE_DATA_SEGMENT(name) \
extern u32 name ## _DATA_START[]; \ extern u32 name ## _DATA_START[]; \
extern u32 name ## _DATA_END[]; \ extern u32 name ## _DATA_END[]; \
extern u32 name ## _DATA_SIZE extern u32 name ## _DATA_SIZE
#define DECLARE_RODATA_SEGMENT(name) \
extern u32 name ## _RODATA_START[]; \
extern u32 name ## _RODATA_END[]; \
extern u32 name ## _RODATA_SIZE
#define DECLARE_BSS_SEGMENT(name) \ #define DECLARE_BSS_SEGMENT(name) \
extern u32 name ## _BSS_START[]; \ extern u32 name ## _BSS_START[]; \
extern u32 name ## _BSS_END[] extern u32 name ## _BSS_END[]
@ -24,22 +34,22 @@
#define DECLARE_SEGMENT(name) \ #define DECLARE_SEGMENT(name) \
DECLARE_VRAM_SEGMENT(name); \ DECLARE_VRAM_SEGMENT(name); \
DECLARE_ROM_SEGMENT(name); \ DECLARE_ROM_SEGMENT(name); \
DECLARE_TEXT_SEGMENT(name); \
DECLARE_DATA_SEGMENT(name); \ DECLARE_DATA_SEGMENT(name); \
DECLARE_RODATA_SEGMENT(name); \
DECLARE_BSS_SEGMENT(name) DECLARE_BSS_SEGMENT(name)
#define SEGMENT_VRAM_START(segment) (segment ## _VRAM) #define SEGMENT_VRAM_START(segment) (segment ## _VRAM)
#define SEGMENT_VRAM_END(segment) (segment ## _VRAM_END) #define SEGMENT_VRAM_END(segment) (segment ## _VRAM_END)
#define SEGMENT_VRAM_SIZE(segment) ((uintptr_t)SEGMENT_VRAM_END(segment) - (uintptr_t)SEGMENT_VRAM_START(segment)) #define SEGMENT_VRAM_SIZE(segment) ((void*)SEGMENT_VRAM_END(segment) - (void*)SEGMENT_VRAM_START(segment))
#define SEGMENT_ROM_START(segment) ((void*)segment ## _ROM_START) #define SEGMENT_ROM_START(segment) ((void*)segment ## _ROM_START)
#define SEGMENT_ROM_END(segment) ((void*)segment ## _ROM_END) #define SEGMENT_ROM_END(segment) ((void*)segment ## _ROM_END)
#define SEGMENT_ROM_SIZE(segment) (SEGMENT_ROM_END(segment) - SEGMENT_ROM_START(segment)) #define SEGMENT_ROM_SIZE(segment) (SEGMENT_ROM_END(segment) - SEGMENT_ROM_START(segment))
#define SEGMENT_DATA_SIZE_CONST(segment) ((RomOffset)segment ## _DATA_SIZE) #define SEGMENT_BSS_START(segment) ((void*)segment ## _BSS_START)
#define SEGMENT_BSS_END(segment) ((void*)segment ## _BSS_END)
#define SEGMENT_BSS_START(segment) (segment ## _BSS_START) #define SEGMENT_BSS_SIZE(segment) (SEGMENT_BSS_END(segment) - SEGMENT_BSS_START(segment))
#define SEGMENT_BSS_END(segment) (segment ## _BSS_END)
#define SEGMENT_BSS_SIZE(segment) ((uintptr_t)SEGMENT_BSS_END(segment) - (uintptr_t)SEGMENT_BSS_START(segment))
DECLARE_ROM_SEGMENT(n64_ptr_tables_v2_00); DECLARE_ROM_SEGMENT(n64_ptr_tables_v2_00);
DECLARE_ROM_SEGMENT(n64_ptr_tables_v2_01); DECLARE_ROM_SEGMENT(n64_ptr_tables_v2_01);
@ -48,5 +58,7 @@ DECLARE_ROM_SEGMENT(n64_wave_data);
DECLARE_ROM_SEGMENT(n64_wave_table_00); DECLARE_ROM_SEGMENT(n64_wave_table_00);
DECLARE_ROM_SEGMENT(n64_wave_table_01); DECLARE_ROM_SEGMENT(n64_wave_table_01);
DECLARE_SEGMENT(overlay_71280);
#endif // SEGMENT_SYMBOLS_H #endif // SEGMENT_SYMBOLS_H