This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SPARC GDB Failure


On Mon, Sep 7, 2009 at 9:45 AM, Jan Kratochvil<jan.kratochvil@redhat.com> wrote:
> On Mon, 07 Sep 2009 16:18:05 +0200, Joel Sherrill wrote:
>> But sparc/sis core dumps in gdb instantly.
>
> It looks as the ia64 crash:
> ? ? ? ?http://sourceware.org/ml/gdb-patches/2009-08/msg00221.html
>
> I grepped it before but not well enough, now used:
> ? ? ? ?$ grep -il 'malloc.*tdep' *.c|xargs grep -il '! *tdep'
> ? ? ? ?m68k-tdep.c
> ? ? ? ?sparc-tdep.c
>
> I think the patch should go in nonetheless and I even hope it fixes it.
>
> No testing was made.
>
>
> Thanks,
> Jan
>
>
> gdb/
> 2009-09-07 ?Jan Kratochvil ?<jan.kratochvil@redhat.com>
>
> ? ? ? ?Fix start crash on unitialized memory on m68k and sparc.
> ? ? ? ?* m68k-tdep.c (m68k_gdbarch_init): Allocate TDEP as cleared.
> ? ? ? ?* sparc-tdep.c (sparc32_gdbarch_init): Allocate TDEP as cleared.
> ? ? ? ?Remove explicit clearing of TDEP fields.
>
> --- a/gdb/m68k-tdep.c
> +++ b/gdb/m68k-tdep.c
> @@ -1160,7 +1160,7 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
> ? ? ? break;
> ? ? }
>
> - ?tdep = xmalloc (sizeof (struct gdbarch_tdep));
> + ?tdep = xzalloc (sizeof (struct gdbarch_tdep));
> ? gdbarch = gdbarch_alloc (&info, tdep);
> ? tdep->fpregs_present = has_fp;
> ? tdep->flavour = flavour;
> --- a/gdb/sparc-tdep.c
> +++ b/gdb/sparc-tdep.c
> @@ -1377,16 +1377,11 @@ sparc32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
> ? ? return arches->gdbarch;
>
> ? /* Allocate space for the new architecture. ?*/
> - ?tdep = XMALLOC (struct gdbarch_tdep);
> + ?tdep = XZALLOC (struct gdbarch_tdep);
> ? gdbarch = gdbarch_alloc (&info, tdep);
>
> ? tdep->pc_regnum = SPARC32_PC_REGNUM;
> ? tdep->npc_regnum = SPARC32_NPC_REGNUM;
> - ?tdep->gregset = NULL;
> - ?tdep->sizeof_gregset = 0;
> - ?tdep->fpregset = NULL;
> - ?tdep->sizeof_fpregset = 0;
> - ?tdep->plt_entry_size = 0;
> ? tdep->step_trap = sparc_step_trap;
>
> ? set_gdbarch_long_double_bit (gdbarch, 128);
>

It seems like all alloc's of gdbarch_tdep should be zalloc'd.
[But I wouldn't make that a requirement of this patch.]

The patch is fine with me.
I think, though, the changelog shouldn't claim it fixes something
unless that's been verified.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]