mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-23 10:29:12 +02:00
+ webassembly internal linker: create separate exe sections for .rodata and .bss
This commit is contained in:
parent
dc4689ba1b
commit
b361b41a86
@ -4257,7 +4257,7 @@ implementation
|
|||||||
begin
|
begin
|
||||||
{ WebAssembly is a Harvard architecture.
|
{ WebAssembly is a Harvard architecture.
|
||||||
Data lives in a separate address space, so start addressing back from 0. }
|
Data lives in a separate address space, so start addressing back from 0. }
|
||||||
if aname='.data' then
|
if aname='.rodata' then
|
||||||
CurrMemPos:=0;
|
CurrMemPos:=0;
|
||||||
inherited MemPos_ExeSection(aname);
|
inherited MemPos_ExeSection(aname);
|
||||||
end;
|
end;
|
||||||
|
@ -303,9 +303,13 @@ begin
|
|||||||
LinkScript.Concat(' OBJSECTION .text.*');
|
LinkScript.Concat(' OBJSECTION .text.*');
|
||||||
LinkScript.Concat('ENDEXESECTION');
|
LinkScript.Concat('ENDEXESECTION');
|
||||||
|
|
||||||
LinkScript.Concat('EXESECTION .data');
|
LinkScript.Concat('EXESECTION .rodata');
|
||||||
LinkScript.Concat(' OBJSECTION .rodata.*');
|
LinkScript.Concat(' OBJSECTION .rodata.*');
|
||||||
|
LinkScript.Concat('ENDEXESECTION');
|
||||||
|
LinkScript.Concat('EXESECTION .data');
|
||||||
LinkScript.Concat(' OBJSECTION .data.*');
|
LinkScript.Concat(' OBJSECTION .data.*');
|
||||||
|
LinkScript.Concat('ENDEXESECTION');
|
||||||
|
LinkScript.Concat('EXESECTION .bss');
|
||||||
LinkScript.Concat(' OBJSECTION .bss');
|
LinkScript.Concat(' OBJSECTION .bss');
|
||||||
LinkScript.Concat('ENDEXESECTION');
|
LinkScript.Concat('ENDEXESECTION');
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user