mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 11:39:26 +08:00
Remove assert on exec_bfd in cris_delayed_get_disassembler
cris_delayed_get_disassembler has an assert that exec_bfd can't be NULL, but this assert can be triggered like this, (gdb) set architecture cris The target architecture is assumed to be cris (gdb) disassemble 0x0,+4 Dump of assembler code from 0x0 to 0x4: 0x00000000: ../../binutils-gdb/gdb/cris-tdep.c:3798: internal-error: int cris_delayed_get_disassembler(bfd_vma, disassemble_info*): Assertion `exec_bfd != NULL' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. however, cris_get_disassembler does have code to handle the case that bfd is NULL, /* If there's no bfd in sight, we return what is valid as input in all contexts if fed back to the assembler: disassembly *with* register prefix. Unfortunately this will be totally wrong for v32. */ if (abfd == NULL) return print_insn_cris_with_register_prefix; This patch is to remove this assert. gdb: 2016-12-12 Yao Qi <yao.qi@linaro.org> PR tdep/20955 * cris-tdep.c (cris_delayed_get_disassembler): Remove the assert.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2016-12-12 Yao Qi <yao.qi@linaro.org>
|
||||||
|
|
||||||
|
PR tdep/20955
|
||||||
|
* cris-tdep.c (cris_delayed_get_disassembler): Remove the
|
||||||
|
assert.
|
||||||
|
|
||||||
2016-12-09 Pedro Alves <palves@redhat.com>
|
2016-12-09 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
* Makefile.in (ALL_TARGET_OBS): Remove vax-obsd-tdep.o.
|
* Makefile.in (ALL_TARGET_OBS): Remove vax-obsd-tdep.o.
|
||||||
|
@ -3792,10 +3792,7 @@ static int
|
|||||||
cris_delayed_get_disassembler (bfd_vma addr, struct disassemble_info *info)
|
cris_delayed_get_disassembler (bfd_vma addr, struct disassemble_info *info)
|
||||||
{
|
{
|
||||||
int (*print_insn) (bfd_vma addr, struct disassemble_info *info);
|
int (*print_insn) (bfd_vma addr, struct disassemble_info *info);
|
||||||
/* FIXME: cagney/2003-08-27: It should be possible to select a CRIS
|
|
||||||
disassembler, even when there is no BFD. Does something like
|
|
||||||
"gdb; target remote; disassmeble *0x123" work? */
|
|
||||||
gdb_assert (exec_bfd != NULL);
|
|
||||||
print_insn = cris_get_disassembler (exec_bfd);
|
print_insn = cris_get_disassembler (exec_bfd);
|
||||||
gdb_assert (print_insn != NULL);
|
gdb_assert (print_insn != NULL);
|
||||||
return print_insn (addr, info);
|
return print_insn (addr, info);
|
||||||
|
Reference in New Issue
Block a user