From cad152f2211282b938f11b021f2acf3df517557e Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 13 Sep 2021 20:16:36 +0200 Subject: [PATCH] [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. --- opcodes/arm-dis.c | 1 + 1 file changed, 1 insertion(+) 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-")) -- 2.30.2