On Fri, Dec 29, 2017 at 12:22 PM, Alexander Tsoy alexander@tsoy.me wrote:
But double-checking that "-march=core2" case is definitely worth looking into. Especially since there are clear indications that it's gcc version-dependent anyway. Alexander?
Yes, the change suggested by Dave makes the problem go away.
Ok, that's good information.
It doesn't really explain *why* that commit 7f2590a110b8 ("x86/entry/64: Use a per-CPU trampoline stack for IDT entries") ends up being sensitive to that compiler option, though.
So it narrows the cause down, but it doesn't really root-cause the problem. It tends to be almost impossible to find differences in code generation, because they are generally all over.
Ho humm. What happens if you change the "-march=core2" to "-mtune=core2"? Does it still boot?
Because maybe the actual differences that "-march=core2" generates might be easier to see when compared to "-mtune=core2".
Linus