http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59644

--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #11)
> (In reply to Jakub Jelinek from comment #10)
> > If you have time, could you please try to bisect manually which of the 4
> > functions matters for the bootstrap failure?
> > Compile printk.s with both compilers and apply by hand only portions of the
> > diff that are for individual routines?
> 
> Yes. I will try this later.
> In the meantime I've found out that drivers/acpi/acpica/utxferror.c also 
> gets miscompiled. If I replace this two object files with good ones and
> relink the kernel, everything runs fine (under qemu)...
> 
> utxferror shows the same pattern as seen in printk.

It is undestandable the patch changes how most/all stdarg functions are
compiled in the kernel, the question is why the kernel cares in certain cases. 
Do you get some OOPS in the utxferror case or also silent hang without being
able to tell what is going on?  In ACPI case, I'd guess if the routine calls
into BIOS that the BIOS (or whatever qemu uses instead of BIOS) might assume
16-byte stack alignment which is part of the ABI, but the kernel intentionally
only guarantees 8-byte stack alignment.

Reply via email to