Do I need to make fpc 3.0.0 twice?

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Do I need to make fpc 3.0.0 twice?

Bo Berglund
I downloaded the release tag of fpc 3.0.0 via svn and built it using
the 2.6.4 seed compiler. It seems to work OK.

But now I got to thinking:
Should I make fpc 3.0.0 once more using the newly created fpc 3.0.0?
Will there be some difference between the two 3.0.0 versions if I do?


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to make fpc 3.0.0 twice?

Mark Morgan Lloyd-5
Bo Berglund wrote:
> I downloaded the release tag of fpc 3.0.0 via svn and built it using
> the 2.6.4 seed compiler. It seems to work OK.
>
> But now I got to thinking:
> Should I make fpc 3.0.0 once more using the newly created fpc 3.0.0?
> Will there be some difference between the two 3.0.0 versions if I do?

It shouldn't, that's why the compiler is built more than once in the
standard makefile sequence.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to make fpc 3.0.0 twice?

leledumbo
Administrator
In reply to this post by Bo Berglund
> Should I make fpc 3.0.0 once more using the newly created fpc 3.0.0?

Yes if you do compile by hand (without Makefile)

> Will there be some difference between the two 3.0.0 versions if I do?

If what you mean is: does 3.0.0 compiler binary produced from single compilation by 2.6.4 differ from the one by 3.0.0? Then yes.

Else if what you mean is: will using 2.6.4 as the starting compiler produce different 3.0.0 binary from 3.0.0 while using the Makefile? Then no.
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to make fpc 3.0.0 twice?

Bo Berglund
On Sat, 9 Jan 2016 00:47:54 -0700 (MST), leledumbo
<[hidden email]> wrote:

>> Should I make fpc 3.0.0 once more using the newly created fpc 3.0.0?
>
>Yes if you do compile by hand (without Makefile)
Which I never do...

...
>
>Else if what you mean is: will using 2.6.4 as the starting compiler produce
>different 3.0.0 binary from 3.0.0 while using the Makefile? Then no.

I always use the make all command via the Makefile.
So do I read you right that the Makefile compiles the compiler twice,
once using the seed compiler and then using the thus created compiler?

--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to make fpc 3.0.0 twice?

Jonas Maebe-2
On 10/01/16 16:22, Bo Berglund wrote:
> I always use the make all command via the Makefile.
> So do I read you right that the Makefile compiles the compiler twice,
> once using the seed compiler and then using the thus created compiler?

It compiles it thrice: once more in the end to ensure that the resulting
compiler is "stable", in the sense that it generates the same code when
compiled with itself as when compiled with a previous release.


Jonas
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to make fpc 3.0.0 twice?

Bo Berglund
On Sun, 10 Jan 2016 16:35:43 +0100, Jonas Maebe
<[hidden email]> wrote:

>On 10/01/16 16:22, Bo Berglund wrote:
>> I always use the make all command via the Makefile.
>> So do I read you right that the Makefile compiles the compiler twice,
>> once using the seed compiler and then using the thus created compiler?
>
>It compiles it thrice: once more in the end to ensure that the resulting
>compiler is "stable", in the sense that it generates the same code when
>compiled with itself as when compiled with a previous release.

Fantastic! Then I can be assured a successful make results in the
expected release version!
Good job!


--
Bo Berglund
Developer in Sweden

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to make fpc 3.0.0 twice?

Peter
In reply to this post by Jonas Maebe-2
On 10/01/16 15:35, Jonas Maebe wrote:

> On 10/01/16 16:22, Bo Berglund wrote:
>> I always use the make all command via the Makefile.
>> So do I read you right that the Makefile compiles the compiler twice,
>> once using the seed compiler and then using the thus created compiler?
>
> It compiles it thrice: once more in the end to ensure that the resulting
> compiler is "stable", in the sense that it generates the same code when
> compiled with itself as when compiled with a previous release.
>
>
> Jonas
> _______________________________________________
> fpc-pascal maillist  -  [hidden email]
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
>

But what about optimising the RTL to -O4?

I did a separate pass to build the RTL with -O4 which 2.64 does not
support. I found it makes a useful difference to the execution speed of
some programs.


Peter
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to make fpc 3.0.0 twice?

Sven Barth-2

Am 13.01.2016 00:53 schrieb "Peter" <[hidden email]>:
> But what about optimising the RTL to -O4?
>
> I did a separate pass to build the RTL with -O4 which 2.64 does not
> support. I found it makes a useful difference to the execution speed of
> some programs.

There is a variant of the OPT parameter that applies options only for the last compilation. This way you can use options that the compiling compiler does not yet support. Now if I'd only remember that... -.- (for cross compilation one can use CROSS_OPT)

Regards,
Sven


_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to make fpc 3.0.0 twice?

Marco van de Voort
In our previous episode, Sven Barth said:
> There is a variant of the OPT parameter that applies options only for the
> last compilation. This way you can use options that the compiling compiler
> does not yet support. Now if I'd only remember that... -.- (for cross
> compilation one can use CROSS_OPT)

NEWOPT
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to make fpc 3.0.0 twice?

Sven Barth-2

Am 13.01.2016 08:34 schrieb "Marco van de Voort" <[hidden email]>:
>
> In our previous episode, Sven Barth said:
> > There is a variant of the OPT parameter that applies options only for the
> > last compilation. This way you can use options that the compiling compiler
> > does not yet support. Now if I'd only remember that... -.- (for cross
> > compilation one can use CROSS_OPT)
>
> NEWOPT

Ah, thanks. :) (and CROSS_OPT might be CROSSOPT... :/ )

Regards,
Sven


_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to make fpc 3.0.0 twice?

Peter
In reply to this post by Marco van de Voort
On 13/01/16 07:33, Marco van de Voort wrote:

> In our previous episode, Sven Barth said:
>> There is a variant of the OPT parameter that applies options only for the
>> last compilation. This way you can use options that the compiling compiler
>> does not yet support. Now if I'd only remember that... -.- (for cross
>> compilation one can use CROSS_OPT)
>
> NEWOPT
> _______________________________________________
> fpc-pascal maillist  -  [hidden email]
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
>

Thanks Marco, thats useful to know. Can't find it mentioned anywhere in
the Programers Guide.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal