Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2016-06

Small fixes to softfpu.pp complementing r27215

10 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Max Nazhalov

These are fix compiling softfpu with FPC_SOFTFLOAT_FLOATX80 and FPC_SOFTFLOAT_FLOAT128 enabled.

WBR, Max Index: rtl/inc/softfpu.pp =================================================================== --- rtl/inc/softfpu.pp (revision 33913) +++ rtl/inc/softfpu.pp (working copy) @@ -6227,7 +6227,7 @@ function roundAndPackFloatx80(roundingPrecision: int8; zSign: flag; zExp: int32; zSig0: bits64; zSig1: bits64): floatx80; var - roundingMode: int8; + roundingMode: TFPURoundingMode; roundNearestEven, increment, isTiny: flag; roundIncrement, roundMask, roundBits: int64; label @@ -6786,7 +6786,7 @@ aSign: flag; aExp: int32; lastBitMask, roundBitsMask: bits64; - roundingMode: int8; + roundingMode: TFPURoundingMode; z: floatx80; begin aExp := extractFloatx80Exp( a ); @@ -7751,7 +7751,7 @@ function roundAndPackFloat128(zSign: flag; zExp: int32; zSig0: bits64; zSig1: bits64; zSig2: bits64): float128; var - roundingMode: int8; + roundingMode: TFPURoundingMode; roundNearestEven, increment, isTiny: flag; begin roundingMode := softfloat_rounding_mode; @@ -8238,7 +8238,7 @@ aSign: flag; aExp: int32; lastBitMask, roundBitsMask: bits64; - roundingMode: int8; + roundingMode: TFPURoundingMode; z: float128; begin aExp := extractFloat128Exp( a );

Reply by email

Alfred
to Florian Klämpfl

FPC revision 33895 introduced some changes that are behind a VER3_0 define.
This revision prevents the building of FPC trunk with a FPC 3.1.1 bootstrap compiler on an aarch64 system.

I do know that I should use a 3.0.0 bootstrapper to build trunk. So, I am open for instructions on how to build a 3.0.0 compiler for aarch64.
Because, I do not know how to build one.

Until this time, I used cross-compiling trunk on a Windows-system to build a 3.1.1 (cross)compiler for aarch64.

The makefiles for 3.0.0 do not have an aarch64 target. Also, the Makefile.fpc do not contain aarch64 info.

Any help would be appreciated.

Reply by email

Jonas Maebe
to Alfred

Alfred wrote on Mon, 06 Jun 2016:

Show quoted text 10 lines
FPC revision 33895 introduced some changes that are behind a VER3_0 define. This revision prevents the building of FPC trunk with a FPC 3.1.1 bootstrap compiler on an aarch64 system. I do know that I should use a 3.0.0 bootstrapper to build trunk. So, I am open for instructions on how to build a 3.0.0 compiler for aarch64. Because, I do not know how to build one. Until this time, I used cross-compiling trunk on a Windows-system to build a 3.1.1 (cross)compiler for aarch64.

FPC 3.0 does not support AArch64. Therefore you indeed always have to bootstrap it through cross-compiling.

Jonas

Reply by email

Alfred
to Jonas Maebe

As I am expecting more fixes for aarch64 (see rev 33922 and bug 0030182), do you have any advice on how to proceed ? For debugging purposes, I am in need of a native aarch64 on my odroid-c2.
So, I need to be able to build latest trunk with a working/valid bootstrapper on the odroid-c2 itself.

Reply by email

Jonas Maebe
to Alfred

Alfred wrote on Mon, 06 Jun 2016:

As I am expecting more fixes for aarch64 (see rev 33922 and bug 0030182), do you have any advice on how to proceed ?

You will have to keep cross-bootstrapping until there is an official release with AArch64 support.

For debugging purposes, I am in need of a native aarch64 on my odroid-c2. So, I need to be able to build latest trunk with a working/valid bootstrapper on the odroid-c2 itself.

That is not possible.

Jonas

Reply by email

Alfred
to Jonas Maebe

Thanks for clearing things up.

Too bad that building FPC trunk with trunk is not possible anymore. I just build trunk rev 33894 native on the odroid-c2 without any problems with a few weeks old trunk bootstrapper.

It would be nice (even if considered a happy coincidence), if the possibility to build trunk with trunk would remain.

I hope that aarch64 support will be ready when 64bit is available for RPi3.
Could be a boost for FPC/Lazarus.

Reply by email

Florian Klämpfl
to Alfred
Alfred wrote 8 lines
Thanks for clearing things up. Too bad that building FPC trunk with trunk is not possible anymore. I just build trunk rev 33894 native on the odroid-c2 without any problems with a few weeks old trunk bootstrapper. It would be nice (even if considered a happy coincidence), if the possibility to build trunk with trunk would remain.

This cannot be guaranteed. What's the problem with cross compiling? Normally this is a matter of a few minutes to get a cross compiler and copy it to the target machine to build trunk on it.

Show quoted text 8 lines
I hope that aarch64 support will be ready when 64bit is available for RPi3. Could be a boost for FPC/Lazarus. _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply by email

Sven Barth
to Alfred: Thanks for clearing things up. Too bad that building FPC trunk with trunk is not possible…
"Alfred" wrote
It would be nice (even if considered a happy coincidence), if the

possibility to build trunk with trunk would remain.

We only guarantee that trunk can be build by the last release, nothing else. We couldn't even detect another in-between version (the source could be from a directory without SVN support), not to mention the maintenance nightmare this would create. And if we'd made an exception here then others would want exceptions for other occasions as well. Also in 2.7.1 times building trunk from an earlier trunk version broke more often due to various developments going on, so you're lucky that it worked as long as it did.

Regards,
Sven

Reply by email

Alfred
to Sven Barth

@all

Please excuse me for misunderstanding !

I just build myself a new (cross)compiler with latest trunk. I could successfully build latest trunk on the odroid itself.

Indeed, only a few minutes of work.
With the right knowledge, many things are easy.

Thanks for explaining.
Sorry for the trouble.

From now on, I will keep my (online) aarch64 bootstrapper up-to-date !

Reply by email