@@ -80,10 +80,63 @@ DIR3-NEXT: ExtraRFETableSize: 0x10
8080DIR3: ]
8181DIR3: }
8282
83+ arm64x with no x86 .pdata:
84+
8385RUN: llvm-objdump -s --section=.pdata test4.dll | FileCheck -check-prefix=DATA4 %s
8486DATA4: 180006000 00100000 11000001 00200000 11000001 ......... ......
8587DATA4: 180006010 00300000 0e300000
8688
89+ RUN: lld-link -out:testx2.dll -machine:arm64x arm64-func-sym.obj arm64ec-func-sym.obj \
90+ RUN: loadconfig-arm64.obj loadconfig-arm64ec.obj -dll -noentry
91+
92+ RUN: llvm-readobj --headers --coff-load-config testx2.dll | FileCheck -check-prefix=DIR4 %s
93+ DIR4: ImageOptionalHeader {
94+ DIR4: DataDirectory {
95+ DIR4: ExceptionTableRVA: 0x5000
96+ DIR4-NEXT: ExceptionTableSize: 0x10
97+ DIR4: }
98+ DIR4: }
99+ DIR4: CHPEMetadata [
100+ DIR4: ExtraRFETable: 0x0
101+ DIR4-NEXT: ExtraRFETableSize: 0x0
102+ DIR4: ]
103+ DIR4: HybridObject {
104+ DIR4: ImageOptionalHeader {
105+ DIR4: ExceptionTableRVA: 0x0
106+ DIR4-NEXT: ExceptionTableSize: 0x0
107+ DIR4: }
108+ DIR4: CHPEMetadata [
109+ DIR4: ExtraRFETable: 0x5000
110+ DIR4-NEXT: ExtraRFETableSize: 0x10
111+ DIR4: ]
112+ DIR4: }
113+
114+ arm64x with no ARM .pdata:
115+
116+ RUN: lld-link -out:testx3.dll -machine:arm64x x86_64-func-sym.obj loadconfig-arm64.obj loadconfig-arm64ec.obj -dll -noentry
117+
118+ RUN: llvm-readobj --headers --coff-load-config testx3.dll | FileCheck -check-prefix=DIR5 %s
119+ DIR5: ImageOptionalHeader {
120+ DIR5: DataDirectory {
121+ DIR5: ExceptionTableRVA: 0x0
122+ DIR5-NEXT: ExceptionTableSize: 0x0
123+ DIR5: }
124+ DIR5: }
125+ DIR5: CHPEMetadata [
126+ DIR5: ExtraRFETable: 0x4000
127+ DIR5-NEXT: ExtraRFETableSize: 0xC
128+ DIR5: ]
129+ DIR5: HybridObject {
130+ DIR5: ImageOptionalHeader {
131+ DIR5: ExceptionTableRVA: 0x4000
132+ DIR5-NEXT: ExceptionTableSize: 0xC
133+ DIR5: }
134+ DIR5: CHPEMetadata [
135+ DIR5: ExtraRFETable: 0x0
136+ DIR5-NEXT: ExtraRFETableSize: 0x0
137+ DIR5: ]
138+ DIR5: }
139+
87140Order of inputs doesn't matter, the data is sorted by type and RVA:
88141
89142RUN: lld-link -out:test5.dll -machine:arm64ec x86_64-func-sym.obj arm64ec-func-sym.obj \
0 commit comments