summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-01-09 04:31:14 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-01-09 04:31:14 +0000
commitb7b8a8f46dcab7cc5c54483adbd9b11fc34ba244 (patch)
tree0c245a287dbfd451c30efbde3b2e43958ed7f742 /llvm
parent38fe6342f63925d65ae438f71484eeb5744548a6 (diff)
downloadbcm5719-llvm-b7b8a8f46dcab7cc5c54483adbd9b11fc34ba244.tar.gz
bcm5719-llvm-b7b8a8f46dcab7cc5c54483adbd9b11fc34ba244.zip
llvm-readobj: fix endianness
Explicitly handle endianness to ensure that bytes are read properly on big-endian systems. llvm-svn: 198847
Diffstat (limited to 'llvm')
-rw-r--r--llvm/tools/llvm-readobj/ARMEHABIPrinter.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/llvm/tools/llvm-readobj/ARMEHABIPrinter.h b/llvm/tools/llvm-readobj/ARMEHABIPrinter.h
index f6c14b9610d..754733f6b42 100644
--- a/llvm/tools/llvm-readobj/ARMEHABIPrinter.h
+++ b/llvm/tools/llvm-readobj/ARMEHABIPrinter.h
@@ -137,8 +137,8 @@ void PrinterContext<ET>::PrintExceptionTable(const Elf_Shdr *IT,
/// +-+---+----+-----------------------+
/// | more personality routine data |
- const uint32_t Word =
- *reinterpret_cast<const uint32_t *>(Contents->data() + TableEntryOffset);
+ const support::ulittle32_t Word =
+ *reinterpret_cast<const support::ulittle32_t *>(Contents->data() + TableEntryOffset);
if (Word & 0x80000000) {
SW.printString("Model", StringRef("Compact"));
@@ -200,16 +200,17 @@ void PrinterContext<ET>::PrintIndexTable(unsigned SectionIndex,
/// - The special bit pattern EXIDX_CANTUNWIND, indicating that associated
/// frames cannot be unwound
- const uint32_t *Data = reinterpret_cast<const uint32_t *>(Contents->data());
+ const support::ulittle32_t *Data =
+ reinterpret_cast<const support::ulittle32_t *>(Contents->data());
const unsigned Entries = IT->sh_size / IndexTableEntrySize;
ListScope E(SW, "Entries");
for (unsigned Entry = 0; Entry < Entries; ++Entry) {
DictScope E(SW, "Entry");
- const uint32_t Word0 =
+ const support::ulittle32_t Word0 =
Data[Entry * (IndexTableEntrySize / sizeof(*Data)) + 0];
- const uint32_t Word1 =
+ const support::ulittle32_t Word1 =
Data[Entry * (IndexTableEntrySize / sizeof(*Data)) + 1];
if (Word0 & 0x80000000) {
OpenPOWER on IntegriCloud