diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2011-02-02 18:03:23 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2011-02-02 18:03:23 +0000 |
commit | cb436fe3c74cb457292b2b3708eea8e3b0662819 (patch) | |
tree | bc8119e6ef6fb8e83e9b5f61f7f2bb431b88f05c /gdb/arm-tdep.c | |
parent | abece3004d9eee7f8169c8754e1ff6572509780f (diff) | |
download | gdb-cb436fe3c74cb457292b2b3708eea8e3b0662819.tar.gz |
* arm-tdep.c (arm_analyze_load_stack_chk_guard): Avoid build break
due to accessing uninitialized variable. Fix indentation.
Diffstat (limited to 'gdb/arm-tdep.c')
-rw-r--r-- | gdb/arm-tdep.c | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index e24a6d9c398..0b5f0790fe3 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -1198,29 +1198,30 @@ arm_analyze_load_stack_chk_guard(CORE_ADDR pc, struct gdbarch *gdbarch, } else { - unsigned int insn - = read_memory_unsigned_integer (pc, 4, byte_order_for_code); - - if ((insn & 0x0e5f0000) == 0x041f0000) /* ldr Rd, #immed */ - { - address = bits (insn, 0, 11); - *destreg = bits (insn, 12, 15); - *offset = 4; - } - else if ((insn & 0x0ff00000) == 0x03000000) /* movw Rd, #const */ - { - low = EXTRACT_MOVW_MOVT_IMM_A (insn); + unsigned int insn + = read_memory_unsigned_integer (pc, 4, byte_order_for_code); - insn - = read_memory_unsigned_integer (pc + 4, 4, byte_order_for_code); + if ((insn & 0x0e5f0000) == 0x041f0000) /* ldr Rd, #immed */ + { + address = bits (insn, 0, 11); + *destreg = bits (insn, 12, 15); + *offset = 4; + } + else if ((insn & 0x0ff00000) == 0x03000000) /* movw Rd, #const */ + { + low = EXTRACT_MOVW_MOVT_IMM_A (insn); - if ((insn & 0x0ff00000) == 0x03400000) /* movt Rd, #const */ - high = EXTRACT_MOVW_MOVT_IMM_A (insn); + insn + = read_memory_unsigned_integer (pc + 4, 4, byte_order_for_code); - address = (high << 16 | low); - *destreg = bits (insn, 12, 15); - *offset = 8; - } + if ((insn & 0x0ff00000) == 0x03400000) /* movt Rd, #const */ + { + high = EXTRACT_MOVW_MOVT_IMM_A (insn); + *destreg = bits (insn, 12, 15); + *offset = 8; + address = (high << 16 | low); + } + } } return address; |