Re: [RFC, PATCHv1 15/28] x86: detect 5-level paging support

From: H. Peter Anvin
Date: Tue Dec 13 2016 - 17:46:57 EST


On 12/08/16 12:20, Borislav Petkov wrote:
> On Thu, Dec 08, 2016 at 12:08:53PM -0800, Linus Torvalds wrote:
>> Especially since that's some of the ugliest inline asm ever due to the
>> nasty BX handling.
>
> Yeah, about that: why doesn't gcc handle that for us like it would
> handle a clobbered register? I mean, it *should* know that BX is live
> when building with -fPIC... The .ifnc thing looks really silly.
>

When compiling with -fPIC gcc treats ebx as a "fixed register". A fixed
register can't be spilled, and so a clobber of a fixed register is a
fatal error.

Like it or not, it's how it works.

-hpa