arm64_32 uses 32-bit GOT loads, so we should accept those
instructions in ARM64Common::relaxGotLoad() too.
Details
- Reviewers
gkm - Group Reviewers
Restricted Project - Commits
- rG1acda12d00ec: [lld-macho] Make load relaxation work for arm64_32
rG682d1dfe0943: [lld-macho] Make load relaxation work for arm64_32
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
LGTM
lld/test/MachO/arm64-32-reloc-got-load.s | ||
---|---|---|
2 | Super nitty: this and the original arm64-reloc-got-load.s have some tabs, and even some whitespace only differences between them. For that matter, these 16 test files have some tabs: ./x86-64-reloc-got-load.s ./why-load.s ./arm64-relocs.s ./arm64-reloc-pointer-to-got.s ./weak-reference.s ./objc.s ./invalid/bad-got-to-dylib-tlv-reference.s ./invalid/bad-tlv-def.s ./invalid/bad-tlv-opcode.s ./weak-binding.s ./indirect-symtab.s ./tlv-dylib.s ./arm64-32-reloc-got-load.s ./mattrs.ll ./arm64-reloc-got-load.s ./tlv.s | |
28 | The original arm64-reloc-got-load.s had this comment appended to the line: ; literal pool symbol address: _foo | |
30 | The original arm64-reloc-got-load.s had this comment appended to the line: ; literal pool symbol address: _bar |
lld/test/MachO/arm64-32-reloc-got-load.s | ||
---|---|---|
2 | good point. I've cleaned up the rest here: https://github.com/llvm/llvm-project/commit/74283fc8534b729f5e15ae934de15c01fd6db9c0 | |
28 | unfortunately llvm-objdump doesn't emit those comments for arm64_32 |
Super nitty: this and the original arm64-reloc-got-load.s have some tabs, and even some whitespace only differences between them.
For that matter, these 16 test files have some tabs: