[fpc-pascal] support for FreeBSD4 broken in fpc 2.0.4
Marc Santhoff
M.Santhoff at t-online.de
Fri Jan 26 16:58:27 CET 2007
Hi,
I haven't noticed up to now, but using fpc-2.0.4 on FreeBSD does not
work completely in FreeBSD 4.11 any more.
Observations:
- Compiling fpc 2.0.4 works.
- Compiling programs does not work with the new startup
code (rtl/freebsd/i386/cprto.as)
error: failure in _init_tls()
couldn't find info on what that is ...
- blindly switching to fpc 2.0.2s cprt0.as does make most
things work again ...
- ... but multitasking isn't possible, the old cprt0.as
does not work with threads at all
errors:
(gdb) bt
#0 0x2821e88b in pth_cancel_point () from /usr/local/lib/pth/libpthread.so.20
#1 0x28217938 in pthread_testcancel () from /usr/local/lib/pth/libpthread.so.20
#2 0x28536768 in _thread_enter_cancellation_point () from /usr/lib/libc_r.so.4
#3 0x2852a954 in fcntl () from /usr/lib/libc_r.so.4
#4 0x2821da45 in pth_fdmode () from /usr/local/lib/pth/libpthread.so.20
#5 0x2821a86f in __pth_scheduler_init () from /usr/local/lib/pth/libpthread.so.20
#6 0x2821ca76 in pth_init () from /usr/local/lib/pth/libpthread.so.20
#7 0x28217fa0 in pthread_mutex_init () from /usr/local/lib/pth/libpthread.so.20
#8 0x285020c2 in _thread_init () from /usr/lib/libc_r.so.4
#9 0x285384a8 in _thread_init_invoker::_thread_init_invoker () from /usr/lib/libc_r.so.4
#10 0x285384e1 in _thread_init_invoker::_thread_init_invoker () from /usr/lib/libc_r.so.4
#11 0x2853850a in _thread_init_invoker::_thread_init_invoker () from /usr/lib/libc_r.so.4
#12 0x28538538 in _thread_init_invoker::_thread_init_invoker () from /usr/lib/libc_r.so.4
#13 0x284bd6d6 in _init () from /usr/lib/libc_r.so.4
#14 0x281ecb5c in _rtld () from /usr/libexec/ld-elf.so.1
Is there any chance of having support for FreeBSD 4 integrated into
newer compilers?
What would it require to do so?
If the difference in initializing threads between 2.0.2 and 2.0.4 would
be put into makefiles or ifdef's I think it could work ... but my
knowledge of compiler internals and startup code is very limited.
TIA,
Marc
More information about the fpc-pascal
mailing list