Thread (5 messages) 5 messages, 4 authors, 2023-08-21

Re: [PATCH] samples: ftrace: replace bti assembly with hint for older compiler

flat view

From: Mark Rutland <mark.rutland@arm.com>
Date: 2023-08-21 16:05:02
Also in: lkml

On Mon, Aug 21, 2023 at 05:41:21PM +0200, Florent Revest wrote:
On Sun, Aug 20, 2023 at 1:10 PM GONG, Ruiqi [off-list ref] wrote:
quoted
When cross-building the arm64 kernel with allmodconfig using GCC 9.4,
the following error occurs on multiple files under samples/ftrace/:

/tmp/ccPC1ODs.s: Assembler messages:
/tmp/ccPC1ODs.s:8: Error: selected processor does not support `bti c'

Fix this issue by replacing `bti c` with `hint 34`, which is compatible
for the older compiler.
I see this hint is already used in
tools/testing/selftests/arm64/fp/rdvl.S but I'm curious why it isn't
used in other parts of the kernel like
arch/arm64/kernel/entry-ftrace.S or
tools/testing/selftests/arm64/bti/syscall.S
For assembly files, the macro in arch/arm64/include/asm/assembler.h handles
this automatically. See commit:

  9be34be87cc8d1af ("arm64: Add macro version of the BTI instruction")

For inline asembly, we need to explicitly instantiate all of that in the inline
asm block, and since clang treats each asm block independently, we can'y just
define that in one place in a header somewhere.

I'll reply to the patch in a sec...

Mark.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help