[fpc-pascal] Smart-linking versus Whole Program Optimization

Jonas Maebe jonas at freepascal.org
Wed Mar 10 15:33:49 CET 2021

On 10/03/2021 14:51, Michael Van Canneyt via fpc-pascal wrote:
> On Wed, 10 Mar 2021, Jonas Maebe via fpc-pascal wrote:
>> On 10/03/2021 14:33, LacaK via fpc-pascal wrote:
>>> It will be nice have this in documentation. For example in
>>> https://www.freepascal.org/docs-html/prog/progse30.html#x195-2000007.3
>>> At least explain:
>>> - relation of -CX and -XX
>> Indeed.
> I am all for it.
> But please explain them in plain language so I can update the
> documentation,
> because from the help pages, I don't know what exactly to explain.

The general explanation is:
-CX: create object files that can be smartlinked
-XX: perform smartlinking during the linking phase (this requires that
the units were compiled with -CX)

On some targets, -CX is a no-op and -XX works even when -CX was not
specified (e.g. Linux), or both -CX and -XX are no-ops and smart linking
is always enabled (Windows).


More information about the fpc-pascal mailing list