Re: [PATCH 0/3] arm64: Open code .arch_extension

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2020-03-25 12:03 pm, Mark Rutland wrote:
On Wed, Mar 25, 2020 at 12:54:10PM +0100, Ard Biesheuvel wrote:
On Wed, 25 Mar 2020 at 12:50, Mark Brown <broonie@xxxxxxxxxx> wrote:
Since BTI is a mandatory feature of v8.5 there is no BTI arch_extension,
you can only enable it by moving the base architecture to v8.5.  You'd
need to use .arch and that feels likely to find us sharp edges to run
into.

I think we should talk to the toolchain folks about this. Even if
.arch_extension today does not support the 'bti' argument, it *is*
most definitely an architecture extension, even it it is mandatory in
v8.5 (given that v8.5 is itself an architecture extension).

It certianly seems unfortunate, as it goes against the premise of having
HINT space instructions. Most software will want to enable HINT space
instructions from ARMv8.x but nothing else to ensure binary
compatibility with existing hardware.

I see the same is true for pointer authentication judging by:

https://sourceware.org/binutils/docs/as/AArch64-Extensions.html#AArch64-Extensions

... so worth raising with toolchain folk as a general principle even if
we have to bodge around it for now.

Indeed, in general, just because a feature is mandatory in v8.n doesn't necessarily mean it can't be included in a v8.(n-1) implementation which may not have the *other* mandatory parts of v8.n which ".arch armv8.<n>-a" would let through.

Robin.



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux