[fpc-pascal] Why is cthreads unit not included by default
Jonas Maebe
jonas.maebe at elis.ugent.be
Thu Aug 27 13:09:21 CEST 2009
On 27 Aug 2009, at 12:49, Graeme Geldenhuys wrote:
> Is this an issue, even if your program doesn't use any
> procedures/functions from the dynamically linked C library. For
> example,
> a console application that includes the cthreads unit (which
> dynamically
> links to C Library), but doesn't actually use the C Library or
> threads.
> Would such a console application not run on an 8 year old Linux
> distro?
It would not run *on* an 8-year old Linux distro regardless of whether
you use libc, because FPC nowadays uses Linux 2.4.x+ system calls.
What Michael was talking about was about running 8-year old programs
on a current kernel.
And that would probably work, although with some caveats. Programs
that use the C library also require special startup code. This code is
normally in crt1.o and shipped together with the C library, and is
always linked statically into the program. FPC contains its own
version of that code for Linux and *BSD, but slightly adapted. There
are different versions for at least libc5, glibc 2.x and uclibc (and
they are not interchangeable).
The switchover from libc5 to glibc 2.x happened more than 8 years ago,
so you'd probably be safe in this particular scenario.
Jonas
More information about the fpc-pascal
mailing list