Hi Jeff,

Thanks for taking a stab at sorting out this gcc madness.
I had to apply it by hand on top of -rc3 (I then tried -rc4 too):
(but since no UML patches went into rc4 I guess it's just an offset
problem)

tar -jxf linux-2.6.14.tar.bz2
mv linux-2.6.14 linux-2.6.15-rc3-uml-x86
cd linux-2.6.15-rc3-uml-x86
bzcat ../patch-2.6.15-rc3.bz2 | patch -p1
patch -p1 --dry-run < ../stub-clone.patch
patching file arch/um/include/sysdep-i386/stub.h
Hunk #2 FAILED at 80.
1 out of 2 hunks FAILED -- saving rejects to file
arch/um/include/sysdep-i386/stub.h.rej
patching file arch/um/include/sysdep-x86_64/stub.h
Hunk #2 FAILED at 85.
1 out of 2 hunks FAILED -- saving rejects to file
arch/um/include/sysdep-x86_64/stub.h.rej
patching file arch/um/kernel/skas/clone.c
Hunk #1 FAILED at 18.
Hunk #2 FAILED at 34.
2 out of 2 hunks FAILED -- saving rejects to file
arch/um/kernel/skas/clone.c.rej

I can build the amd64 guest with both:
* gcc (GCC) 3.4.4 (Gentoo Hardened 3.4.4-r1, HTB-3.4.4-1.00,
ssp-3.4.4-1.0, pie-8.7.8)
* gcc (GCC) 4.0.2 20051125 (Red Hat 4.0.2-8)
But as reported yesterday, the GCC-3.4.4 compiled one stops very early
in the boot process.

Now for the SUBARCH=i386 build: using GCC 4.0.2 (FC4 as above) worked,
but using GCC 3.4.4 (Gentoo Hardened):

I get the same result for SUBARCH=i386 and native x86 builds:
* Native: gcc (GCC) 3.3.6 (Gentoo Hardened 3.3.6, HTB-3.3.6-1.00-r1,
ssp-3.3.6-1.0, pie-8.7.8)
* SUBARCH=i386: gcc (GCC) 3.4.4 (Gentoo Hardened 3.4.4-r1,
HTB-3.4.4-1.00, ssp-3.4.4-1.0, pie-8.7.8)

  CC      arch/um/kernel/skas/clone.o
arch/um/kernel/skas/clone.c: In function `stub_clone_handler':
arch/um/include/sysdep/stub.h:45: error: can't find a register in class
`BREG' while reloading `asm'
arch/um/include/sysdep/stub.h:66: error: can't find a register in class
`BREG' while reloading `asm'
arch/um/include/sysdep/stub.h:55: error: can't find a register in class
`BREG' while reloading `asm'
arch/um/include/sysdep/stub.h:90: error: can't find a register in class
`BREG' while reloading `asm'
make[2]: *** [arch/um/kernel/skas/clone.o] Error 1
make[1]: *** [arch/um/kernel/skas] Error 2
make: *** [arch/um/kernel] Error 2

(I used the files that worked on gcc4 to make sure I did not make a
mistake merging it)
I haven't booted into the GCC4 one, but there is no reason why it
wouldn't work.

Antoine



On Thu, 2005-12-01 at 19:13 -0500, Jeff Dike wrote:
> I'm sending this mail out to everyone that I can find who has had the UML
> stubs compiled in unexpected ways, resulting in crashing.
> 
> I'd like testing of the patch below on as many gcc versions as possible.  I
> think this patch avoids the fundamental issue which is behind this, namely
> gcc using the stack when we have just replaced it, behind gcc's back.  The 
> remapping and storage of the return value is hidden in a blob of asm, 
> hopefully
> giving gcc no room for creativity.
> 
> The patch changes both i386 and x86_64 and I'd appreciate testing on both
> architectures.  It's against -rc3, but should go cleanly against -rc4 as well.
> 
> Please report back both successes and failures.
> 
>                               Jeff




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to