From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cagney To: Jim Blandy Cc: gdb-patches@sources.redhat.com Subject: Re: RFA: relax restrictions on per-architecture data registration Date: Wed, 06 Jun 2001 04:59:00 -0000 Message-id: <3B1E1B37.10209@cygnus.com> References: <20010601233233.C19845E9CB@zwingli.cygnus.com> X-SW-Source: 2001-06/msg00051.html > This is supposed to fix G++ V3 on non-multiarch targets. Not sure > this is right yet, just posting for the curious. > > 2001-06-01 Jim Blandy > > Expand the gdbarch per-architecture data vector as needed, rather > than requiring that all per-architecture data be registered before > the first gdbarch object is allocated. > * gdbarch.sh: Changes to effect the following: > * gdbarch.c (alloc_gdbarch_data, init_gdbarch_data): Delete > declarations and definitions. > (check_gdbarch_data): New function, and declaration. > (gdbarch_alloc): Don't call alloc_gdbarch_data; leaving the fields > zero is good enough. > (free_gdbarch_data): Tolerate a null data pointer. Free only > those data items gdbarch->data actually has allocated. > (set_gdbarch_data, gdbarch_data): Call check_gdbarch_data. > (gdbarch_update_p): No need to call init_gdbarch_data. > > Jim, I think this is wrong. GDB's startup sequence is currently something like: o _initialize_*() registers any per-architecture data o GDB creates the initial architecture So that data buffer size would never change. Andrew PS: xmalloc(size) == zrealloc (NULL, size)