feat(asm): emit RISC-V GOOBJ with the shared emitter
Assisted-by: DeepSeek V4 Pro
This commit is contained in:
@@ -26,6 +26,14 @@ Unreleased changes on the `development` branch.
|
||||
in the architecture's MinLC units as the runtime expects — the amd64 link
|
||||
test now genuinely substitutes the gasm object, and the amd64/loong64
|
||||
end-to-end GOOBJ link tests pass.
|
||||
- **RISC-V GOOBJ emission via the shared emitter.** RISC-V GOOBJ output is
|
||||
now written by the same shared emitter as amd64 and LoongArch, modelling
|
||||
each AUIPC + second-instruction pair as a single R_RISCV_PCREL_ITYPE/STYPE
|
||||
relocation (the layout `cmd/asm` writes, not the ELF HI20/LO12 pair), so the
|
||||
object links into a cross-compiled `go build` for `GOARCH=riscv64`. An
|
||||
end-to-end link test substitutes the gasm object and reads the symbol back
|
||||
with `go tool nm`; the rewrite also corrects the relocation `after` field
|
||||
and the compressed `RET` encoding (C.JR ra).
|
||||
|
||||
### Fixed
|
||||
|
||||
|
||||
Reference in New Issue
Block a user