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

Attachment: signature.asc
Description: Digital signature

Reply via email to