summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-02-12 09:56:01 +0000
committerFangrui Song <maskray@google.com>2019-02-12 09:56:01 +0000
commit8e0d5ac715a86766966d298a411f67aeba414312 (patch)
tree1a568a33122650e9460e69e4c10fb0665adf472d /llvm/tools
parentb1d6f520059d3b593e08e94d690e7e0b0e740da8 (diff)
downloadbcm5719-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.cpp10
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();
}
}
OpenPOWER on IntegriCloud