Imported some runtime libraries
This commit is contained in:
parent
b7c28ab24d
commit
faacc236bf
8 changed files with 1139 additions and 5 deletions
90
include/dol2asm.h
Normal file
90
include/dol2asm.h
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
#ifndef DOL2ASM
|
||||
#define DOL2ASM
|
||||
|
||||
// this helps remove useless error from the linter when using vscode.
|
||||
#ifdef __MWERKS__
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define SECTION_INIT extern "C" __declspec(section ".init")
|
||||
#define SECTION_RODATA __declspec(section ".rodata")
|
||||
#define SECTION_DATA __declspec(section ".data")
|
||||
#define SECTION_SDATA __declspec(section ".sdata")
|
||||
#define SECTION_SDATA2 __declspec(section ".sdata2")
|
||||
#define SECTION_BSS __declspec(section ".data")
|
||||
#define SECTION_SBSS __declspec(section ".sdata")
|
||||
#define SECTION_SBSS2 __declspec(section ".sdata2")
|
||||
#define SECTION_CTORS extern "C" __declspec(section ".ctors")
|
||||
#define SECTION_DTORS extern "C" __declspec(section ".dtors")
|
||||
#define SECTION_EXTAB extern "C" __declspec(section "extab_")
|
||||
#define SECTION_EXTABINDEX extern "C" __declspec(section "extabindex_")
|
||||
#define SECTION_DEAD extern "C" __declspec(section ".dead")
|
||||
#define SECTION_CTORS10 __declspec(section ".ctors$10")
|
||||
#define SECTION_CTORS15 __declspec(section ".ctors$15")
|
||||
#define SECTION_DTORS10 __declspec(section ".dtors$10")
|
||||
#define SECTION_DTORS15 __declspec(section ".dtors$15")
|
||||
#define COMPILER_STRIP_GATE(NAME, VALUE) SECTION_DEAD void* const cg_##NAME = (void*)(VALUE)
|
||||
#define REGISTER_CTORS(ADDR, FUNCTION) SECTION_CTORS void* const _ctors_##ADDR = (void*)(FUNCTION);
|
||||
#else
|
||||
#define SECTION_INIT __declspec(section ".init")
|
||||
#define SECTION_RODATA __declspec(section ".rodata")
|
||||
#define SECTION_DATA __declspec(section ".data")
|
||||
#define SECTION_SDATA __declspec(section ".sdata")
|
||||
#define SECTION_SDATA2 __declspec(section ".sdata2")
|
||||
#define SECTION_BSS __declspec(section ".data")
|
||||
#define SECTION_SBSS __declspec(section ".sdata")
|
||||
#define SECTION_SBSS2 __declspec(section ".sdata2")
|
||||
#define SECTION_CTORS __declspec(section ".ctors")
|
||||
#define SECTION_DTORS __declspec(section ".dtors")
|
||||
#define SECTION_EXTAB __declspec(section "extab_")
|
||||
#define SECTION_EXTABINDEX __declspec(section "extabindex_")
|
||||
#define SECTION_DEAD __declspec(section ".dead")
|
||||
#define SECTION_CTORS10 __declspec(section ".ctors$10")
|
||||
#define SECTION_CTORS15 __declspec(section ".ctors$15")
|
||||
#define SECTION_DTORS10 __declspec(section ".dtors$10")
|
||||
#define SECTION_DTORS15 __declspec(section ".dtors$15")
|
||||
#define COMPILER_STRIP_GATE(NAME, VALUE) SECTION_DEAD void* const cg_##NAME = (void*)(VALUE)
|
||||
#define REGISTER_CTORS(ADDR, FUNCTION) SECTION_CTORS void* const _ctors_##ADDR = (void*)(FUNCTION);
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define SECTION_INIT
|
||||
#define SECTION_RODATA
|
||||
#define SECTION_DATA
|
||||
#define SECTION_SDATA
|
||||
#define SECTION_SDATA2
|
||||
#define SECTION_BSS
|
||||
#define SECTION_SBSS
|
||||
#define SECTION_SBSS2
|
||||
#define SECTION_CTORS
|
||||
#define SECTION_DTORS
|
||||
#define SECTION_EXTAB
|
||||
#define SECTION_EXTABINDEX
|
||||
#define SECTION_DEAD
|
||||
#define SECTION_CTORS10
|
||||
#define SECTION_CTORS15
|
||||
#define SECTION_DTORS10
|
||||
#define SECTION_DTORS15
|
||||
#define COMPILER_STRIP_GATE(...)
|
||||
#define REGISTER_CTORS(...)
|
||||
|
||||
// vscode doesn't like asm and nofralloc very much
|
||||
#define asm
|
||||
#define nofralloc
|
||||
#endif
|
||||
|
||||
// floating-point constants
|
||||
// TODO: move to different header
|
||||
#define _HUGE_ENUF 1e+300
|
||||
#define INFINITY ((float)(_HUGE_ENUF * _HUGE_ENUF))
|
||||
#define HUGE_VAL ((double)INFINITY)
|
||||
#define HUGE_VALL ((long double)INFINITY)
|
||||
|
||||
#define DOUBLE_INF HUGE_VAL
|
||||
|
||||
#pragma section ".dead"
|
||||
#pragma section ".ctors$10"
|
||||
#pragma section ".ctors$15"
|
||||
#pragma section ".dtors$10"
|
||||
#pragma section ".dtors$15"
|
||||
|
||||
#endif /* DOL2ASM */
|
||||
Loading…
Add table
Add a link
Reference in a new issue