Hello,
I am trying to boot a 2.6.x kernel (on x86_64) compiled with -mregparm=0
and it does not boot, i.e. hangs at the very first stage.
I know this breaks ABI/x86_64 but the reason I need to compile such a
kernel is because kdb on x86_64 cannot show the function arguments and the
only way to make it work that I found was to pass all arguments on the
stack (then kdb works fine and shows correct values for all arguments).
But obviously the module and the kernel need to match, otherwise it will
panic easily; and so I have to use the same argument passing convention in
the kernel. This is obviously for debugging only, nobody would ever ship
such "incorrectly" compiled module anywhere.
So, I have to find a "boundary" between the parts of the kernel that can
be safely compiled with -mregparm=0 and which must stay as they are. Any
ideas as to what to do in this situation?
Actually -mregparm=0 is not supposed to be even accepted by x86-64
compiler (I've disabled the function attribute but apparently missed
this one) and even if GCC produced valid code by miracle, you will get
into trouble with hand written assembly.
Honza-
Kind regards
Tigran
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/