diff options
| author | Fangrui Song <maskray@google.com> | 2019-02-12 09:56:01 +0000 |
|---|---|---|
| committer | Fangrui Song <maskray@google.com> | 2019-02-12 09:56:01 +0000 |
| commit | 8e0d5ac715a86766966d298a411f67aeba414312 (patch) | |
| tree | 1a568a33122650e9460e69e4c10fb0665adf472d /llvm/tools | |
| parent | b1d6f520059d3b593e08e94d690e7e0b0e740da8 (diff) | |
| download | bcm5719-llvm-8e0d5ac715a86766966d298a411f67aeba414312.tar.gz bcm5719-llvm-8e0d5ac715a86766966d298a411f67aeba414312.zip | |
[llvm-readobj] Only allow 4-byte pr_data
Summary: AMD64 psABI says: "The pr_data field of each property contains a 4-byte unsigned integer." Thus we don't need to handle 8-byte pr_data.
Reviewers: mike.dvoretsky, grimar, craig.topper, xiangzhangllvm, hjl.tools
Reviewed By: grimar
Subscribers: rupprecht, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D58103
llvm-svn: 353815
Diffstat (limited to 'llvm/tools')
| -rw-r--r-- | llvm/tools/llvm-readobj/ELFDumper.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp index ba56e76403f..deb8fe0adb7 100644 --- a/llvm/tools/llvm-readobj/ELFDumper.cpp +++ b/llvm/tools/llvm-readobj/ELFDumper.cpp @@ -3670,14 +3670,12 @@ static std::string getGNUProperty(uint32_t Type, uint32_t DataSize, return OS.str(); case GNU_PROPERTY_X86_FEATURE_1_AND: OS << "X86 features: "; - if (DataSize != 4 && DataSize != 8) { + if (DataSize != 4) { OS << format("<corrupt length: 0x%x>", DataSize); return OS.str(); } - uint64_t CFProtection = - (DataSize == 4) - ? support::endian::read32<ELFT::TargetEndianness>(Data.data()) - : support::endian::read64<ELFT::TargetEndianness>(Data.data()); + uint32_t CFProtection = + support::endian::read32<ELFT::TargetEndianness>(Data.data()); if (CFProtection == 0) { OS << "none"; return OS.str(); @@ -3695,7 +3693,7 @@ static std::string getGNUProperty(uint32_t Type, uint32_t DataSize, OS << ", "; } if (CFProtection) - OS << format("<unknown flags: 0x%llx>", CFProtection); + OS << format("<unknown flags: 0x%x>", CFProtection); return OS.str(); } } |

