Package: libselinux Version: 1.30.26-2 Severity: grave Tags: upstream libselinux1 currently fails to build on arm, m68k, hppa and mips* because the version of gcc/binutils currently in etch does not support TLS. This is keeping udev, cron and other important packages out from testing.
From #selinux:
<Md> does the latest libselinux *really* depend on TLS? now it's broken on
mips*, arm, m68k and hppa
[...]
<PeBenito|work> looks like that has been in there since june 26
<dwalsh> Should be ifdef'd around I guess
<PeBenito|work> dwalsh: why are those needed?
<Md> dwalsh: can you confirm that __thread can be safely removed on
architectures not supporting TLS?
<dwalsh> myflags was needed as a global to maintain flags over multiple calls
of matchpatchon functions as I recall.
<Md> also four prev_t2r_* variables in setrans_client.c
<dwalsh> They are not thread safe, so making it __threads made them thread
local variables.
<dwalsh> Do these other platforms have the concept of thread local variable or
do you need to wrap them in semaphores?
<Md> is this an implementation detail which changed or did it fix a bug which
has always been present?
<dwalsh> They were done to speed things up.
<Md> dwalsh: at least some have it in trunk gcc/binutils, but it will not be
available in time for the next debian release, which is half frozen
<PeBenito|work> if its not safe w/o TLS, and not all archs have TLS, it seems
like the design needs to be rethought :x
<dwalsh> As I recall in translations, if you translate the same context over
and over again for example ls -lZ /etc you can save lots of processing
<Md> (does anybody mind if I will attach this log to the debian bug report?)
<PeBenito|work> Md: this is a public channel
<PeBenito|work> Md: you should still send an email to the selinux list,
referencing the bug
--
ciao,
Marco
signature.asc
Description: Digital signature

