Re: [Qemu-devel] Sparc-linux-user problem
On Saturday 28 April 2007, Blue Swirl wrote: Hi, I'm investigating why Sparc32 user emulator breaks when linked with -lrt. It seems that other libraries also cause the problem, for example -lm -ldl -lX11 -lbfd -lslang is okay, but -lm -ldl -lX11 -lbfd -lslang -lglib-2.0 segfaults just like -lm -lrt. If just address space conflict was the issue, I'd think 12 megs libbfd would trigger the problem instead of 64k librt. Any ideas? I've never got this to work reliably on either x86 or amd64 hosts. I get mysterious segfaults in the depths of libc. My guess is that the tricks qemu uses to link itself as a shared library are confusing things (possibly the TLS initialisation). Configuring with --enable-static usually works around the problem. Paul
Re: [Qemu-devel] Sparc-linux-user problem
On Sat, 28 Apr 2007 18:20:55 +0100 Paul Brook [EMAIL PROTECTED] wrote: On Saturday 28 April 2007, Blue Swirl wrote: Hi, I'm investigating why Sparc32 user emulator breaks when linked with -lrt. It seems that other libraries also cause the problem, for example -lm -ldl -lX11 -lbfd -lslang is okay, but -lm -ldl -lX11 -lbfd -lslang -lglib-2.0 segfaults just like -lm -lrt. If just address space conflict was the issue, I'd think 12 megs libbfd would trigger the problem instead of 64k librt. Any ideas? I've never got this to work reliably on either x86 or amd64 hosts. I get mysterious segfaults in the depths of libc. My guess is that the tricks qemu uses to link itself as a shared library are confusing things (possibly the TLS initialisation). I don't suppose using gcc/binutils -fPIE/-pie would achieve qemu's goals, thus avoiding the need to specify bespoke ld scripts? -- Kevin F. Quinn signature.asc Description: PGP signature
Re: [Qemu-devel] Sparc-linux-user problem
On Saturday 28 April 2007, Kevin F. Quinn wrote: On Sat, 28 Apr 2007 18:20:55 +0100 Paul Brook [EMAIL PROTECTED] wrote: On Saturday 28 April 2007, Blue Swirl wrote: Hi, I'm investigating why Sparc32 user emulator breaks when linked with -lrt. It seems that other libraries also cause the problem, for example -lm -ldl -lX11 -lbfd -lslang is okay, but -lm -ldl -lX11 -lbfd -lslang -lglib-2.0 segfaults just like -lm -lrt. If just address space conflict was the issue, I'd think 12 megs libbfd would trigger the problem instead of 64k librt. Any ideas? I've never got this to work reliably on either x86 or amd64 hosts. I get mysterious segfaults in the depths of libc. My guess is that the tricks qemu uses to link itself as a shared library are confusing things (possibly the TLS initialisation). I don't suppose using gcc/binutils -fPIE/-pie would achieve qemu's goals, thus avoiding the need to specify bespoke ld scripts? Sort-of, maybe. Paul