From: Tom de Vries Date: Mon, 13 Sep 2021 18:16:36 +0000 (+0200) Subject: [gdb/tdep] Reset force_thumb in parse_arm_disassembler_options X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cad152f2211282b938f11b021f2acf3df517557e;p=binutils-gdb.git [gdb/tdep] Reset force_thumb in parse_arm_disassembler_options With a gdb build with --enable-targets=all, we have 2 arch-specific failures in selftest print_one_insn: ... $ gdb -q -batch a.out -ex "maint selftest print_one_insn" 2>&1 \ | grep "Self test failed: arch " Self test failed: arch armv8.1-m.main: self-test failed at \ disasm-selftests.c:165 Self test failed: arch arm_any: self-test failed at disasm-selftests.c:165 $ ... During the first failed test, force_thumb is set to true, and remains so until and during the second test, which causes the second failure. Fix this by resetting force_thumb to false in parse_arm_disassembler_options, such that we get just one failure: ... $ gdb -q -batch a.out -ex "maint selftest print_one_insn" 2>&1 \ | grep "Self test failed: arch " Self test failed: arch armv8.1-m.main: self-test failed at \ disasm-selftests.c:165 $ ... Tested on x86_64-linux. --- diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index faabd42b5b3..78efb815147 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -11613,6 +11613,7 @@ parse_arm_disassembler_options (const char *options) { const char *opt; + force_thumb = false; FOR_EACH_DISASSEMBLER_OPTION (opt, options) { if (startswith (opt, "reg-names-"))