* WebAssembly internal linker: don't remove unused code sections if smartlinking

is turned off. This is needed for debugging, because FPC doesn't support debug
  info with smartlinking on most platforms, and that includes WebAssembly.
This commit is contained in:
Nikolay Nikolov 2024-09-15 08:32:31 +03:00
parent 993db6cf32
commit 36ecb2b5da

View File

@ -4376,7 +4376,7 @@ implementation
InputError('Code section ' + tostr(i) + ' does not have a main symbol defined in the symbol table');
exit;
end;
if SegIsExported then
if SegIsExported or not (cs_link_smart in current_settings.globalswitches) then
CurrSec:=ObjData.createsection(SegName,1,[oso_executable,oso_Data,oso_load,oso_keep],false)
else
CurrSec:=ObjData.createsection(SegName,1,[oso_executable,oso_Data,oso_load],false);