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
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to