summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2026-08-03 13:08:42 -0400
committerMagnus Lindholm <linmag7@gmail.com>2026-08-16 16:00:00 +0200
commitb39c748d9db0c6f3ada5e7cef7f56415827d5f81 (patch)
tree67bf78715dfd83fc0d17ff4a4d1e3d065a75933d /tools/lib/python
parent89679d7908e7f09dfa45cf9fe1ab59795455d197 (diff)
alpha: read $gp and $sp explicitly for clang
clang honors a local `register unsigned long x __asm__("$N")` variable only where it appears as an inline-asm operand; merely reading it does not produce the contents of that register. So trap_init() passed an undefined global pointer to PAL_wrkgp, and load_PCB() stored an undefined stack pointer into the PCB that swpctx then loaded. Either one wedges an early boot. Read the registers explicitly instead: an inline mov for $gp in trap_init(), and the file-scope current_stack_pointer for $sp in load_PCB(). A file-scope register-asm variable is the form clang does support. Signed-off-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Maciej W. Rozycki <macro@orcam.me.uk> Reviewed-by: Magnus Lindholm <linmag7@gmail.com> Tested-by: Magnus Lindholm <linmag7@gmail.com> Link: https://lore.kernel.org/r/20260803-alpha-clang-v1-2-1c4ba5ba7a64@gmail.com Signed-off-by: Magnus Lindholm <linmag7@gmail.com>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions