mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-27 10:23:55 +08:00
XCNEW gdbarch_tdep in rl78 and rx
"struct gdbarch_tdep" is XNEW'ed in rl78 and rx, so the memory is not cleared. As the result, tdep->rl78_psw_type is never initialized properly. struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); if (tdep->rl78_psw_type == NULL) { tdep->rl78_psw_type = arch_flags_type (gdbarch, "builtin_type_rl78_psw", 1); The bug is found by my unit test in the following patch. gdb: 2017-04-13 Yao Qi <yao.qi@linaro.org> * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW. * rx-tdep.c (rx_gdbarch_init): Likewise.
This commit is contained in:
parent
bfb8cf9091
commit
e6ddc3bfed
@ -1,3 +1,8 @@
|
||||
2017-04-13 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
* rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
|
||||
* rx-tdep.c (rx_gdbarch_init): Likewise.
|
||||
|
||||
2017-04-13 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* breakpoint.h (struct breakpoint): Reindent.
|
||||
|
@ -1412,7 +1412,7 @@ rl78_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
|
||||
/* None found, create a new architecture from the information
|
||||
provided. */
|
||||
tdep = XNEW (struct gdbarch_tdep);
|
||||
tdep = XCNEW (struct gdbarch_tdep);
|
||||
gdbarch = gdbarch_alloc (&info, tdep);
|
||||
tdep->elf_flags = elf_flags;
|
||||
|
||||
|
@ -1101,7 +1101,7 @@ rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
|
||||
/* None found, create a new architecture from the information
|
||||
provided. */
|
||||
tdep = XNEW (struct gdbarch_tdep);
|
||||
tdep = XCNEW (struct gdbarch_tdep);
|
||||
gdbarch = gdbarch_alloc (&info, tdep);
|
||||
tdep->elf_flags = elf_flags;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user