[lld] [LLD][COFF] Add support for ARM64EC auxiliary IAT (PR #108304)

Jacek Caban via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 12 08:49:38 PDT 2024


================
@@ -63,14 +63,37 @@ DISASM-NEXT: 180002000: ff 25 02 10 00 00            jmpq    *0x1002(%rip)
 
 RUN: llvm-readobj --hex-dump=.test out.dll | FileCheck --check-prefix=TESTSEC %s
 RUN: llvm-readobj --hex-dump=.test out2.dll | FileCheck --check-prefix=TESTSEC %s
-TESTSEC:      0x180006000 08300000 00300000 10300000 20300000
-TESTSEC-NEXT: 0x180006010 08100000 1c100000          00200000
+TESTSEC:      0x180007000 08500000 00300000 10500000 20500000
+TESTSEC-NEXT: 0x180007010 08300000 00500000 10300000 20300000
+TESTSEC-NEXT: 0x180007020 08100000 1c100000 00200000
 
 RUN: llvm-readobj --headers out.dll | FileCheck -check-prefix=HEADERS %s
 HEADERS:  LoadConfigTableRVA: 0x4010
 HEADERS:  IATRVA: 0x3000
 HEADERS:  IATSize: 0x1000
 
+RUN: llvm-readobj --coff-load-config out.dll | FileCheck -check-prefix=LOADCONFIG %s
+LOADCONFIG: AuxiliaryIAT: 0x5000
----------------
cjacek wrote:

Good question. If we were to dump its content as part of `--coff-load-config`, it would just be a list of addresses and zeroes, which doesn't seem particularly useful. It might be possible to extend `--coff-imports` to include them, similar to how we output `ImportAddressTableRVA`. This would likely involve changes to `COFFObjectFile`, but I’m unsure how valuable that would be in practice. It might make the tests from this PR a bit cleaner, but beyond that, users probably wouldn’t care much. I can experiment with it if you think it’s worth exploring.

https://github.com/llvm/llvm-project/pull/108304


More information about the llvm-commits mailing list