HomeFreeBSD

RISC-V: fix global symbol lookups for mpentry with lld

Description

RISC-V: fix global symbol lookups for mpentry with lld

This is a follow up to r356481. In locore.S, before virtual memory is
set up, we should avoid using indirect address lookups through the GOT.
Therefore we need to convert uses of the la instruction to lla, which
always generates an auipc/addi pair of instructions. This conversion was
done for the BSP case, but not the AP case, resulting in a fault
somewhere before mpva and a failure to bring APs online.

Reported by: lwhsu
Reviewed by: lwhsu, jrtc27 (accepted in a comment)
Differential Revision: https://reviews.freebsd.org/D23138

Details

Committed
mhorneJan 13 2020, 3:39 AM
Reviewer
lwhsu
Differential Revision
D23138: RISC-V: fix global symbol lookups for mpentry with lld
Parents
rS356674: MFC r324815: Make elf_aux_info() as public libc function.
Branches
Unknown
Tags
Unknown