Mailing List Archive

[Xen-devel] Re: gcc 4.0.0 and xen-devel
I checkout bktree from bk://xen.bkbits.net/xeno-unstable.bk
and now I'm getting these messages:

make world or make dist

<snip>
gcc -nostdinc -fno-builtin -fno-common -fno-strict-aliasing -iwithprefix
include -Wall -Werror -Wno-pointer-arith -pipe
-I/home/fbl/xeno-unstable.bk/xen/include
-I/home/fbl/xeno-unstable.bk/xen/include/asm-x86/mach-generic
-I/home/fbl/xeno-unstable.bk/xen/include/asm-x86/mach-default -O3
-fomit-frame-pointer -msoft-float -m32 -march=i686 -DNDEBUG -c i8259.c
-o i8259.o
{standard input}: Assembler messages:
{standard input}:6: Error: suffix or operands invalid for `mov'
{standard input}:6: Error: suffix or operands invalid for `mov'
{standard input}:6: Error: suffix or operands invalid for `mov'
{standard input}:6: Error: suffix or operands invalid for `mov'
{standard input}:1296: Error: suffix or operands invalid for `mov'
{standard input}:1296: Error: suffix or operands invalid for `mov'
<snip>


On Wed, Jun 08, 2005 at 11:02:21AM -0500, David F Barrera wrote:
> This problem has been corrected. Fix is in the latest BK source tree.
>
> On Wed, 2005-06-08 at 08:20 -0500, David F Barrera wrote:
> > On Tue, 2005-06-07 at 17:08 -0300, Flavio Leitner wrote:
> > >
> > > Hello!
> > >
> > > I tried to compile xen 2.0.6 with gcc 4.0.0 and got lots of warnings
> > > like:
> > >
> > > 'warning: pointer targets in passing argument X of 'function' differ in
> > > signedness'
> > >
> > I am seeing the same thing on xen-unstable (xen devel 3.0) and GCC 4.0.0
> > on a FC4 platform.
> > I submitted a defect on the Xensource Bugzilla, "Bugzilla Bug 73
> > gcc4 build break ...", to track this issue.
> >
> > > Is there any intention of compile xen stable/unstable with gcc 4.0.0?
> > >
> > > Thanks!
> --
> Regards,
>
> David F Barrera
> Linux Technology Center
> Systems and Technology Group, IBM
>
> "The wisest men follow their own direction. "
> Euripides
>
>
> _______________________________________________
> Xen-users mailing list
> Xen-users@lists.xensource.com
> http://lists.xensource.com/xen-users

--
Flávio Bruno Leitner <fbl@conectiva.com.br>
[0EA2 7F40 4CF4 1E63 4AF6 33C0 3E10 E205 F251 EDDA]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [Xen-devel] Re: gcc 4.0.0 and xen-devel [ In reply to ]
More info below where is failing.

On Thu, Jun 09, 2005 at 10:13:37AM -0300, Flavio Leitner wrote:
>
> I checkout bktree from bk://xen.bkbits.net/xeno-unstable.bk
> and now I'm getting these messages:
>
> make world or make dist
>
> <snip>
> gcc -nostdinc -fno-builtin -fno-common -fno-strict-aliasing -iwithprefix
> include -Wall -Werror -Wno-pointer-arith -pipe
> -I/home/fbl/xeno-unstable.bk/xen/include
> -I/home/fbl/xeno-unstable.bk/xen/include/asm-x86/mach-generic
> -I/home/fbl/xeno-unstable.bk/xen/include/asm-x86/mach-default -O3
> -fomit-frame-pointer -msoft-float -m32 -march=i686 -DNDEBUG -c i8259.c
> -o i8259.o
> {standard input}: Assembler messages:
> {standard input}:6: Error: suffix or operands invalid for `mov'
> {standard input}:6: Error: suffix or operands invalid for `mov'
> {standard input}:6: Error: suffix or operands invalid for `mov'
> {standard input}:6: Error: suffix or operands invalid for `mov'
> {standard input}:1296: Error: suffix or operands invalid for `mov'
> {standard input}:1296: Error: suffix or operands invalid for `mov'
> <snip>

Gcc 4.0.0
Binutils 2.16.90.0.2

The assembler output:
.file "i8259.c"
#APP

.align 16,0x90
common_interrupt:
cld;pushl %eax;pushl %ebp;pushl %edi;pushl %esi;pushl %edx;pushl %ecx;pushl %ebx;testl $0x00020000,40(%esp);jz 2f;call setup_vm86_frame;jmp 3f;2:testb $3,36(%esp);jz 1f;movl %ds,56(%esp);movl %es,52(%esp);movl %fs,60(%esp);movl %gs,64(%esp);3:movl $(0xe010),%eax;movl %eax,%ds;movl %eax,%es;1:movl %esp,%eax
pushl %eax
call do_IRQ
addl $4,%esp
jmp ret_from_intr
<snip>

spurious_interrupt:
pushl $0xff<<16
cld;pushl %eax;pushl %ebp;pushl %edi;pushl %esi;pushl %edx;pushl %ecx;pushl %ebx;testl $0x00020000,40(%esp);jz 2f;call setup_vm86_frame;jmp 3f;2:testb $3,36(%esp);jz 1f;movl %ds,56(%esp);movl %es,52(%esp);movl %fs,60(%esp);movl %gs,64(%esp);3:movl $(0xe010),%eax;movl %eax,%ds;movl %eax,%es;1:call smp_spurious_interrupt
jmp ret_from_intr

#NO_APP


--
Flávio Bruno Leitner <fbl@conectiva.com.br>
[0EA2 7F40 4CF4 1E63 4AF6 33C0 3E10 E205 F251 EDDA]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [Xen-devel] Re: gcc 4.0.0 and xen-devel [ In reply to ]
On Thu, Jun 09, 2005 at 10:55:07AM -0300, Flavio Leitner wrote:
>
> More info below where is failing.
>
> On Thu, Jun 09, 2005 at 10:13:37AM -0300, Flavio Leitner wrote:
> >
> > I checkout bktree from bk://xen.bkbits.net/xeno-unstable.bk
> > and now I'm getting these messages:
> >
> > make world or make dist
> >
> > <snip>
> > gcc -nostdinc -fno-builtin -fno-common -fno-strict-aliasing -iwithprefix
> > include -Wall -Werror -Wno-pointer-arith -pipe
> > -I/home/fbl/xeno-unstable.bk/xen/include
> > -I/home/fbl/xeno-unstable.bk/xen/include/asm-x86/mach-generic
> > -I/home/fbl/xeno-unstable.bk/xen/include/asm-x86/mach-default -O3
> > -fomit-frame-pointer -msoft-float -m32 -march=i686 -DNDEBUG -c i8259.c
> > -o i8259.o
> > {standard input}: Assembler messages:
> > {standard input}:6: Error: suffix or operands invalid for `mov'
> > {standard input}:6: Error: suffix or operands invalid for `mov'
> > {standard input}:6: Error: suffix or operands invalid for `mov'
> > {standard input}:6: Error: suffix or operands invalid for `mov'
> > {standard input}:1296: Error: suffix or operands invalid for `mov'
> > {standard input}:1296: Error: suffix or operands invalid for `mov'
> > <snip>
>
> Gcc 4.0.0
> Binutils 2.16.90.0.2

these binutils version are unstable CVS (not a good idea to have that IMHO)

and as far as I remember they remove support for "movl %ds, ...".
now is must use: "mov %ds, ..."

does the following patch fix your problems ?

diff -Nru a/xen/include/asm-x86/x86_32/asm_defns.h b/xen/include/asm-x86/x86_32/asm_defns.h
--- a/xen/include/asm-x86/x86_32/asm_defns.h 2005-06-09 17:52:47 +01:00
+++ b/xen/include/asm-x86/x86_32/asm_defns.h 2005-06-09 17:52:47 +01:00
@@ -19,10 +19,10 @@
"jmp 3f;" \
"2:testb $3,"STR(UREGS_cs)"(%esp);" \
"jz 1f;" \
- "movl %ds,"STR(UREGS_ds)"(%esp);" \
- "movl %es,"STR(UREGS_es)"(%esp);" \
- "movl %fs,"STR(UREGS_fs)"(%esp);" \
- "movl %gs,"STR(UREGS_gs)"(%esp);" \
+ "mov %ds,"STR(UREGS_ds)"(%esp);" \
+ "mov %es,"STR(UREGS_es)"(%esp);" \
+ "mov %fs,"STR(UREGS_fs)"(%esp);" \
+ "mov %gs,"STR(UREGS_gs)"(%esp);" \
"3:"

#define SAVE_ALL_NOSEGREGS(_reg) \



--
Vincent Hanquez

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [Xen-devel] Re: gcc 4.0.0 and xen-devel [ In reply to ]
> and as far as I remember they remove support for "movl %ds, ...".
> now is must use: "mov %ds, ..."

Yes, I found this on google.
http://www.kernel.org/pub/linux/devel/binutils/release.binutils-2.16.90.0.2


> does the following patch fix your problems ?

Part of it because there are more places. Thanks!

Well, now it breaks because of warnings.

===== xen/arch/x86/x86_32/entry.S 1.112 vs edited =====
--- 1.112/xen/arch/x86/x86_32/entry.S 2005-06-02 17:05:31 -04:00
+++ edited/xen/arch/x86/x86_32/entry.S 2005-06-09 10:32:50 -04:00
@@ -176,10 +176,10 @@
restore_all_guest:
testl $X86_EFLAGS_VM,UREGS_eflags(%esp)
jnz restore_all_vm86
-FLT1: movl UREGS_ds(%esp),%ds
-FLT2: movl UREGS_es(%esp),%es
-FLT3: movl UREGS_fs(%esp),%fs
-FLT4: movl UREGS_gs(%esp),%gs
+FLT1: mov UREGS_ds(%esp),%ds
+FLT2: mov UREGS_es(%esp),%es
+FLT3: mov UREGS_fs(%esp),%fs
+FLT4: mov UREGS_gs(%esp),%gs
restore_all_vm86:
popl %ebx
popl %ecx
@@ -306,7 +306,7 @@
testl $(2|X86_EFLAGS_VM),%ecx
jz ring1 /* jump if returning to an existing ring-1 activation */
movl VCPU_kernel_sp(%ebx),%esi
-FLT6: movl VCPU_kernel_ss(%ebx),%gs
+FLT6: mov VCPU_kernel_ss(%ebx),%gs
testl $X86_EFLAGS_VM,UREGS_eflags+4(%esp)
jz nvm86_1
subl $16,%esi /* push ES/DS/FS/GS (VM86 stack frame) */
@@ -326,7 +326,7 @@
jmp 1f
ring1: /* obtain ss/esp from oldss/oldesp -- a ring-1 activation exists */
movl UREGS_esp+4(%esp),%esi
-FLT13: movl UREGS_ss+4(%esp),%gs
+FLT13: mov UREGS_ss+4(%esp),%gs
1: /* Construct a stack frame: EFLAGS, CS/EIP */
movb TRAPBOUNCE_flags(%edx),%cl
subl $12,%esi
@@ -383,7 +383,7 @@
nvm86_3:/* Rewrite our stack frame and return to ring 1. */
/* IA32 Ref. Vol. 3: TF, VM, RF and NT flags are cleared on trap. */
andl $0xfffcbeff,UREGS_eflags+4(%esp)
- movl %gs,UREGS_ss+4(%esp)
+ mov %gs,UREGS_ss+4(%esp)
movl %esi,UREGS_esp+4(%esp)
movzwl TRAPBOUNCE_cs(%edx),%eax
movl %eax,UREGS_cs+4(%esp)
@@ -670,7 +670,7 @@

# GS:ESI == Ring-1 stack activation
movl UREGS_esp(%esp),%esi
-VFLT1: movl UREGS_ss(%esp),%gs
+VFLT1: mov UREGS_ss(%esp),%gs

# ES:EDI == Ring-0 stack activation
leal UREGS_eip(%esp),%edi
===== xen/include/asm-x86/x86_32/asm_defns.h 1.10 vs edited =====
--- 1.10/xen/include/asm-x86/x86_32/asm_defns.h 2005-04-28 17:35:48 -04:00
+++ edited/xen/include/asm-x86/x86_32/asm_defns.h 2005-06-09 10:30:45 -04:00
@@ -19,10 +19,10 @@
"jmp 3f;" \
"2:testb $3,"STR(UREGS_cs)"(%esp);" \
"jz 1f;" \
- "movl %ds,"STR(UREGS_ds)"(%esp);" \
- "movl %es,"STR(UREGS_es)"(%esp);" \
- "movl %fs,"STR(UREGS_fs)"(%esp);" \
- "movl %gs,"STR(UREGS_gs)"(%esp);" \
+ "mov %ds,"STR(UREGS_ds)"(%esp);" \
+ "mov %es,"STR(UREGS_es)"(%esp);" \
+ "mov %fs,"STR(UREGS_fs)"(%esp);" \
+ "mov %gs,"STR(UREGS_gs)"(%esp);" \
"3:"

#define SAVE_ALL_NOSEGREGS(_reg) \
@@ -31,8 +31,8 @@

#define SET_XEN_SEGMENTS(_reg) \
"movl $("STR(__HYPERVISOR_DS)"),%e"STR(_reg)"x;" \
- "movl %e"STR(_reg)"x,%ds;" \
- "movl %e"STR(_reg)"x,%es;"
+ "mov %e"STR(_reg)"x,%ds;" \
+ "mov %e"STR(_reg)"x,%es;"

#define SAVE_ALL(_reg) \
__SAVE_ALL_PRE \
@@ -56,10 +56,10 @@
jmp 3f; \
2:testb $3,UREGS_cs(%esp); \
jz 1f; \
- movl %ds,UREGS_ds(%esp); \
- movl %es,UREGS_es(%esp); \
- movl %fs,UREGS_fs(%esp); \
- movl %gs,UREGS_gs(%esp); \
+ mov %ds,UREGS_ds(%esp); \
+ mov %es,UREGS_es(%esp); \
+ mov %fs,UREGS_fs(%esp); \
+ mov %gs,UREGS_gs(%esp); \
3:

#define SAVE_ALL_NOSEGREGS(_reg) \
@@ -68,8 +68,8 @@

#define SET_XEN_SEGMENTS(_reg) \
movl $(__HYPERVISOR_DS),%e ## _reg ## x; \
- movl %e ## _reg ## x,%ds; \
- movl %e ## _reg ## x,%es;
+ mov %e ## _reg ## x,%ds; \
+ mov %e ## _reg ## x,%es;

#define SAVE_ALL(_reg) \
__SAVE_ALL_PRE \

--
Flávio Bruno Leitner <fbl@conectiva.com.br>
[0EA2 7F40 4CF4 1E63 4AF6 33C0 3E10 E205 F251 EDDA]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [Xen-devel] Re: gcc 4.0.0 and xen-devel [ In reply to ]
On Thu, Jun 09, 2005 at 02:45:11PM -0300, Flavio Leitner wrote:

> > does the following patch fix your problems ?
>
> Part of it because there are more places. Thanks!
>
> Well, now it breaks because of warnings.

Applied thanks.
please don't forget a Signed-off-by line next time.

--
Vincent Hanquez

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [Xen-devel] Re: gcc 4.0.0 and xen-devel [ In reply to ]
I am getting gcc 4.0 errors on xen-unstable, x86_64:

(The last changeset on the source that I am using was
ChangeSet 2005/06/10 10:34:30+01:00 kaf24@firebug.cl.cam.ac.uk)

gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -Wall -g -pipe -Wp,-
D_FORTIFY_SOURCE=2 -m64 -D_GNU_SOURCE -fPIC -m64 -fPIC -
I../../tools/python/xen/lowlevel/xu -I../../tools/libxc -
I../../tools/xenstore -I../../tools/xcs -Ixen/lowlevel/xs -
I/usr/include/python2.4 -c xen/lowlevel/xs/xs.c -o build/temp.linux-
x86_64-2.4/xen/lowlevel/xs/xs.o -fno-strict-aliasing -Wall -Werror
cc1: warnings being treated as errors
xen/lowlevel/xs/xs.c: In function ‘xspy_read’:
xen/lowlevel/xs/xs.c:96: warning: pointer targets in passing argument 3
of ‘xs_read’ differ in signedness
xen/lowlevel/xs/xs.c: In function ‘xspy_ls’:
xen/lowlevel/xs/xs.c:144: warning: pointer targets in passing argument 3
of ‘xs_directory’ differ in signedness
xen/lowlevel/xs/xs.c: In function ‘xspy_get_permissions’:
xen/lowlevel/xs/xs.c:193: warning: pointer targets in passing argument 3
of ‘xs_get_permissions’ differ in signedness
error: command 'gcc' failed with exit status 1
make[3]: *** [build] Error 1
make[3]: Leaving directory `/tmp/xen-unstable/tools/python'
make[2]: *** [install] Error 2
make[2]: Leaving directory `/tmp/xen-unstable/tools'
make[1]: *** [tools] Error 2
make[1]: Leaving directory `/tmp/xen-unstable'
make: *** [world] Error 2


On Fri, 2005-06-10 at 13:43 +0200, Vincent Hanquez wrote:
> On Thu, Jun 09, 2005 at 02:45:11PM -0300, Flavio Leitner wrote:
>
> > > does the following patch fix your problems ?
> >
> > Part of it because there are more places. Thanks!
> >
> > Well, now it breaks because of warnings.
>
> Applied thanks.
> please don't forget a Signed-off-by line next time.
>
--
Regards,

David F Barrera
Linux Technology Center
Systems and Technology Group, IBM

"The wisest men follow their own direction. "
Euripides


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [Xen-devel] Re: gcc 4.0.0 and xen-devel [ In reply to ]
On Fri, Jun 10, 2005 at 08:02:20AM -0500, David F Barrera wrote:
> I am getting gcc 4.0 errors on xen-unstable, x86_64:
>
> (The last changeset on the source that I am using was
> ChangeSet 2005/06/10 10:34:30+01:00 kaf24@firebug.cl.cam.ac.uk)

thoses warning has been corrected already.
try to pull a new version.

--
Vincent Hanquez

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel