Re: aarch64-tdep.c:379: internal-error: CORE_ADDR aarch64_analyze_prologue(gdbarch*, CORE_ADDR, CORE_ADDR, aarch64_prologue_cache*, {anonymous}::abstract_instruction_reader&): Assertion `inst.operands[0].qualifier == AARCH64_OPND_QLF_S_D' failed
Simon Marchi <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
On 2018-04-03 06:01, Dmitry Antipov wrote: > On 04/03/2018 04:35 AM, Simon Marchi wrote: > >> So it looks like the GDB code assumes that no-one would ever save the >> whole registers, because it is not necessary. GDB should not use >> gdb_assert and crash on bad input. I don't know what it should do >> instead in that specific case, that's the part that takes more time to >> think about :). > > I think that "ABI violation" is not always a synonym for "bad input" > :-), and we definitely don't want the debugger to crash on some > handwritten > inline assembler trick, for example. BTW, LLVM project debugger lldb > seems uses more relaxed approach and allows STP with FP quadword > operands in > function prologues, see > https://github.com/llvm-mirror/lldb/blob/master/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp. > > Dmitry I agree. Simon