summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/COFF/DLL.cpp4
-rw-r--r--lld/test/COFF/delayimports.test59
2 files changed, 41 insertions, 22 deletions
diff --git a/lld/COFF/DLL.cpp b/lld/COFF/DLL.cpp
index 9d5eb817220..d44dd4b4a0b 100644
--- a/lld/COFF/DLL.cpp
+++ b/lld/COFF/DLL.cpp
@@ -326,6 +326,10 @@ public:
write64le(Buf + FileOff, Thunk->getRVA() + Config->ImageBase);
}
+ void getBaserels(std::vector<uint32_t> *Res, Defined *ImageBase) override {
+ Res->push_back(RVA);
+ }
+
Chunk *Thunk;
};
diff --git a/lld/test/COFF/delayimports.test b/lld/test/COFF/delayimports.test
index 782f2f1ce2c..1e862d7aa98 100644
--- a/lld/test/COFF/delayimports.test
+++ b/lld/test/COFF/delayimports.test
@@ -1,26 +1,41 @@
# RUN: lld -flavor link2 /out:%t.exe /entry:main /subsystem:console \
# RUN: %p/Inputs/hello64.obj %p/Inputs/std64.lib /delayload:std64.dll \
# RUN: /alternatename:__delayLoadHelper2=main
-# RUN: llvm-readobj -coff-imports %t.exe | FileCheck %s
+# RUN: llvm-readobj -coff-imports %t.exe | FileCheck -check-prefix=IMPORT %s
+# RUN: llvm-readobj -coff-basereloc %t.exe | FileCheck -check-prefix=BASEREL %s
-CHECK: DelayImport {
-CHECK-NEXT: Name: std64.dll
-CHECK-NEXT: Attributes: 0x1
-CHECK-NEXT: ModuleHandle: 0x1018
-CHECK-NEXT: ImportAddressTable: 0x1020
-CHECK-NEXT: ImportNameTable: 0x3040
-CHECK-NEXT: BoundDelayImportTable: 0x0
-CHECK-NEXT: UnloadDelayImportTable: 0x0
-CHECK-NEXT: Import {
-CHECK-NEXT: Symbol: ExitProcess (0)
-CHECK-NEXT: Address: 0x140002066
-CHECK-NEXT: }
-CHECK-NEXT: Import {
-CHECK-NEXT: Symbol: (50)
-CHECK-NEXT: Address: 0x1400020BD
-CHECK-NEXT: }
-CHECK-NEXT: Import {
-CHECK-NEXT: Symbol: MessageBoxA (1)
-CHECK-NEXT: Address: 0x140002114
-CHECK-NEXT: }
-CHECK-NEXT: }
+IMPORT: DelayImport {
+IMPORT-NEXT: Name: std64.dll
+IMPORT-NEXT: Attributes: 0x1
+IMPORT-NEXT: ModuleHandle: 0x1018
+IMPORT-NEXT: ImportAddressTable: 0x1020
+IMPORT-NEXT: ImportNameTable: 0x3040
+IMPORT-NEXT: BoundDelayImportTable: 0x0
+IMPORT-NEXT: UnloadDelayImportTable: 0x0
+IMPORT-NEXT: Import {
+IMPORT-NEXT: Symbol: ExitProcess (0)
+IMPORT-NEXT: Address: 0x140002066
+IMPORT-NEXT: }
+IMPORT-NEXT: Import {
+IMPORT-NEXT: Symbol: (50)
+IMPORT-NEXT: Address: 0x1400020BD
+IMPORT-NEXT: }
+IMPORT-NEXT: Import {
+IMPORT-NEXT: Symbol: MessageBoxA (1)
+IMPORT-NEXT: Address: 0x140002114
+IMPORT-NEXT: }
+IMPORT-NEXT: }
+
+BASEREL: BaseReloc [
+BASEREL-NEXT: Entry {
+BASEREL-NEXT: Type: DIR64
+BASEREL-NEXT: Address: 0x1020
+BASEREL-NEXT: }
+BASEREL-NEXT: Entry {
+BASEREL-NEXT: Type: DIR64
+BASEREL-NEXT: Address: 0x1028
+BASEREL-NEXT: }
+BASEREL-NEXT: Entry {
+BASEREL-NEXT: Type: DIR64
+BASEREL-NEXT: Address: 0x1030
+BASEREL-NEXT: }
OpenPOWER on IntegriCloud