mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-25 00:11:20 +02:00
* fix setting of internal/external linker
git-svn-id: trunk@3612 -
This commit is contained in:
parent
5ef20e6215
commit
0bb57006e5
@ -2190,12 +2190,12 @@ begin
|
|||||||
set_target_asm(target_info.assemextern);
|
set_target_asm(target_info.assemextern);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ disable internal linker if it is not registered or
|
{ Force use of external linker if there is no
|
||||||
if we skip the linking }
|
internal linker or the linking is skipped }
|
||||||
if not(cs_link_extern in initglobalswitches) and
|
if not(cs_link_extern in initglobalswitches) and
|
||||||
(not assigned(target_info.link) or
|
(not assigned(target_info.link) or
|
||||||
(cs_link_nolink in initglobalswitches)) then
|
(cs_link_nolink in initglobalswitches)) then
|
||||||
exclude(initglobalswitches,cs_link_extern);
|
include(initglobalswitches,cs_link_extern);
|
||||||
|
|
||||||
{ turn off stripping if compiling with debuginfo or profile }
|
{ turn off stripping if compiling with debuginfo or profile }
|
||||||
if (cs_debuginfo in initmoduleswitches) or
|
if (cs_debuginfo in initmoduleswitches) or
|
||||||
@ -2211,15 +2211,6 @@ begin
|
|||||||
(target_info.system in [system_i386_win32,system_x86_64_win64]) then
|
(target_info.system in [system_i386_win32,system_x86_64_win64]) then
|
||||||
exclude(target_info.flags,tf_smartlink_sections);
|
exclude(target_info.flags,tf_smartlink_sections);
|
||||||
|
|
||||||
if (cs_link_extern in initglobalswitches) then
|
|
||||||
begin
|
|
||||||
{ By default don't create import section if we use the internal linker }
|
|
||||||
if not GenerateImportSectionSetExplicitly then
|
|
||||||
GenerateImportSection:=false;
|
|
||||||
{ Enable section smartlinking }
|
|
||||||
include(target_info.flags,tf_smartlink_sections);
|
|
||||||
end;
|
|
||||||
|
|
||||||
{$ifdef x86_64}
|
{$ifdef x86_64}
|
||||||
{$warning HACK: turn off smartlinking}
|
{$warning HACK: turn off smartlinking}
|
||||||
exclude(initmoduleswitches,cs_create_smart);
|
exclude(initmoduleswitches,cs_create_smart);
|
||||||
|
Loading…
Reference in New Issue
Block a user