* don't always pass -no_dead_strip_inits_and_terms, because it automatically

turns on dead code stripping (smart linking). Do specify it when smart
    linking is enabled though.

git-svn-id: trunk@13653 -
This commit is contained in:
Jonas Maebe 2009-09-05 20:19:12 +00:00
parent 1b04684d78
commit 1503890756

View File

@ -161,14 +161,14 @@ begin
On 64bit systems, page zero is 4GB by default, so no problems
there.
}
ExeCmd[1]:='ld $PRTOBJ $OPT $DYNLINK $STATIC $GCSECTIONS $STRIP -pagezero_size 0x10000 -no_dead_strip_inits_and_terms -multiply_defined suppress -L. -o $EXE `cat $RES`';
ExeCmd[1]:='ld $PRTOBJ $OPT $DYNLINK $STATIC $GCSECTIONS $STRIP -pagezero_size 0x10000 -multiply_defined suppress -L. -o $EXE `cat $RES`';
{$else ndef cpu64bitaddr}
ExeCmd[1]:='ld $PRTOBJ $OPT $DYNLINK $STATIC $GCSECTIONS $STRIP -no_dead_strip_inits_and_terms -multiply_defined suppress -L. -o $EXE `cat $RES`';
{$endif ndef cpu64bitaddr}
if (apptype<>app_bundle) then
DllCmd[1]:='ld $PRTOBJ $OPT -no_dead_strip_inits_and_terms -dynamic -dylib -multiply_defined suppress -L. -o $EXE `cat $RES`'
DllCmd[1]:='ld $PRTOBJ $OPT -dynamic -dylib -multiply_defined suppress -L. -o $EXE `cat $RES`'
else
DllCmd[1]:='ld $PRTOBJ $OPT -no_dead_strip_inits_and_terms -dynamic -bundle -multiply_defined suppress -L. -o $EXE `cat $RES`'
DllCmd[1]:='ld $PRTOBJ $OPT -dynamic -bundle -multiply_defined suppress -L. -o $EXE `cat $RES`'
end
end
else
@ -531,7 +531,7 @@ begin
if not(target_info.system in systems_darwin) then
GCSectionsStr:='--gc-sections'
else
GCSectionsStr:='-dead_strip';
GCSectionsStr:='-dead_strip -no_dead_strip_inits_and_terms';
if(not(target_info.system in systems_darwin) and
(cs_profile in current_settings.moduleswitches)) or