[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and olde
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older |
Date: |
Thu, 17 Oct 2013 11:27:37 +0300 |
On Thu, Oct 17, 2013 at 11:20:27AM +0300, Gleb Natapov wrote:
> On Thu, Oct 17, 2013 at 11:12:31AM +0300, Michael S. Tsirkin wrote:
> > On Thu, Oct 17, 2013 at 09:27:51AM +0300, Gleb Natapov wrote:
> > > On Wed, Oct 16, 2013 at 10:46:53PM +0300, Michael S. Tsirkin wrote:
> > > > Old GCC didn't let you reference variable by
> > > > number if it is listed with a specific register
> > > > constraint, on the assumption you can just
> > > > use the register name explicitly.
> > > >
> > > > Build fails with errors like this:
> > > > a.c:6: error: invalid 'asm': invalid operand code 'd'
> > > >
> > > Is it worth to support such ancient compiler? Nobody complained till
> > > now.
> >
> > Well it's not as widely used as kvm itself yet :)
> > The patch seems simple enough though.
> >
> > > BTW with your patch I still cannot compile with 4.2:
> > >
> > > x86/s3.c: In function 'main':
> > > x86/s3.c:145: error: inconsistent operand constraints in an 'asm'
> >
> > OK that's easy to fix.
> >
> > > > To fix, let's just use %eax %al etc.
> > > >
> > > Only %d0 does not work and dropping "d" fixes it since compiler can
> > > figure out correct register from variable size. The patch bellow fixes
> > > compilation for 4.2.
> >
> > It does produce warnings with -Wall though:
> > Assembler messages:
> > Warning: using `%ax' instead of `%eax' due to `w' suffix
> > Warning: using `%al' instead of `%eax' due to `b' suffix
> >
> Not for me. No warning with 4.7.3 and 4.2. .s file produced by gcc shows
> correct assembly with my patch.
4.3 doesn't.
We have the "a" constraint there anyway - so what's the issue with just
writing %eax etc? I think it's safer than relying on compiler to do
the right thing.
> --
> Gleb.
- [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Michael S. Tsirkin, 2013/10/16
- Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Gleb Natapov, 2013/10/17
- Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Michael S. Tsirkin, 2013/10/17
- Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Gleb Natapov, 2013/10/17
- Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older,
Michael S. Tsirkin <=
- Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Gleb Natapov, 2013/10/17
- Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Michael S. Tsirkin, 2013/10/17
- Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Gleb Natapov, 2013/10/17
- Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Michael S. Tsirkin, 2013/10/17
- Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Gleb Natapov, 2013/10/17
Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Paolo Bonzini, 2013/10/17
Re: [Qemu-devel] [PATCH] kvm-unittest: fix build with gcc 4.3.X and older, Paolo Bonzini, 2013/10/17