Re: [RFC] x86/retpoline: Add clang support for 64-bit builds

Andy Lutomirski
2018-02-06T21:01:30Z

On Tue, Feb 6, 2018 at 8:52 PM, David Woodhouse <david@woodhou.se> wrote:
> On Tue, 2018-02-06 at 12:32 -0800, Guenter Roeck wrote:
>>
>> >
>> Feedback, anyone ?
>>
>> I understand that there is no love for the ABI differences between clang
>> and gcc, but that doesn't help me. Even if the patch is unacceptable
>> as-is, I would like to have some feedback to get an idea if I am on the
>> right track, and what I would have to change to at least move into the
>> right direction.
>
> I'm going for just a comprehensive NACK. If they fix clang so that at
> least the thunk symbols __x86_indirect_thunk_\reg are compatible, then
> we could tolerate command line differences. Otherwise, just no.
>
> Unless you really fancy trying to do some kind of alias hack in modules
> so that they link to the external thunk by its proper name, even when
> built with clang? I reserve the right to hate that too.

I agree. Linux already has too much history of bending over backwards
to deal with poor ABIs from compilers rather than asking compilers to
fix their ABI. For example, stack canaries. Linux should never have
supported GCC's 32-bit x86 stack canary crap ABI in the first place.

--Andy