From 2e9e421ffe805e5a582decffbb811c05ae6f8ccd Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Wed, 2 Feb 2011 18:03:35 +0000 Subject: [PATCH] * arm-tdep.c (arm_analyze_load_stack_chk_guard): Avoid build break due to accessing uninitialized variable. Fix indentation. --- gdb/ChangeLog | 5 +++++ gdb/arm-tdep.c | 41 +++++++++++++++++++++-------------------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b57bbdf1cf..a830b30535 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2011-02-02 Ulrich Weigand + + * arm-tdep.c (arm_analyze_load_stack_chk_guard): Avoid build break + due to accessing uninitialized variable. Fix indentation. + 2011-02-02 Pedro Alves * c-valprint.c (c_value_print): When doing virtual base pointer diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index e24a6d9c39..0b5f0790fe 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; -- 2.34.1