|
@@ -38,6 +38,7 @@ Type
|
|
|
LogoWritten,
|
|
|
ABISetExplicitly,
|
|
|
FPUSetExplicitly,
|
|
|
+ LinkInternSetExplicitly,
|
|
|
CPUSetExplicitly,
|
|
|
OptCPUSetExplicitly: boolean;
|
|
|
FileLevel : longint;
|
|
@@ -4179,7 +4180,10 @@ begin
|
|
|
'e' :
|
|
|
begin
|
|
|
If UnsetBool(More, j, opt, false) then
|
|
|
- exclude(init_settings.globalswitches,cs_link_extern)
|
|
|
+ begin
|
|
|
+ exclude(init_settings.globalswitches,cs_link_extern);
|
|
|
+ LinkInternSetExplicitly:=true;
|
|
|
+ end
|
|
|
else
|
|
|
include(init_settings.globalswitches,cs_link_extern);
|
|
|
end;
|
|
@@ -4197,7 +4201,10 @@ begin
|
|
|
If UnsetBool(More, j, opt, false) then
|
|
|
include(init_settings.globalswitches,cs_link_extern)
|
|
|
else
|
|
|
- exclude(init_settings.globalswitches,cs_link_extern);
|
|
|
+ begin
|
|
|
+ exclude(init_settings.globalswitches,cs_link_extern);
|
|
|
+ LinkInternSetExplicitly:=true;
|
|
|
+ end;
|
|
|
end;
|
|
|
'n' :
|
|
|
begin
|
|
@@ -5692,6 +5699,13 @@ begin
|
|
|
|
|
|
if not option.LinkTypeSetExplicitly then
|
|
|
set_default_link_type;
|
|
|
+ if source_info.endian<>target_info.endian then
|
|
|
+ begin
|
|
|
+ if option.LinkInternSetExplicitly then
|
|
|
+ Message(link_e_unsupported_cross_endian_internal_linker)
|
|
|
+ else
|
|
|
+ include(init_settings.globalswitches,cs_link_extern);
|
|
|
+ end;
|
|
|
|
|
|
{ Default alignment settings,
|
|
|
1. load the defaults for the target
|