[fpc-devel] Build failure in Fedora 35 due to glibc 2.34 code hardening
Mattia Verga
mattia.verga at protonmail.com
Sat Aug 7 16:59:38 CEST 2021
Fedora has recently moved to using glibc 2.34. That caused Free Pascal
Compiler to stop building with the following output:
/usr/bin/ld:
/builddir/build/BUILD/fpcbuild-3.2.2/fpcsrc/rtl/units/powerpc64-linux/si_c.o:(.data.n_TC_$SI_C_$$_START_ADDRESSES+0x10):
undefined reference to `__libc_csu_init'
/usr/bin/ld:
/builddir/build/BUILD/fpcbuild-3.2.2/fpcsrc/rtl/units/powerpc64-linux/si_c.o:(.data.n_TC_$SI_C_$$_START_ADDRESSES+0x18):
undefined reference to `__libc_csu_fini'
Error: Error while linking
One of the guys responsible for glibc in Fedora gave this explanation:
> It's related to startup code hardening in glibc. In general, it's
not forward-compatible to call internal glibc functions this way.
> __libc_csu_init and __libc_csu_fini where never part of any header file.
> It's not clear to me why fpc needs to replace the startup code. They
could supply a C main function and call Pascall code from that. Or
compile the main program in such a way that it has a compatible
interface with the C main program.
I'm not the maintainer of fpc package in Fedora, but hopefully the real
maintainer will add themselves in this discussion. Do you have any hint
on how we can make fpc build again?
Mattia
More information about the fpc-devel
mailing list