69 lines
2.7 KiB
Diff
69 lines
2.7 KiB
Diff
From 44892d7c172014a45e9a191fc36b2d4cca343890 Mon Sep 17 00:00:00 2001
|
|
From: Martell Malone <martellmalone@gmail.com>
|
|
Date: Tue, 16 Aug 2016 13:05:23 -0700
|
|
Subject: [PATCH 2/3] COFF: Fix short import lib import name type bitshift
|
|
|
|
llvm-readobj: Support short import objects from within an archive
|
|
The import magic was previous just checked against the archive as a whole
|
|
|
|
As per the PE COFF spec (section 8.3, Import Name Type)
|
|
Offset: 18 Size 2 bits Name: Type
|
|
Offset: 20 Size 3 bits Name: Name Type
|
|
|
|
Offset: 20 added based on 18+2
|
|
---
|
|
.../llvm-readobj/Inputs/imports.mangle.coff-x86_64 | Bin 0 -> 2108 bytes
|
|
test/tools/llvm-readobj/imports-mangle.test | 17 +++++++++++++++++
|
|
2 files changed, 17 insertions(+)
|
|
create mode 100644 test/tools/llvm-readobj/Inputs/imports.mangle.coff-x86_64
|
|
create mode 100644 test/tools/llvm-readobj/imports-mangle.test
|
|
|
|
diff --git a/test/tools/llvm-readobj/Inputs/imports.mangle.coff-x86_64 b/test/tools/llvm-readobj/Inputs/imports.mangle.coff-x86_64
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..af6e583a31b953d1c9451266b09bee50093b8d54
|
|
GIT binary patch
|
|
literal 2108
|
|
zcmb_d&2JJ>5dX1!Db|LlF)`5wn<nZ7VRs80{8+RmU@2`V9Q3k9)>@hpnzkM|G&UYM
|
|
z`7e0zkMPE!S8sYU9@>AzL!H_8-m)OpZqrTX&6^Kq-uu0o;qIg6PHW>y;$dp^%bG^c
|
|
zDC9Dk{HQ)7MLna--C6>`6+oK-A_XA23B(U19TR7o6%-o)v4L%umsXZ*b$j8(>hoH8
|
|
zrM_IV*SlTVcC}Hd{B6VsvI<+h)Tl1n3&nboyxW~^d$-rg!d*OBXIYnab}%5;r?fXM
|
|
z>s7H-vR+I3s4g%H*&zyXf?-Aj3K3v43LKE)m}r)05OX0y93g15#t=bNu3?OxAuu}P
|
|
z;^RRW99vv|2$T;aVIv0@K7BIAgnQcA+VWueUsafSRW54@rys`8kDnXi5O9gG;V<pH
|
|
zee?d^+^Ud($F%vR1j#KVpQYPQbFVq4E7J|yd?PxNiZF2tnM3K9lWI55Z=WCQEu;?V
|
|
zSul;uEFvy1br08*{AS->EigrVzjtk^-P-BycGve(_iGPQm2!1a+D8~W^C6h1?A=|G
|
|
zR(f~R$qcYs-Oe_haldzjlM}x;xlti7sjFImd&~``aW5ruNFS4Z=tuB;=7$>A-{wVr
|
|
z937aK5;F}iX$@Rn6Pqs)v@&!v=gkYJuep`+)jbp+ZE|He!sM;K$}p6YE8~k2B<ISw
|
|
z@E1SJTi&4q{Bwu}Ml4_OAtrk17bOr6I~lQ4ddaH<?nUk;|7XEcy<{pq`~6UY<m`8$
|
|
z$esn&Ta<ia5e7xnRKq&O|5@CSPM;^#P4{+FV{=$FanLM=DW7dD%QR&P(S#C%_uSEq
|
|
b$<eP;bd3g)JJ40|z+Gyb8Xe+~)r<ZIjQx$i
|
|
|
|
literal 0
|
|
HcmV?d00001
|
|
|
|
diff --git a/test/tools/llvm-readobj/imports-mangle.test b/test/tools/llvm-readobj/imports-mangle.test
|
|
new file mode 100644
|
|
index 0000000..211fc57
|
|
--- /dev/null
|
|
+++ b/test/tools/llvm-readobj/imports-mangle.test
|
|
@@ -0,0 +1,17 @@
|
|
+RUN: llvm-readobj --coff-imports %p/Inputs/imports.mangle.coff-x86_64 | FileCheck -check-prefix=X64 %s
|
|
+
|
|
+X64: Name type: undecorate
|
|
+X64-NEXT: Symbol: __imp_?sym4@@YAHH@Z
|
|
+X64-NEXT: Symbol: ?sym4@@YAHH@Z
|
|
+
|
|
+X64: Name type: noprefix
|
|
+X64-NEXT: Symbol: __imp__sym3
|
|
+X64-NEXT: Symbol: _sym3
|
|
+
|
|
+X64: Name type: name
|
|
+X64-NEXT: Symbol: __imp_sym1
|
|
+X64-NEXT: Symbol: sym1
|
|
+
|
|
+X64: Name type: ordinal
|
|
+X64-NEXT: Symbol: __imp_sym2
|
|
+X64-NEXT: Symbol: sym2
|
|
--
|
|
2.7.4
|
|
|