* [Qemu-devel] QEMU crash with Fedora Core 2
@ 2004-05-25 22:47 Hetz Ben Hamo
2004-05-26 9:00 ` David Woodhouse
0 siblings, 1 reply; 6+ messages in thread
From: Hetz Ben Hamo @ 2004-05-25 22:47 UTC (permalink / raw)
To: qemu-devel; +Cc: Fabrice Bellard
Hi,
I just finished compiling and installing QEMU from CVS. running the following
command:
qemu -m 32 -hda hd.img -boot c
Gives me this:
qemu: relocation error: qemu: symbol __libc_sigaction, version GLIBC_PRIVATE
not defined in file libc.so.6 with link time reference
Googling this error brings a link to a redhat 7.3 bug ;)
Thanks,
Hetz
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] QEMU crash with Fedora Core 2
2004-05-25 22:47 [Qemu-devel] QEMU crash with Fedora Core 2 Hetz Ben Hamo
@ 2004-05-26 9:00 ` David Woodhouse
2004-05-26 14:24 ` Hetz Ben Hamo
2004-05-26 20:04 ` Fabrice Bellard
0 siblings, 2 replies; 6+ messages in thread
From: David Woodhouse @ 2004-05-26 9:00 UTC (permalink / raw)
To: hetz, qemu-devel; +Cc: Fabrice Bellard
On Wed, 2004-05-26 at 01:47 +0300, Hetz Ben Hamo wrote:
> qemu: relocation error: qemu: symbol __libc_sigaction, version GLIBC_PRIVATE
> not defined in file libc.so.6 with link time reference
>
> Googling this error brings a link to a redhat 7.3 bug ;)
__libc_sigaction is a glibc private function. Explicitly linking to it
is an application bug.
I believe it's done to work around an old linuxthreads-related SDL bug
which doesn't actually exist any more.
--- qemu-0.5.4/vl.c.orig 2004-05-02 11:58:59.852195291 +0100
+++ qemu-0.5.4/vl.c 2004-05-02 11:59:37.856959391 +0100
@@ -56,18 +56,6 @@
#define memalign(align, size) malloc(size)
#endif
-#ifdef CONFIG_SDL
-/* SDL use the pthreads and they modify sigaction. We don't
- want that. */
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
-extern void __libc_sigaction();
-#define sigaction(sig, act, oact) __libc_sigaction(sig, act, oact)
-#else
-extern void __sigaction();
-#define sigaction(sig, act, oact) __sigaction(sig, act, oact)
-#endif
-#endif /* CONFIG_SDL */
-
#include "disas.h"
#include "exec-all.h"
--
dwmw2
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] QEMU crash with Fedora Core 2
2004-05-26 9:00 ` David Woodhouse
@ 2004-05-26 14:24 ` Hetz Ben Hamo
2004-05-26 20:04 ` Fabrice Bellard
1 sibling, 0 replies; 6+ messages in thread
From: Hetz Ben Hamo @ 2004-05-26 14:24 UTC (permalink / raw)
To: David Woodhouse; +Cc: qemu-devel, Fabrice Bellard
On Wednesday 26 May 2004 12:00, David Woodhouse wrote:
> On Wed, 2004-05-26 at 01:47 +0300, Hetz Ben Hamo wrote:
> > qemu: relocation error: qemu: symbol __libc_sigaction, version
> > GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
> >
> > Googling this error brings a link to a redhat 7.3 bug ;)
>
> __libc_sigaction is a glibc private function. Explicitly linking to it
> is an application bug.
>
> I believe it's done to work around an old linuxthreads-related SDL bug
> which doesn't actually exist any more.
Just tested your patch and indeed, qemu runs happily on Fedora Core 2.
Fabrice, any chance of committing it? I heard the same problem appears in
Mandrake 10.
Thanks,
Hetz
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] QEMU crash with Fedora Core 2
2004-05-26 9:00 ` David Woodhouse
2004-05-26 14:24 ` Hetz Ben Hamo
@ 2004-05-26 20:04 ` Fabrice Bellard
2004-05-27 6:36 ` Hetz Ben Hamo
2004-05-27 6:57 ` Alexander E. Patrakov
1 sibling, 2 replies; 6+ messages in thread
From: Fabrice Bellard @ 2004-05-26 20:04 UTC (permalink / raw)
To: qemu-devel
I cannot accept this patch: it breaks qemu-fast with all old libcs. The
good solution is to use a specific sigaction call which directly makes
the sigaction Linux system call.
Fabrice.
David Woodhouse wrote:
> On Wed, 2004-05-26 at 01:47 +0300, Hetz Ben Hamo wrote:
>
>>qemu: relocation error: qemu: symbol __libc_sigaction, version GLIBC_PRIVATE
>>not defined in file libc.so.6 with link time reference
>>
>>Googling this error brings a link to a redhat 7.3 bug ;)
>
>
> __libc_sigaction is a glibc private function. Explicitly linking to it
> is an application bug.
>
> I believe it's done to work around an old linuxthreads-related SDL bug
> which doesn't actually exist any more.
>
> --- qemu-0.5.4/vl.c.orig 2004-05-02 11:58:59.852195291 +0100
> +++ qemu-0.5.4/vl.c 2004-05-02 11:59:37.856959391 +0100
> @@ -56,18 +56,6 @@
> #define memalign(align, size) malloc(size)
> #endif
>
> -#ifdef CONFIG_SDL
> -/* SDL use the pthreads and they modify sigaction. We don't
> - want that. */
> -#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
> -extern void __libc_sigaction();
> -#define sigaction(sig, act, oact) __libc_sigaction(sig, act, oact)
> -#else
> -extern void __sigaction();
> -#define sigaction(sig, act, oact) __sigaction(sig, act, oact)
> -#endif
> -#endif /* CONFIG_SDL */
> -
> #include "disas.h"
>
> #include "exec-all.h"
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] QEMU crash with Fedora Core 2
2004-05-26 20:04 ` Fabrice Bellard
@ 2004-05-27 6:36 ` Hetz Ben Hamo
2004-05-27 6:57 ` Alexander E. Patrakov
1 sibling, 0 replies; 6+ messages in thread
From: Hetz Ben Hamo @ 2004-05-27 6:36 UTC (permalink / raw)
To: qemu-devel
On Wednesday 26 May 2004 23:04, Fabrice Bellard wrote:
> I cannot accept this patch: it breaks qemu-fast with all old libcs. The
> good solution is to use a specific sigaction call which directly makes
> the sigaction Linux system call.
>
> Fabrice.
So in plain english (sorry, my programming skills are very low) What should
Fedora Core 2 and Mandrake 10 (and coming soon SuSE 9.2/10) should do?
Thanks,
Hetz
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] QEMU crash with Fedora Core 2
2004-05-26 20:04 ` Fabrice Bellard
2004-05-27 6:36 ` Hetz Ben Hamo
@ 2004-05-27 6:57 ` Alexander E. Patrakov
1 sibling, 0 replies; 6+ messages in thread
From: Alexander E. Patrakov @ 2004-05-27 6:57 UTC (permalink / raw)
To: qemu-devel
Fabrice Bellard wrote:
> I cannot accept this patch: it breaks qemu-fast with all old libcs. The
> good solution is to use a specific sigaction call which directly makes
> the sigaction Linux system call.
What about various #ifdefs or bumping up the requirements?
Also, I could not get qemu-fast working with any glibc >=2.3.1 compiled
from pristine sources according to instructions from Linux From Scratch.
Qemu-fast compiles, but doesn't work with glibc >=2.3.1. It does not
compile at all with glibc-2.3.3-cvs with TLS enabled. See my message
"qemu and modern glibc" for changes to qemu that make qemu-fast at least
compile on glibc >=2.3.3-cvs. Please confirm privately that you have
read this message.
The tail of qemu.log is:
----------------
IN:
0x000c625d: repz stos %ax,%es:(%di)
----------------
IN:
0x000c625d: repz stos %ax,%es:(%di)
(repeated infinitely without any OUT, even if I add out_asm to the -d
switch). Plain non-fast qemu works perfectly.
What are known good _pristine_ (not RedHat) glibc versions that are
capable of producing a good qemu-fast binary?
On what distribution does the qemu development happen? What are
binutils/gcc/glibc versions?
--
Alexander E. Patrakov
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-05-28 22:02 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-25 22:47 [Qemu-devel] QEMU crash with Fedora Core 2 Hetz Ben Hamo
2004-05-26 9:00 ` David Woodhouse
2004-05-26 14:24 ` Hetz Ben Hamo
2004-05-26 20:04 ` Fabrice Bellard
2004-05-27 6:36 ` Hetz Ben Hamo
2004-05-27 6:57 ` Alexander E. Patrakov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).