summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylvestre Ledru <sylvestre@debian.org>2015-02-05 16:35:44 +0000
committerSylvestre Ledru <sylvestre@debian.org>2015-02-05 16:35:44 +0000
commitfe0c7ad852497889fcadd7a814d551aa9af5ccf5 (patch)
tree01c31ba537a11f2bd521e93335802c653424989e
parentd0ee6daffdcce96c63a156e9b9feb86a79a2c69b (diff)
downloadbcm5719-llvm-fe0c7ad852497889fcadd7a814d551aa9af5ccf5.tar.gz
bcm5719-llvm-fe0c7ad852497889fcadd7a814d551aa9af5ccf5.zip
revert 228308. The code has changed since the review
llvm-svn: 228309
-rw-r--r--llvm/tools/llvm-objdump/MachODump.cpp37
1 files changed, 26 insertions, 11 deletions
diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp
index 68528e2852e..1bb9bfce666 100644
--- a/llvm/tools/llvm-objdump/MachODump.cpp
+++ b/llvm/tools/llvm-objdump/MachODump.cpp
@@ -1519,20 +1519,35 @@ int SymbolizerGetOpInfo(void *DisInfo, uint64_t Pc, uint64_t Offset,
const char *name = SymName.data();
op_info->AddSymbol.Present = 1;
op_info->AddSymbol.Name = name;
- switch (r_type) {
- case MachO::ARM_RELOC_HALF:
- if ((r_length & 0x1) == 1) {
- op_info->Value = value << 16 | other_half;
- op_info->VariantKind = LLVMDisassembler_VariantKind_ARM_HI16;
- } else {
- op_info->Value = other_half << 16 | value;
- op_info->VariantKind = LLVMDisassembler_VariantKind_ARM_LO16;
+ if (value != 0) {
+ switch (r_type) {
+ case MachO::ARM_RELOC_HALF:
+ if ((r_length & 0x1) == 1) {
+ op_info->Value = value << 16 | other_half;
+ op_info->VariantKind = LLVMDisassembler_VariantKind_ARM_HI16;
+ } else {
+ op_info->Value = other_half << 16 | value;
+ op_info->VariantKind = LLVMDisassembler_VariantKind_ARM_LO16;
+ }
+ break;
+ default:
+ break;
}
- break;
- default:
+ } else {
+ switch (r_type) {
+ case MachO::ARM_RELOC_HALF:
+ if ((r_length & 0x1) == 1) {
+ op_info->Value = value << 16 | other_half;
+ op_info->VariantKind = LLVMDisassembler_VariantKind_ARM_HI16;
+ } else {
+ op_info->Value = other_half << 16 | value;
+ op_info->VariantKind = LLVMDisassembler_VariantKind_ARM_LO16;
+ }
+ break;
+ default:
break;
+ }
}
- }
return 1;
}
// If we have a branch that is not an external relocation entry then
OpenPOWER on IntegriCloud