Messages in this thread | | | Date | Sat, 25 Apr 2020 13:37:01 -0500 | From | Segher Boessenkool <> | Subject | Re: [PATCH] x86: Fix early boot crash on gcc-10, next try |
| |
On Sat, Apr 25, 2020 at 07:31:40PM +0200, Borislav Petkov wrote: > > There's also the one in init/main.c which is used by multiple > > architectures. On x86 at least, the call to arch_call_rest_init at the > > end of start_kernel does not get tail-call optimized by gcc-10, but I > > don't see anything that actually prevents that from happening. We should > > add the asm("") there as well I think, unless the compiler guys see > > something about this function that will always prevent the optimization? > > Hmm, that's what I was afraid of - having to sprinkle this around. Yah, let's > wait for compiler guys to have a look here and then maybe I'll convert that > thing to a macro called > > compiler_prevent_tail_call_opt() > > or so, so that it can be sprinkled around. ;-\
That is a lot more typing then asm(""); but more seriously, you probably should explain why you do not want a tail call *anyway*, and in such a comment you can say that is what the asm is for.
I don't see anything that prevents the tailcall in current code either, fwiw.
Segher
| |