qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Build breakage on OpenSolaris - softfloat
@ 2011-05-01 15:32 Andreas Färber
  2011-05-01 18:26 ` Andreas Färber
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas Färber @ 2011-05-01 15:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: Aurelien Jarno, Peter Maydell

Hello,

On OpenSolaris amd64 I'm seeing the following build failure:

  CC    i386-softmmu/op_helper.o
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:110: error: 
initializer element is not constant
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:110: error: (near 
initialization for `f15rk[0]')
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:111: error: 
initializer element is not constant
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:111: error: (near 
initialization for `f15rk[1]')
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:112: error: 
initializer element is not constant
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:112: error: (near 
initialization for `f15rk[2]')
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:113: error: 
initializer element is not constant
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:113: error: (near 
initialization for `f15rk[3]')
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:114: error: 
initializer element is not constant
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:114: error: (near 
initialization for `f15rk[4]')
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:115: error: 
initializer element is not constant
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:115: error: (near 
initialization for `f15rk[5]')
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:116: error: 
initializer element is not constant
/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:116: error: (near 
initialization for `f15rk[6]')
gmake[1]: *** [op_helper.o] Error 1
make: *** [subdir-i386-softmmu] Error 2

Looks like an issue with make_floatx80(). Any ideas?

Thanks,

Andreas

$ gcc --version
gcc (GCC) 3.4.3 (csl-sol210-3_4-20050802)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

* Re: [Qemu-devel] Build breakage on OpenSolaris - softfloat
  2011-05-01 15:32 [Qemu-devel] Build breakage on OpenSolaris - softfloat Andreas Färber
@ 2011-05-01 18:26 ` Andreas Färber
  2011-05-04 19:45   ` Andreas Färber
  2011-05-15 11:55   ` Aurelien Jarno
  0 siblings, 2 replies; 4+ messages in thread
From: Andreas Färber @ 2011-05-01 18:26 UTC (permalink / raw)
  Cc: Peter Maydell, qemu-devel, Aurelien Jarno

Andreas Färber schrieb:
> CC    i386-softmmu/op_helper.o
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:110: error: 
> initializer element is not constant
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:110: error: 
> (near initialization for `f15rk[0]')
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:111: error: 
> initializer element is not constant
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:111: error: 
> (near initialization for `f15rk[1]')
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:112: error: 
> initializer element is not constant
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:112: error: 
> (near initialization for `f15rk[2]')
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:113: error: 
> initializer element is not constant
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:113: error: 
> (near initialization for `f15rk[3]')
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:114: error: 
> initializer element is not constant
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:114: error: 
> (near initialization for `f15rk[4]')
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:115: error: 
> initializer element is not constant
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:115: error: 
> (near initialization for `f15rk[5]')
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:116: error: 
> initializer element is not constant
> /export/home/andreas/QEMU/qemu/target-i386/op_helper.c:116: error: 
> (near initialization for `f15rk[6]')
> gmake[1]: *** [op_helper.o] Error 1
> make: *** [subdir-i386-softmmu] Error 2
>
> Looks like an issue with make_floatx80().
As suggested by Peter, I inspected the op_helper.c preprocessor output:

# 108 "/export/home/andreas/QEMU/qemu/target-i386/op_helper.c"
static const CPU86_LDouble f15rk[7] =
{
    ((floatx80) { 0x0000000000000000LL, 0x0000 }),
    ((floatx80) { 0x8000000000000000LL, 0x3fff }),
    ((floatx80) { 0xc90fdaa22168c235LL, 0x4000 }),
    ((floatx80) { 0x9a209a84fbcff799LL, 0x3ffd }),
    ((floatx80) { 0xb17217f7d1cf79acLL, 0x3ffe }),
    ((floatx80) { 0xb8aa3b295c17f0bcLL, 0x3fff }),
    ((floatx80) { 0xd49a784bcd1b8afeLL, 0x4000 }),
};

Doesn't look unexpected.

typedef floatx80 CPU86_LDouble;

and

# 153 "/export/home/andreas/QEMU/qemu/fpu/softfloat.h"
typedef struct {
    uint64_t low;
    uint16_t high;
} floatx80;

look okay, too.

Andreas

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

* Re: [Qemu-devel] Build breakage on OpenSolaris - softfloat
  2011-05-01 18:26 ` Andreas Färber
@ 2011-05-04 19:45   ` Andreas Färber
  2011-05-15 11:55   ` Aurelien Jarno
  1 sibling, 0 replies; 4+ messages in thread
From: Andreas Färber @ 2011-05-04 19:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell

>
> On 1 May 2011 16:39, Andreas Färber<andreas.faerber@web.de>  wrote:
>    
>> >  Looks like an issue with make_floatx80(). Any ideas?
>>      
>> >  $ gcc --version
>> >  gcc (GCC) 3.4.3 (csl-sol210-3_4-20050802)
>>      
> Hmm. I did a test build on x86 host with gcc 3.3.5 and gcc 3.4.6,
> which were both OK, so it looks like it might be solaris
> specific.

Same with gcc 4.3.2:

$ gcc-4.3.2 --version
gcc-4.3.2 (GCC) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es
gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE 
ZWECKE.

This one is on OpenSolaris 2010.05 snv_134b (previously on 2009.06 
snv_111b).

Andreas

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

* Re: [Qemu-devel] Build breakage on OpenSolaris - softfloat
  2011-05-01 18:26 ` Andreas Färber
  2011-05-04 19:45   ` Andreas Färber
@ 2011-05-15 11:55   ` Aurelien Jarno
  1 sibling, 0 replies; 4+ messages in thread
From: Aurelien Jarno @ 2011-05-15 11:55 UTC (permalink / raw)
  To: Andreas Färber; +Cc: Peter Maydell, qemu-devel

On Sun, May 01, 2011 at 08:26:50PM +0200, Andreas Färber wrote:
> Andreas Färber schrieb:
> >CC    i386-softmmu/op_helper.o
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:110: error:
> >initializer element is not constant
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:110: error:
> >(near initialization for `f15rk[0]')
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:111: error:
> >initializer element is not constant
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:111: error:
> >(near initialization for `f15rk[1]')
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:112: error:
> >initializer element is not constant
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:112: error:
> >(near initialization for `f15rk[2]')
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:113: error:
> >initializer element is not constant
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:113: error:
> >(near initialization for `f15rk[3]')
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:114: error:
> >initializer element is not constant
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:114: error:
> >(near initialization for `f15rk[4]')
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:115: error:
> >initializer element is not constant
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:115: error:
> >(near initialization for `f15rk[5]')
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:116: error:
> >initializer element is not constant
> >/export/home/andreas/QEMU/qemu/target-i386/op_helper.c:116: error:
> >(near initialization for `f15rk[6]')
> >gmake[1]: *** [op_helper.o] Error 1
> >make: *** [subdir-i386-softmmu] Error 2
> >
> >Looks like an issue with make_floatx80().
> As suggested by Peter, I inspected the op_helper.c preprocessor output:
> 
> # 108 "/export/home/andreas/QEMU/qemu/target-i386/op_helper.c"
> static const CPU86_LDouble f15rk[7] =
> {
>    ((floatx80) { 0x0000000000000000LL, 0x0000 }),
>    ((floatx80) { 0x8000000000000000LL, 0x3fff }),
>    ((floatx80) { 0xc90fdaa22168c235LL, 0x4000 }),
>    ((floatx80) { 0x9a209a84fbcff799LL, 0x3ffd }),
>    ((floatx80) { 0xb17217f7d1cf79acLL, 0x3ffe }),
>    ((floatx80) { 0xb8aa3b295c17f0bcLL, 0x3fff }),
>    ((floatx80) { 0xd49a784bcd1b8afeLL, 0x4000 }),
> };
> 
> Doesn't look unexpected.
> 
> typedef floatx80 CPU86_LDouble;
> 
> and
> 
> # 153 "/export/home/andreas/QEMU/qemu/fpu/softfloat.h"
> typedef struct {
>    uint64_t low;
>    uint16_t high;
> } floatx80;
> 
> look okay, too.
> 

I have to say I don't really say why it doesn't compile. Do you have
problems at other places, where a single floatx80 constant is 
initialized?

My next series remove this table, and uses directly the constants name
in helper_fld*_ST0(), so it may fix that issue.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net

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

end of thread, other threads:[~2011-05-15 11:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-01 15:32 [Qemu-devel] Build breakage on OpenSolaris - softfloat Andreas Färber
2011-05-01 18:26 ` Andreas Färber
2011-05-04 19:45   ` Andreas Färber
2011-05-15 11:55   ` Aurelien Jarno

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