qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Re: [COMMIT e20a8df] Compile fdc, escc and SCSI controllers only once
       [not found] <200905211555.n4LFtklw030900@d01av03.pok.ibm.com>
@ 2009-05-21 16:45 ` Jan Kiszka
  2009-05-21 18:35   ` Blue Swirl
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Kiszka @ 2009-05-21 16:45 UTC (permalink / raw)
  To: Blue Swirl; +Cc: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 777 bytes --]

Anthony Liguori wrote:
> From: Blue Swirl <blauwirbel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> 
> Signed-off-by: Blue Swirl <blauwirbel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> 
> diff --git a/Makefile.hw b/Makefile.hw
> index 87675fd..6da37a9 100644
> --- a/Makefile.hw
> +++ b/Makefile.hw
> @@ -21,7 +21,13 @@ OBJS+= fw_cfg.o
>  OBJS+= watchdog.o
>  OBJS+= nand.o ecc.o
>  
> -OBJS+= m48t59.o
> +OBJS+= m48t59.o escc.o
> +
> +# PC style devices
> +OBJS+= fdc.o 

This breaks archs that do not come with DMA_* implementations. At least
ARM no longer links.

  LINK  arm-softmmu/qemu-system-arm
../libhw64/libqemuhw64.a(fdc.o): In function `fdctrl_stop_transfer':
/data/qemu/hw/fdc.c:1086: undefined reference to `DMA_release_DREQ'
[...]

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] Re: [COMMIT e20a8df] Compile fdc, escc and SCSI controllers only once
  2009-05-21 16:45 ` [Qemu-devel] Re: [COMMIT e20a8df] Compile fdc, escc and SCSI controllers only once Jan Kiszka
@ 2009-05-21 18:35   ` Blue Swirl
  2009-05-21 22:32     ` Paul Brook
  0 siblings, 1 reply; 5+ messages in thread
From: Blue Swirl @ 2009-05-21 18:35 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: qemu-devel

On 5/21/09, Jan Kiszka <jan.kiszka@web.de> wrote:
> Anthony Liguori wrote:
>  > From: Blue Swirl <blauwirbel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>  >
>  > Signed-off-by: Blue Swirl <blauwirbel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>  >
>  > diff --git a/Makefile.hw b/Makefile.hw
>  > index 87675fd..6da37a9 100644
>  > --- a/Makefile.hw
>  > +++ b/Makefile.hw
>  > @@ -21,7 +21,13 @@ OBJS+= fw_cfg.o
>  >  OBJS+= watchdog.o
>  >  OBJS+= nand.o ecc.o
>  >
>  > -OBJS+= m48t59.o
>  > +OBJS+= m48t59.o escc.o
>  > +
>  > +# PC style devices
>  > +OBJS+= fdc.o
>
>  This breaks archs that do not come with DMA_* implementations. At least
>  ARM no longer links.
>
>   LINK  arm-softmmu/qemu-system-arm
>  ../libhw64/libqemuhw64.a(fdc.o): In function `fdctrl_stop_transfer':
>  /data/qemu/hw/fdc.c:1086: undefined reference to `DMA_release_DREQ'
>  [...]

Yes, I forgot about the whole-archive hack. I've disabled it for
hwlib, so now arm-softmmu links.

The whole-archive flag should be used only when needed, otherwise it
will pull in a lot of unnecessary stuff like above.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] Re: [COMMIT e20a8df] Compile fdc, escc and SCSI controllers only once
  2009-05-21 18:35   ` Blue Swirl
@ 2009-05-21 22:32     ` Paul Brook
  2009-05-22 15:46       ` Blue Swirl
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Brook @ 2009-05-21 22:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: Blue Swirl, Jan Kiszka


> >  This breaks archs that do not come with DMA_* implementations. At least
> >  ARM no longer links.
> >
> >   LINK  arm-softmmu/qemu-system-arm
> >  ../libhw64/libqemuhw64.a(fdc.o): In function `fdctrl_stop_transfer':
> >  /data/qemu/hw/fdc.c:1086: undefined reference to `DMA_release_DREQ'
> >  [...]
>
> Yes, I forgot about the whole-archive hack. I've disabled it for
> hwlib, so now arm-softmmu links.

This is completely wrong. The reason we use whole-archive is so that device 
constructors are run. Most machines are broken after your change.

Paul

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] Re: [COMMIT e20a8df] Compile fdc, escc and SCSI controllers only once
  2009-05-21 22:32     ` Paul Brook
@ 2009-05-22 15:46       ` Blue Swirl
  2009-05-22 15:49         ` Paul Brook
  0 siblings, 1 reply; 5+ messages in thread
From: Blue Swirl @ 2009-05-22 15:46 UTC (permalink / raw)
  To: Paul Brook; +Cc: Jan Kiszka, qemu-devel

On 5/22/09, Paul Brook <paul@codesourcery.com> wrote:
>
>  > >  This breaks archs that do not come with DMA_* implementations. At least
>  > >  ARM no longer links.
>  > >
>  > >   LINK  arm-softmmu/qemu-system-arm
>  > >  ../libhw64/libqemuhw64.a(fdc.o): In function `fdctrl_stop_transfer':
>  > >  /data/qemu/hw/fdc.c:1086: undefined reference to `DMA_release_DREQ'
>  > >  [...]
>  >
>  > Yes, I forgot about the whole-archive hack. I've disabled it for
>  > hwlib, so now arm-softmmu links.
>
>
> This is completely wrong. The reason we use whole-archive is so that device
>  constructors are run. Most machines are broken after your change.

Did you test? I don't see any breakage, qemu-img --help shows all
block formats and qemu-system-arm -M '?' lists all machines.

Because whole-archive is still used for libqemu_common.a, all devices
in that archive are linked in (whether they are used or not!), so the
constructors work.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] Re: [COMMIT e20a8df] Compile fdc, escc and SCSI controllers only once
  2009-05-22 15:46       ` Blue Swirl
@ 2009-05-22 15:49         ` Paul Brook
  0 siblings, 0 replies; 5+ messages in thread
From: Paul Brook @ 2009-05-22 15:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Blue Swirl, Jan Kiszka

> >  > Yes, I forgot about the whole-archive hack. I've disabled it for
> >  > hwlib, so now arm-softmmu links.
> >
> > This is completely wrong. The reason we use whole-archive is so that
> > device constructors are run. Most machines are broken after your change.
>
> Did you test? I don't see any breakage, qemu-img --help shows all
> block formats and qemu-system-arm -M '?' lists all machines.
>
> Because whole-archive is still used for libqemu_common.a, all devices
> in that archive are linked in (whether they are used or not!), so the
> constructors work.

The machines themselves are there, but many of the devices they use (e.g. the 
pci scsi emulation) are not.

Paul

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-05-22 15:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200905211555.n4LFtklw030900@d01av03.pok.ibm.com>
2009-05-21 16:45 ` [Qemu-devel] Re: [COMMIT e20a8df] Compile fdc, escc and SCSI controllers only once Jan Kiszka
2009-05-21 18:35   ` Blue Swirl
2009-05-21 22:32     ` Paul Brook
2009-05-22 15:46       ` Blue Swirl
2009-05-22 15:49         ` Paul Brook

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).