-mregparm=3 (was Re: [PATCH] i386 do_machine_check() is redundant.

From: Mikulas Patocka (mikulas_at_artax.karlin.mff.cuni.cz)
Date: 09/29/03

  • Next message: H. Peter Anvin: "Re: [PATCH] ULL fixes for qlogicfc"
    Date:	Mon, 29 Sep 2003 22:20:45 +0200 (CEST)
    To: Arjan van de Ven <arjanv@redhat.com>
    
    

    > > > Use machine_check_vector in the entry code instead.
    > >
    > > This is wrong. You just lost the "asmlinkage" thing, which means that it
    > > breaks when asmlinkage matters.
    > >
    > > And yes, asmlinkage _can_ matter, even on x86. It disasbles regparm, for
    > > one thing, so it makes a huge difference if the kernel is compiled with
    > > -mregparm=3 (which used to work, and which I'd love to do, but gcc has
    > > often been a tad fragile).
    >
    > gcc 3.2 and later are supposed to be ok (eg during 3.2 development a
    > long standing bug with regparm was fixed and now is believed to work)...
    > since our makefiles check gcc version already... this can be made gcc
    > version dependent as well for sure..

    They are still buggy. gcc 3.3.1 miscompiles itself with -mregparm=3
    (without -O or -O2 it works). (I am too lazy to spend several days trying
    to find exactly which function in gcc was miscompiled, maybe I do it one
    day). gcc 2.95.3 compiles gcc 3.3.1 with -mregparm=3 -O2 correctly.
    gcc 3.4 doesn't seem to be better.

    gcc 2.7.2.3 has totally broken -mregparm=3, even quite simple programs
    fail.

    Mikulas
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: H. Peter Anvin: "Re: [PATCH] ULL fixes for qlogicfc"

    Relevant Pages

    • Re: ALSA vs. OSS
      ... Loading the kernel version of the modules always fails with: ... perhaps from the compiler, which I compiled myself: ... gcc 2.95.3) and binutils 2.14. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [2.6 patch] fix DECSTATION depends
      ... And I'm actually using a 64-bit kernel on my R4k DECstations routinely -- ... currently I'm torturing it on my 5000/260 with gcc 3.4 bootstraps and it ... DECstation if it had an R4400 rev.2.0 or later. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [PATCH 1/3] Separate IRQ-stacks from 4K-stacks option
      ... Please specify exactly what gcc version you are talking about. ... 2.95.4, if I remember correctly, contained fixes that went onto the gcc ... > fix the kernel or drop gcc2 support. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • stack checking (was: Re: RFC: turn kmalloc+memset(,0,) into kcalloc)
      ... you can compile the kernel with gcc 3.4 and run "make ... consumption from gcc 3.4 and call graph from gcc 3.1. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • bug in include file!?
      ... gcc says: parse error before u8 ... It may be the error of the makefiles or the kernel include files... ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)