|
@@ -375,7 +375,7 @@ implementation
|
|
secname:='.tls';
|
|
secname:='.tls';
|
|
|
|
|
|
{ go32v2 stub only loads .text and .data sections, and allocates space for .bss.
|
|
{ go32v2 stub only loads .text and .data sections, and allocates space for .bss.
|
|
- Thus, data which normally goes into .rodata and .rodata_norel sections must
|
|
|
|
|
|
+ Thus, data which normally goes into .rodata and .rodata_norel sections must
|
|
end up in .data section }
|
|
end up in .data section }
|
|
if (atype in [sec_rodata,sec_rodata_norel]) and
|
|
if (atype in [sec_rodata,sec_rodata_norel]) and
|
|
(target_info.system=system_i386_go32v2) then
|
|
(target_info.system=system_i386_go32v2) then
|
|
@@ -387,8 +387,9 @@ implementation
|
|
if not(target_info.system in systems_darwin) and
|
|
if not(target_info.system in systems_darwin) and
|
|
create_smartlink_sections and
|
|
create_smartlink_sections and
|
|
(aname<>'') and
|
|
(aname<>'') and
|
|
- (atype <> sec_toc) and
|
|
|
|
- (atype<>sec_bss) then
|
|
|
|
|
|
+ (atype<>sec_toc) and
|
|
|
|
+ { on embedded systems every byte counts, so smartlink bss too }
|
|
|
|
+ ((atype<>sec_bss) or (target_info.system in system_embedded)) then
|
|
begin
|
|
begin
|
|
case aorder of
|
|
case aorder of
|
|
secorder_begin :
|
|
secorder_begin :
|