|
From: Tom H. <th...@cy...> - 2004-02-20 10:11:08
|
In message <Pin...@ye...>
Nicholas Nethercote <nj...@ca...> wrote:
> On Fri, 20 Feb 2004 js...@ac... wrote:
>
>> Nightly build on nemesis ( SuSE 9.0 ) started at 2004-02-20 03:50:00 GMT
>>
>> Checking out source tree ... done
>> Configuring ... done
>> Building ... done
>> Running regression tests ... done
>>
>> Last 20 lines of log.verbose follow
>>
>> then mv -f ".deps/tls.Tpo" ".deps/tls.Po"; \
>> else rm -f ".deps/tls.Tpo"; exit 1; \
>> fi
>> if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -Winline -Wall -Wshadow -g -I../../include -MT tls2.o -MD -MP -MF ".deps/tls2.Tpo" \
>> -c -o tls2.o `test -f 'tls2.c' || echo './'`tls2.c; \
>> then mv -f ".deps/tls2.Tpo" ".deps/tls2.Po"; \
>> else rm -f ".deps/tls2.Tpo"; exit 1; \
>> fi
>> gcc -Winline -Wall -Wshadow -g -I../../include -o tls -Wl,-rpath,. tls.o tls2.o tls.so -lpthread
>> tls.so: undefined reference to `___tls_get_addr'
>> collect2: ld returned 1 exit status
>
> Anyone know what the problem is here? I'm guessing it's a glibc thing...
I would refer the honourable gentleman to the answer I gave a few
days ago...
Seriously, the problem is that Julian has a compiler that understands
the __thread qualifier but a glibc that doesn't support TLS data so
the code that gcc is generating for that test won't link.
Of course if his compiler didn't support __thread it wouldn't compile
so that wouldn't be much better.
The basic problem is that the TLS test that Jeremy added will only
work on systems that fully support TLS data in their compiler and run
time libraries.
By the way, if we're interested in doing daily build/tests on various
platforms then I can easily set it up on a range of RedHat/Fedora
systems if there is a script available to do it.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|