arm64: Call/reference linkage space directly from immobile space.
commitb18fb646f2e2a693bfa9a7bab640bbb11997bb50
authorCharles Zhang <charleszhang99@yahoo.com>
Tue, 23 May 2023 12:28:38 +0000 (23 14:28 +0200)
committerCharles Zhang <charleszhang99@yahoo.com>
Sun, 28 May 2023 23:26:42 +0000 (29 01:26 +0200)
tree6ee1dd6d2cc210b8a6856e0b3b056263fead96b6
parent26d28bed4dc8bf214e074d660c57dc7b72f5bbb3
arm64: Call/reference linkage space directly from immobile space.

Do this by adding another pc-relative fixup type for LDR/STR. Not only
does this make the code more compact, it should also be faster. This
also makes it easier to elfinate by making it less complicated to
recognize how to rewrite references into linkage space into direct
references to the alien symbol resp. references into the
GOT/PLT (i.e. the "ELF" linkage table) for position-independent
executables.
src/assembly/arm64/support.lisp
src/assembly/arm64/tramps.lisp
src/compiler/arm64/alloc.lisp
src/compiler/arm64/c-call.lisp
src/compiler/arm64/cell.lisp
src/compiler/arm64/insts.lisp
src/compiler/arm64/show.lisp
src/compiler/arm64/vm.lisp