On 30/11/2018 10:26, Cyrax wrote:
On 30/11/2018 12:23, Cyrax wrote:
On 30/11/2018 11:12, C Western wrote:
On 30/11/2018 04:23, Cyrax wrote:
On 30/11/2018 00:53, C Western wrote:
On 26/11/2018 22:46, - - wrote:
An additional note - it may well be a ld version issue. On Ubuntu the ld version is 2.30, but on Fedora ld reports 2.31.1-13.fc29. (Maybe I should have held off upgrading to Fedora 29...)

Colin
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Looking at this a little more I think the headers are simply not available to the program. Simply commenting out the INITTLS call allows the compiler to be built successfully. I note that multi-threaded programs don't call it (at least those using cthreads) and if the program isn't multi-threaded the call to INITTLS is most likely not needed so I suspect this would fix most use cases. My main non-gui program (multi-threaded) runs fine. However on Fedora 29 32 bit builds on 64 bit systems are broken for lazarus because the 32 bit -devel packages are broken:

https://bugzilla.redhat.com/show_bug.cgi?id=1651231

https://bugzilla.redhat.com/show_bug.cgi?id=1645328

so maybe I should just conclude that 32 bit apps are broken on Fedora.

Colin

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Can you test if patch from my bug report <url:https://bugs.freepascal.org/view.php?id=34475> fixes your problem? You can omit changes for x86_64 target from that patch.


_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

This is loader-abitag.diff? With that applied, both 64 and 32 bit fpc trunk build, and basic testing indicates that they are working fine. I note however that compiling a basic "Hello World" program now produces a dynamically linked, rather than a statically linked executable, and INITTLS is not called.

Colin

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Strange. All my (32/64 bits) binaries are static ones.

What I can see at seeing the source code is that INITTLS is only defined for i386 target.

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Oh, I forgot to mention that I use Arch Linux. I run the i686 and x86_64 versions of Arch as an LXC containers.

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Sorry - my statement about "Hello World" producing a dynamically linked executable was wrong - I must have mixed up the source file. It now behaves as I would expect, and can recommend your patch. I will add a note in the bug tracker

Colin

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to