From 953cff563058831ab0bf863c7655d23b5e6a5989 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 15 Oct 2019 10:57:40 -0600 Subject: Change gcc_target_options to return std::string This patch was inspired by a recent review that recommended using std::string in a new implementation of the gcc_target_options gdbarch function. It changes this function to return std::string rather than an ordinary xmalloc'd string. I believe this caught a latent memory leak in compile.c:get_args. Tested on x86-64 Fedora 29. gdb/ChangeLog 2019-10-15 Tom Tromey * gdbarch.h, gdbarch.c: Rebuild. * gdbarch.sh (gcc_target_options): Change return type to std::string. * compile/compile.c (get_args): Update. * nios2-tdep.c (nios2_gcc_target_options): Return std::string. * arm-linux-tdep.c (arm_linux_gcc_target_options): Return std::string. * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): Return std::string. * arch-utils.c (default_gcc_target_options): Return std::string. * arch-utils.h (default_gcc_target_options): Return std::string. * s390-tdep.c (s390_gcc_target_options): Return std::string. Change-Id: I51f61703426a323089e646da8f22320a2cafbc1f --- gdb/arch-utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gdb/arch-utils.h') diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h index e5bbcd1..48ff3bb 100644 --- a/gdb/arch-utils.h +++ b/gdb/arch-utils.h @@ -247,7 +247,7 @@ extern void default_skip_permanent_breakpoint (struct regcache *regcache); extern CORE_ADDR default_infcall_mmap (CORE_ADDR size, unsigned prot); extern void default_infcall_munmap (CORE_ADDR addr, CORE_ADDR size); -extern char *default_gcc_target_options (struct gdbarch *gdbarch); +extern std::string default_gcc_target_options (struct gdbarch *gdbarch); extern const char *default_gnu_triplet_regexp (struct gdbarch *gdbarch); extern int default_addressable_memory_unit_size (struct gdbarch *gdbarch); -- cgit v1.1