qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Windows runtime error
@ 2009-05-21 21:58 Consul
  2009-05-22  2:11 ` Anthony Liguori
  0 siblings, 1 reply; 16+ messages in thread
From: Consul @ 2009-05-21 21:58 UTC (permalink / raw)
  To: qemu-devel

This commit breaks Windows giving runtime error "Unknown device 'virtio-balloon-pci'"

ec6bd8dea77478f32981a5df49f66ca2430ad19d

Author: Blue Swirl <blauwirbel@gmail.com>  2009-05-21 11:22:59
Committer: Blue Swirl <blauwirbel@gmail.com>  2009-05-21 11:22:59
Parent: 2567f5796c38238d6f2055f074e347a0338140ce (Compile most Xen files only once)

     Fix arm-softmmu breakage

     Don't use whole-archive for hwlib or libqemu objects

     Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-21 21:58 [Qemu-devel] Windows runtime error Consul
@ 2009-05-22  2:11 ` Anthony Liguori
  2009-05-22 12:04   ` Paul Brook
  2009-05-22 15:51   ` Blue Swirl
  0 siblings, 2 replies; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22  2:11 UTC (permalink / raw)
  To: Consul; +Cc: Blue Swirl, qemu-devel

Consul wrote:
> This commit breaks Windows giving runtime error "Unknown device 
> 'virtio-balloon-pci'"
>
> ec6bd8dea77478f32981a5df49f66ca2430ad19d
>
> Author: Blue Swirl <blauwirbel@gmail.com>  2009-05-21 11:22:59
> Committer: Blue Swirl <blauwirbel@gmail.com>  2009-05-21 11:22:59
> Parent: 2567f5796c38238d6f2055f074e347a0338140ce (Compile most Xen 
> files only once)
>
>     Fix arm-softmmu breakage
>
>     Don't use whole-archive for hwlib or libqemu objects
>
>     Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hwlib definitely needs whole-archive.

Why did this break arm-softmmu?  It builds fine for me.

Are you on a Solaris host by chance?

Regards,

Anthony Liguori
>
>

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22  2:11 ` Anthony Liguori
@ 2009-05-22 12:04   ` Paul Brook
  2009-05-22 13:07     ` Anthony Liguori
  2009-05-22 15:51   ` Blue Swirl
  1 sibling, 1 reply; 16+ messages in thread
From: Paul Brook @ 2009-05-22 12:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Blue Swirl, Consul

> >     Don't use whole-archive for hwlib or libqemu objects
> >
> >     Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>
> hwlib definitely needs whole-archive.
>
> Why did this break arm-softmmu?  It builds fine for me.

In function `fdctrl_stop_transfer':
fdc.c:1086: undefined reference to `DMA_release_DREQ'

There appears to be a missing dependency somewhere, I suspect libhw*.a doesn't 
get rebuilt when you move objects from Makefile.target to Makefile.hw.

Paul

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 12:04   ` Paul Brook
@ 2009-05-22 13:07     ` Anthony Liguori
  2009-05-22 13:15       ` Paul Brook
  0 siblings, 1 reply; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 13:07 UTC (permalink / raw)
  To: Paul Brook; +Cc: Blue Swirl, Consul, qemu-devel

Paul Brook wrote:
>>>     Don't use whole-archive for hwlib or libqemu objects
>>>
>>>     Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>>>       
>> hwlib definitely needs whole-archive.
>>
>> Why did this break arm-softmmu?  It builds fine for me.
>>     
>
> In function `fdctrl_stop_transfer':
> fdc.c:1086: undefined reference to `DMA_release_DREQ'
>
> There appears to be a missing dependency somewhere, I suspect libhw*.a doesn't 
> get rebuilt when you move objects from Makefile.target to Makefile.hw.
>   

So a fresh rebuild "fixes" the problem?

Blue, can you revert this commit then?

Regards,

Anthony Liguori

> Paul
>
>   

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 13:07     ` Anthony Liguori
@ 2009-05-22 13:15       ` Paul Brook
  2009-05-22 15:48         ` Anthony Liguori
  2009-05-22 15:55         ` Blue Swirl
  0 siblings, 2 replies; 16+ messages in thread
From: Paul Brook @ 2009-05-22 13:15 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Blue Swirl, Consul, qemu-devel

On Friday 22 May 2009, Anthony Liguori wrote:
> Paul Brook wrote:
> >>>     Don't use whole-archive for hwlib or libqemu objects
> >>>
> >>>     Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> >>
> >> hwlib definitely needs whole-archive.
> >>
> >> Why did this break arm-softmmu?  It builds fine for me.
> >
> > In function `fdctrl_stop_transfer':
> > fdc.c:1086: undefined reference to `DMA_release_DREQ'
> >
> > There appears to be a missing dependency somewhere, I suspect libhw*.a
> > doesn't get rebuilt when you move objects from Makefile.target to
> > Makefile.hw.
>
> So a fresh rebuild "fixes" the problem?

No, sorry, I mean occasionally you end up with a stale libhw.a.

>Blue, can you revert this commit then?

Both this (whole-archive) and the preceding fdc change need to be reverted.

The scsi bits are probably ok, but the fdc is tied to the ISA DMA engine. We 
don't currently have a target independent method of handling inter-device data 
transfer.

Paul

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 13:15       ` Paul Brook
@ 2009-05-22 15:48         ` Anthony Liguori
  2009-05-22 16:12           ` Blue Swirl
  2009-05-22 15:55         ` Blue Swirl
  1 sibling, 1 reply; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 15:48 UTC (permalink / raw)
  To: Paul Brook; +Cc: Blue Swirl, Consul, qemu-devel

Paul Brook wrote:
> On Friday 22 May 2009, Anthony Liguori wrote:
>   
>> Paul Brook wrote:
>>     
>>>>>     Don't use whole-archive for hwlib or libqemu objects
>>>>>
>>>>>     Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>>>>>           
>>>> hwlib definitely needs whole-archive.
>>>>
>>>> Why did this break arm-softmmu?  It builds fine for me.
>>>>         
>>> In function `fdctrl_stop_transfer':
>>> fdc.c:1086: undefined reference to `DMA_release_DREQ'
>>>
>>> There appears to be a missing dependency somewhere, I suspect libhw*.a
>>> doesn't get rebuilt when you move objects from Makefile.target to
>>> Makefile.hw.
>>>       
>> So a fresh rebuild "fixes" the problem?
>>     
>
> No, sorry, I mean occasionally you end up with a stale libhw.a.
>
>   
>> Blue, can you revert this commit then?
>>     
>
> Both this (whole-archive) and the preceding fdc change need to be reverted.
>   

I've reverted the whole-archive change and the fdc. I've left scsi 
intact.  They were blocking my testing of other patches.

Everything now links and seems to work.

Regards,

Anthony Liguori

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22  2:11 ` Anthony Liguori
  2009-05-22 12:04   ` Paul Brook
@ 2009-05-22 15:51   ` Blue Swirl
  2009-05-22 16:35     ` Anthony Liguori
  1 sibling, 1 reply; 16+ messages in thread
From: Blue Swirl @ 2009-05-22 15:51 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Consul, qemu-devel

On 5/22/09, Anthony Liguori <anthony@codemonkey.ws> wrote:
> Consul wrote:
>
> > This commit breaks Windows giving runtime error "Unknown device
> 'virtio-balloon-pci'"
> >
> > ec6bd8dea77478f32981a5df49f66ca2430ad19d
> >
> > Author: Blue Swirl <blauwirbel@gmail.com>  2009-05-21 11:22:59
> > Committer: Blue Swirl <blauwirbel@gmail.com>  2009-05-21 11:22:59
> > Parent: 2567f5796c38238d6f2055f074e347a0338140ce (Compile
> most Xen files only once)
> >
> >    Fix arm-softmmu breakage
> >
> >    Don't use whole-archive for hwlib or libqemu objects
> >
> >    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> >
>  hwlib definitely needs whole-archive.

No, it works fine without it.

>  Why did this break arm-softmmu?  It builds fine for me.

Because fdc.o was forced to be linked in with whole-archive but the
stuff that it depends on may be undefined on ARM. With whole-archive
removed from hwlib, fdc.o is not referenced in anywhere in arm-softmmu
and it will not be pulled in.

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 13:15       ` Paul Brook
  2009-05-22 15:48         ` Anthony Liguori
@ 2009-05-22 15:55         ` Blue Swirl
  2009-05-22 16:36           ` Anthony Liguori
  2009-05-24  9:14           ` Avi Kivity
  1 sibling, 2 replies; 16+ messages in thread
From: Blue Swirl @ 2009-05-22 15:55 UTC (permalink / raw)
  To: Paul Brook; +Cc: Consul, qemu-devel

On 5/22/09, Paul Brook <paul@codesourcery.com> wrote:
> On Friday 22 May 2009, Anthony Liguori wrote:
>  > Paul Brook wrote:
>  > >>>     Don't use whole-archive for hwlib or libqemu objects
>  > >>>
>  > >>>     Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>  > >>
>  > >> hwlib definitely needs whole-archive.
>  > >>
>  > >> Why did this break arm-softmmu?  It builds fine for me.
>  > >
>  > > In function `fdctrl_stop_transfer':
>  > > fdc.c:1086: undefined reference to `DMA_release_DREQ'
>  > >
>  > > There appears to be a missing dependency somewhere, I suspect libhw*.a
>  > > doesn't get rebuilt when you move objects from Makefile.target to
>  > > Makefile.hw.
>  >
>  > So a fresh rebuild "fixes" the problem?
>
>
> No, sorry, I mean occasionally you end up with a stale libhw.a.
>
>
>  >Blue, can you revert this commit then?
>
>
> Both this (whole-archive) and the preceding fdc change need to be reverted.

I disagree, whole-archive should only be used very sparingly,
basically for the block/* stuff only. Otherwise most emulators will be
linked with a lot of unnecessary objects files from the archives that
will never be used on that platform.

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 15:48         ` Anthony Liguori
@ 2009-05-22 16:12           ` Blue Swirl
  2009-05-22 16:39             ` Anthony Liguori
  0 siblings, 1 reply; 16+ messages in thread
From: Blue Swirl @ 2009-05-22 16:12 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Consul, Paul Brook, qemu-devel

On 5/22/09, Anthony Liguori <anthony@codemonkey.ws> wrote:
> Paul Brook wrote:
>
> > On Friday 22 May 2009, Anthony Liguori wrote:
> >
> >
> > > Paul Brook wrote:
> > >
> > >
> > > >
> > > > >
> > > > > >    Don't use whole-archive for hwlib or libqemu objects
> > > > > >
> > > > > >    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> > > > > >
> > > > > >
> > > > > hwlib definitely needs whole-archive.
> > > > >
> > > > > Why did this break arm-softmmu?  It builds fine for me.
> > > > >
> > > > >
> > > > In function `fdctrl_stop_transfer':
> > > > fdc.c:1086: undefined reference to `DMA_release_DREQ'
> > > >
> > > > There appears to be a missing dependency somewhere, I suspect libhw*.a
> > > > doesn't get rebuilt when you move objects from Makefile.target to
> > > > Makefile.hw.
> > > >
> > > >
> > > So a fresh rebuild "fixes" the problem?
> > >
> > >
> >
> > No, sorry, I mean occasionally you end up with a stale libhw.a.
> >
> >
> >
> > > Blue, can you revert this commit then?
> > >
> > >
> >
> > Both this (whole-archive) and the preceding fdc change need to be
> reverted.
> >
> >
>
>  I've reverted the whole-archive change and the fdc. I've left scsi intact.
> They were blocking my testing of other patches.
>
>  Everything now links and seems to work.

Good for you. Should I then revert the qdev commit that broke pcnet
(9d07d7579bcaf01e05c511c63d091ed2ac310091), because now Sparc crashes
immediately when network is used?

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 15:51   ` Blue Swirl
@ 2009-05-22 16:35     ` Anthony Liguori
  2009-05-22 16:53       ` Blue Swirl
  0 siblings, 1 reply; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 16:35 UTC (permalink / raw)
  To: Blue Swirl; +Cc: Consul, qemu-devel

Blue Swirl wrote:
> On 5/22/09, Anthony Liguori <anthony@codemonkey.ws> wrote:
>   
>> Consul wrote:
>>
>>     
>>> This commit breaks Windows giving runtime error "Unknown device
>>>       
>> 'virtio-balloon-pci'"
>>     
>>> ec6bd8dea77478f32981a5df49f66ca2430ad19d
>>>
>>> Author: Blue Swirl <blauwirbel@gmail.com>  2009-05-21 11:22:59
>>> Committer: Blue Swirl <blauwirbel@gmail.com>  2009-05-21 11:22:59
>>> Parent: 2567f5796c38238d6f2055f074e347a0338140ce (Compile
>>>       
>> most Xen files only once)
>>     
>>>    Fix arm-softmmu breakage
>>>
>>>    Don't use whole-archive for hwlib or libqemu objects
>>>
>>>    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>>>
>>>       
>>  hwlib definitely needs whole-archive.
>>     
>
> No, it works fine without it.
>   

virtio-pci has a constructor and all static functions.  It'll be removed 
from the archive without whole-archive.  This is failure that we're seeing.

In general, hwlib will need whole-archive because hwlib will contain 
things with constructors.

>>  Why did this break arm-softmmu?  It builds fine for me.
>>     
>
> Because fdc.o was forced to be linked in with whole-archive but the
> stuff that it depends on may be undefined on ARM. With whole-archive
> removed from hwlib, fdc.o is not referenced in anywhere in arm-softmmu
> and it will not be pulled in.
>   
fdc.o shouldn't be in hwlib if it depends on stuff not defined in a 
particular architecture.

Regards,

Anthony Liguori

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 15:55         ` Blue Swirl
@ 2009-05-22 16:36           ` Anthony Liguori
  2009-05-24  9:14           ` Avi Kivity
  1 sibling, 0 replies; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 16:36 UTC (permalink / raw)
  To: Blue Swirl; +Cc: Consul, Paul Brook, qemu-devel

Blue Swirl wrote:
> I disagree, whole-archive should only be used very sparingly,
> basically for the block/* stuff only. Otherwise most emulators will be
> linked with a lot of unnecessary objects files from the archives that
> will never be used on that platform.
>   
I don't think unnecessary object files are a huge concern.  If it is, 
the better thing is to use a per-target config instead of relying on ld 
to figure things out.

Regards,

Anthony Liguori

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 16:12           ` Blue Swirl
@ 2009-05-22 16:39             ` Anthony Liguori
  0 siblings, 0 replies; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 16:39 UTC (permalink / raw)
  To: Blue Swirl; +Cc: Consul, Paul Brook, qemu-devel

Blue Swirl wrote:
> Good for you. Should I then revert the qdev commit that broke pcnet
> (9d07d7579bcaf01e05c511c63d091ed2ac310091), because now Sparc crashes
> immediately when network is used?
>   
qdev should have gotten more testing before being committed.  I won't 
disagree with you there.

Your changes didn't introduce new functionality.  The risk of reverting 
it was very low.  I also did give you a chance to fix it first, I have 
no way of knowing how long that was going to take you.  It completely 
broke target-i386 so its a major blocker.  Paul also agreed that it 
should be reverted.

Regards,

Anthony Liguori

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 16:35     ` Anthony Liguori
@ 2009-05-22 16:53       ` Blue Swirl
  2009-05-22 17:15         ` Paul Brook
  0 siblings, 1 reply; 16+ messages in thread
From: Blue Swirl @ 2009-05-22 16:53 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Consul, qemu-devel

On 5/22/09, Anthony Liguori <anthony@codemonkey.ws> wrote:
> Blue Swirl wrote:
>
> > On 5/22/09, Anthony Liguori <anthony@codemonkey.ws> wrote:
> >
> >
> > > Consul wrote:
> > >
> > >
> > >
> > > > This commit breaks Windows giving runtime error "Unknown device
> > > >
> > > >
> > > 'virtio-balloon-pci'"
> > >
> > >
> > > > ec6bd8dea77478f32981a5df49f66ca2430ad19d
> > > >
> > > > Author: Blue Swirl <blauwirbel@gmail.com>  2009-05-21 11:22:59
> > > > Committer: Blue Swirl <blauwirbel@gmail.com>  2009-05-21 11:22:59
> > > > Parent: 2567f5796c38238d6f2055f074e347a0338140ce
> (Compile
> > > >
> > > >
> > > most Xen files only once)
> > >
> > >
> > > >   Fix arm-softmmu breakage
> > > >
> > > >   Don't use whole-archive for hwlib or libqemu objects
> > > >
> > > >   Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> > > >
> > > >
> > > >
> > >  hwlib definitely needs whole-archive.
> > >
> > >
> >
> > No, it works fine without it.
> >
> >
>
>  virtio-pci has a constructor and all static functions.  It'll be removed
> from the archive without whole-archive.  This is failure that we're seeing.

Oh, I see now! Sorry for the noise.

>  In general, hwlib will need whole-archive because hwlib will contain things
> with constructors.

Right.

> >
> > >  Why did this break arm-softmmu?  It builds fine for me.
> > >
> > >
> >
> > Because fdc.o was forced to be linked in with whole-archive but the
> > stuff that it depends on may be undefined on ARM. With whole-archive
> > removed from hwlib, fdc.o is not referenced in anywhere in arm-softmmu
> > and it will not be pulled in.
> >
> >
>  fdc.o shouldn't be in hwlib if it depends on stuff not defined in a
> particular architecture.

It would be nice to avoid this restriction. For example, fdc init
could take pointers to the DMA functions as parameters.

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 16:53       ` Blue Swirl
@ 2009-05-22 17:15         ` Paul Brook
  0 siblings, 0 replies; 16+ messages in thread
From: Paul Brook @ 2009-05-22 17:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Blue Swirl, Consul

> It would be nice to avoid this restriction. For example, fdc init
> could take pointers to the DMA functions as parameters.

It, could, but it'll need rewriting anyway when it gets converted to the new 
device API. What we really want is a consistent way of transferring data 
between devices (aka "DMA channels"). We already have several different ad-hoc 
implementations. pcnet, etraxf_eth and omap_dss and pxa2xx_dma are ones that 
spring to mind.

Paul

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-22 15:55         ` Blue Swirl
  2009-05-22 16:36           ` Anthony Liguori
@ 2009-05-24  9:14           ` Avi Kivity
  2009-05-27 22:39             ` Anthony Liguori
  1 sibling, 1 reply; 16+ messages in thread
From: Avi Kivity @ 2009-05-24  9:14 UTC (permalink / raw)
  To: Blue Swirl; +Cc: Consul, Paul Brook, qemu-devel

Blue Swirl wrote:
> I disagree, whole-archive should only be used very sparingly,
> basically for the block/* stuff only. Otherwise most emulators will be
> linked with a lot of unnecessary objects files from the archives that
> will never be used on that platform.
>   

I think even for block/* we should not use whole archive.  Specifying 
the full list of objects, or perhaps a partially linked object is much 
cleaner.

-- 
error compiling committee.c: too many arguments to function

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

* Re: [Qemu-devel] Windows runtime error
  2009-05-24  9:14           ` Avi Kivity
@ 2009-05-27 22:39             ` Anthony Liguori
  0 siblings, 0 replies; 16+ messages in thread
From: Anthony Liguori @ 2009-05-27 22:39 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Blue Swirl, Consul, Paul Brook, qemu-devel

Avi Kivity wrote:
> Blue Swirl wrote:
>> I disagree, whole-archive should only be used very sparingly,
>> basically for the block/* stuff only. Otherwise most emulators will be
>> linked with a lot of unnecessary objects files from the archives that
>> will never be used on that platform.
>>   
>
> I think even for block/* we should not use whole archive.  Specifying 
> the full list of objects, or perhaps a partially linked object is much 
> cleaner.

I'm not opposed to this.  I don't see a lot of advantages to using a 
static library.

Regards,

Anthony Liguori

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

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

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-21 21:58 [Qemu-devel] Windows runtime error Consul
2009-05-22  2:11 ` Anthony Liguori
2009-05-22 12:04   ` Paul Brook
2009-05-22 13:07     ` Anthony Liguori
2009-05-22 13:15       ` Paul Brook
2009-05-22 15:48         ` Anthony Liguori
2009-05-22 16:12           ` Blue Swirl
2009-05-22 16:39             ` Anthony Liguori
2009-05-22 15:55         ` Blue Swirl
2009-05-22 16:36           ` Anthony Liguori
2009-05-24  9:14           ` Avi Kivity
2009-05-27 22:39             ` Anthony Liguori
2009-05-22 15:51   ` Blue Swirl
2009-05-22 16:35     ` Anthony Liguori
2009-05-22 16:53       ` Blue Swirl
2009-05-22 17:15         ` 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).