qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [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).