diff options
author | Martell Malone <martellmalone@gmail.com> | 2016-10-01 23:10:20 +0000 |
---|---|---|
committer | Martell Malone <martellmalone@gmail.com> | 2016-10-01 23:10:20 +0000 |
commit | 3a4d900039fda5ade30bfd99bccd76b14fbd1b8a (patch) | |
tree | ad4d8ceff5e8d787ab35331c2b753c898ff6d770 | |
parent | 7609f1c2695e185fbc0ce9505606f1a9e6a1da87 (diff) | |
download | bcm5719-llvm-3a4d900039fda5ade30bfd99bccd76b14fbd1b8a.tar.gz bcm5719-llvm-3a4d900039fda5ade30bfd99bccd76b14fbd1b8a.zip |
COFF: Fix short import lib import name type bitshift
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
Partially commited as rL279069
Differential Revision: https://reviews.llvm.org/D23540
llvm-svn: 283055
-rw-r--r-- | llvm/include/llvm/Support/COFF.h | 2 | ||||
-rwxr-xr-x | llvm/test/tools/llvm-readobj/Inputs/library.lib | bin | 2166 -> 2166 bytes | |||
-rw-r--r-- | llvm/test/tools/llvm-readobj/coff-exports-implib.test | 4 |
3 files changed, 5 insertions, 1 deletions
diff --git a/llvm/include/llvm/Support/COFF.h b/llvm/include/llvm/Support/COFF.h index 7dad3e82bda..1ca781b981e 100644 --- a/llvm/include/llvm/Support/COFF.h +++ b/llvm/include/llvm/Support/COFF.h @@ -657,7 +657,7 @@ namespace COFF { } ImportNameType getNameType() const { - return static_cast<ImportNameType>((TypeInfo & 0x1C) >> 3); + return static_cast<ImportNameType>((TypeInfo & 0x1C) >> 2); } }; diff --git a/llvm/test/tools/llvm-readobj/Inputs/library.lib b/llvm/test/tools/llvm-readobj/Inputs/library.lib Binary files differindex 193380dd485..7ad7c9052ea 100755 --- a/llvm/test/tools/llvm-readobj/Inputs/library.lib +++ b/llvm/test/tools/llvm-readobj/Inputs/library.lib diff --git a/llvm/test/tools/llvm-readobj/coff-exports-implib.test b/llvm/test/tools/llvm-readobj/coff-exports-implib.test index 9715109b3d5..2b327384b25 100644 --- a/llvm/test/tools/llvm-readobj/coff-exports-implib.test +++ b/llvm/test/tools/llvm-readobj/coff-exports-implib.test @@ -3,20 +3,24 @@ RUN: llvm-readobj -coff-exports %p/Inputs/library.lib | FileCheck %s CHECK: File: library.dll CHECK: Format: COFF-import-file CHECK: Type: const +CHECK: Name type: undecorate CHECK: Symbol: __imp__constant CHECK: File: library.dll CHECK: Format: COFF-import-file CHECK: Type: data +CHECK: Name type: noprefix CHECK: Symbol: __imp__data CHECK: File: library.dll CHECK: Format: COFF-import-file CHECK: Type: code +CHECK: Name type: name CHECK: Symbol: __imp__function CHECK: File: library.dll CHECK: Format: COFF-import-file CHECK: Type: code +CHECK: Name type: ordinal CHECK: Symbol: __imp__ordinal |