mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
add static footer and C++ initializer
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@98 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
77b29aa20d
commit
0a0ce42d1a
@ -22,6 +22,7 @@ MEMORY
|
||||
<AUTOLOAD.NAME> (RWX) : ORIGIN = <AUTOLOAD.ADDRESS>, LENGTH = 0x0 >> <STATIC.NAME><PROPERTY.FLXSUFFIX>
|
||||
<END.AUTOLOADS>
|
||||
binary.AUTOLOAD_INFO (RWX) : ORIGIN = 0, LENGTH = 0x0 >> <STATIC.NAME><PROPERTY.FLXSUFFIX>
|
||||
binary.STATIC_FOOTER (RWX) : ORIGIN = 0, LENGTH = 0x0 >> <STATIC.NAME><PROPERTY.FLXSUFFIX>
|
||||
|
||||
<PROPERTY.OVERLAYDEFS>F (RW) : ORIGIN = 0, LENGTH = 0x0 > <PROPERTY.OVERLAYDEFS><PROPERTY.FLXSUFFIX>
|
||||
<PROPERTY.OVERLAYTABLE>F (RW) : ORIGIN = 0, LENGTH = 0x0 > <PROPERTY.OVERLAYTABLE><PROPERTY.FLXSUFFIX>
|
||||
@ -373,6 +374,15 @@ SECTIONS
|
||||
SDK_AUTOLOAD_LIST_END = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO);
|
||||
SDK_AUTOLOAD_SIZE = SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO);
|
||||
|
||||
############################ STATIC_FOOTER ##########################
|
||||
.binary.STATIC_FOOTER:
|
||||
{
|
||||
WRITEW 0xdec00621; # LE(0x2106C0DE) = NITRO CODE
|
||||
WRITEW _start_ModuleParams - ADDR(.<STATIC.NAME>);
|
||||
WRITEW 0; # NO DIGEST
|
||||
WRITEW _start_LtdModuleParams - ADDR(.<STATIC.NAME>);
|
||||
} > binary.STATIC_FOOTER
|
||||
|
||||
############################ OVERLAYS ###############################
|
||||
SDK_OVERLAY_NUMBER = <NUMBER.OVERLAYS>;
|
||||
|
||||
|
||||
@ -272,6 +272,24 @@ SECTIONS
|
||||
<FOREACH.AUTOLOAD.LIBRARIES=.init>
|
||||
<AUTOLOAD.LIBRARY=.init:t>
|
||||
<END.AUTOLOAD.LIBRARIES>
|
||||
. = ALIGN(4);
|
||||
SDK_AUTOLOAD.<AUTOLOAD.NAME>.SINIT_START = .;
|
||||
#:::::::::: ctor
|
||||
<FOREACH.AUTOLOAD.OBJECTS=.ctor>
|
||||
<AUTOLOAD.OBJECT=.ctor:t>
|
||||
<END.AUTOLOAD.OBJECTS>
|
||||
<FOREACH.AUTOLOAD.LIBRARIES=.ctor>
|
||||
<AUTOLOAD.LIBRARY=.ctor:t>
|
||||
<END.AUTOLOAD.LIBRARIES>
|
||||
<FOREACH.AUTOLOAD.OBJECTS=.sinit>
|
||||
<AUTOLOAD.OBJECT=.sinit:t>
|
||||
<END.AUTOLOAD.OBJECTS>
|
||||
<FOREACH.AUTOLOAD.LIBRARIES=.sinit>
|
||||
<AUTOLOAD.LIBRARY=.sinit:t>
|
||||
<END.AUTOLOAD.LIBRARIES>
|
||||
WRITEW 0;
|
||||
#:::::::::: ctor
|
||||
SDK_AUTOLOAD.<AUTOLOAD.NAME>.SINIT_END = .;
|
||||
#:::::::::: text/rodata
|
||||
SDK_AUTOLOAD.<AUTOLOAD.NAME>.TEXT_END =.;
|
||||
|
||||
@ -385,6 +403,7 @@ SECTIONS
|
||||
<FOREACH.AUTOLOADS>
|
||||
WRITEW ADDR(.<AUTOLOAD.NAME>);
|
||||
WRITEW SDK_AUTOLOAD.<AUTOLOAD.NAME>.SIZE;
|
||||
WRITEW SDK_AUTOLOAD.<AUTOLOAD.NAME>.SINIT_START;
|
||||
WRITEW SDK_AUTOLOAD.<AUTOLOAD.NAME>.BSS_SIZE;
|
||||
<END.AUTOLOADS>
|
||||
} > binary.AUTOLOAD_INFO
|
||||
@ -399,6 +418,7 @@ SECTIONS
|
||||
WRITEW 0xdec00621; # LE(0x2106C0DE) = NITRO CODE
|
||||
WRITEW _start_ModuleParams - ADDR(.<STATIC.NAME>);
|
||||
WRITEW 0; # NO DIGEST
|
||||
WRITEW _start_LtdModuleParams - ADDR(.<STATIC.NAME>);
|
||||
} > binary.STATIC_FOOTER
|
||||
|
||||
############################ OVERLAYS ###############################
|
||||
@ -686,6 +706,29 @@ SECTIONS
|
||||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.rodata>
|
||||
<LTDAUTOLOAD.LIBRARY=.rodata:t>
|
||||
<END.LTDAUTOLOAD.LIBRARIES>
|
||||
<FOREACH.LTDAUTOLOAD.OBJECTS=.init>
|
||||
<LTDAUTOLOAD.OBJECT=.init:t>
|
||||
<END.LTDAUTOLOAD.OBJECTS>
|
||||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.init>
|
||||
<LTDAUTOLOAD.LIBRARY=.init:t>
|
||||
<END.LTDAUTOLOAD.LIBRARIES>
|
||||
. = ALIGN(4);
|
||||
SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.SINIT_START = .;
|
||||
#:::::::::: ctor
|
||||
<FOREACH.LTDAUTOLOAD.OBJECTS=.ctor>
|
||||
<LTDAUTOLOAD.OBJECT=.ctor:t>
|
||||
<END.LTDAUTOLOAD.OBJECTS>
|
||||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.ctor>
|
||||
<LTDAUTOLOAD.LIBRARY=.ctor:t>
|
||||
<END.LTDAUTOLOAD.LIBRARIES>
|
||||
<FOREACH.LTDAUTOLOAD.OBJECTS=.sinit>
|
||||
<LTDAUTOLOAD.OBJECT=.sinit:t>
|
||||
<END.LTDAUTOLOAD.OBJECTS>
|
||||
<FOREACH.LTDAUTOLOAD.LIBRARIES=.sinit>
|
||||
<LTDAUTOLOAD.LIBRARY=.sinit:t>
|
||||
<END.LTDAUTOLOAD.LIBRARIES>
|
||||
#:::::::::: ctor
|
||||
SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.SINIT_END = .;
|
||||
#:::::::::: text/rodata
|
||||
SDK_LTDAUTOLOAD.<LTDAUTOLOAD.NAME>.TEXT_END =.;
|
||||
|
||||
|
||||
@ -26,6 +26,9 @@ Static $(TARGET_NAME)
|
||||
Object * (.itcm)
|
||||
Object $(OBJS_AUTOLOAD) (.text)
|
||||
Object $(OBJS_AUTOLOAD) (.rodata)
|
||||
Object $(OBJS_AUTOLOAD) (.init)
|
||||
Object $(OBJS_AUTOLOAD) (.ctor)
|
||||
Object $(OBJS_AUTOLOAD) (.sinit)
|
||||
Object * (.ltdmain)
|
||||
Object $(OBJS_LTDAUTOLOAD)
|
||||
Library $(LLIBS_EX) $(GLIBS_EX)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user