This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 2/2] Use gdbarch obstack to allocate the TYPE_NAME string in arch_type
- From: Doug Evans <xdje42 at gmail dot com>
- To: Patrick Palka <patrick at parcs dot ath dot cx>
- Cc: gdb-patches at sourceware dot org
- Date: Sat, 29 Aug 2015 11:19:37 -0700
- Subject: Re: [PATCH 2/2] Use gdbarch obstack to allocate the TYPE_NAME string in arch_type
- Authentication-results: sourceware.org; auth=none
- References: <1435631281-31970-1-git-send-email-patrick at parcs dot ath dot cx> <1435631281-31970-2-git-send-email-patrick at parcs dot ath dot cx>
Patrick Palka <patrick@parcs.ath.cx> writes:
> Since the type whose name is being set is now being allocated on the
> gdbarch obstack, we should allocate its TYPE_NAME on the obstack too.
> This reduces the number of individual valgrind warnings for the command
> "gdb gdb" from ~300 to ~150.
>
> Tested on x86_64-unknown-linux-gnu.
>
> [ I have a few more patches on top of these that together bring the total
> number of valgrind warnings for the command "gdb gdb" down to ~30
> but they are more controversial than these two, and if these aren't OK
> then the rest definitely aren't OK. ]
>
> gdb/ChangeLog:
>
> * gdbarch.h (gdbarch_obstack_strdup): Declare.
> * gdbarch.c (gdbarch_obstack_strdup): Define.
> * gdbtypes.c (arch_type): Use it.
Hi.
A couple of comments.
1) gdbarch.[ch] are machine generated.
IIUC, you have to edit gdbarch.sh and then run it to regenerate gdbarch.[ch].
2) I would have done this slightly differently.
If the obstack API doesn't provide a strdup functionality,
I wouldn't insist on trying to add it there. But I would like
to see it added to gdb in an application-independent way.
(make it non-gdbarch specific). obstack_strdup sounds sufficiently
useful and generic enough. If one wants to add a
gdbarch_obstack_strdup wrapper on top of that, fine by me.
IOW, add obstack_strdup to gdb_obstack.[ch].