cvs commit: src/sys/sys tls.h src/lib/libc/gen tls.c src/lib/libthread_xu/arch/amd64/amd64 pthread_md.c src/lib/libthread_xu/arch/i386/i386 pthread_md.c src/libexec/rtld-elf rtld.c rtld.h rtld_tls.h src/libexec/rtld-elf/i386 reloc.c
Matthew Dillon
dillon at apollo.backplane.com
Mon Mar 28 08:25:21 PST 2005
:On 28.03.2005, at 05:33, Matthew Dillon wrote:
:> Log:
:> Cleanup and retool portions of the TLS support and make sure that
:> non-threaded binaries remain compatible with older kernels.
:
:will this make snapshot builds work again? since some days i got
:invalid syscall faults with pkg_add in nrelease.
:
:we might consider using a host-pkg_add for that lateron, when we do
:crossbuilds to other archs.
:
:cheers
: simon
Hmm. Yes, before that cleanup libc was doing TLS calls even for
non-threaded, non-TLS programs, and if such a binary is run on FreeBSD
or an older version of DragonFly it would fault-out with a non-existant
system call.
The buildworld process is supposed to use natively-built binaries for
the build itself but there are a number of chicken-and-egg issues, such
as with the compiler, which requires building an architecture-native
version of the compiler using DragonFly libraries, and that is
probably what was causing your problems.
But this is only delaying the issue. After the release we are going to
start working on libc5 and most other libraries will need their major
revs bumped too, as well as switching to gcc3 and almost certainly using
static TLS storage natively in the new libraries. Once we do that there
is no going back.
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Commits
mailing list