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/compile/compile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gdb/compile/compile.c') diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c index 5c3400f..94942db 100644 --- a/gdb/compile/compile.c +++ b/gdb/compile/compile.c @@ -635,7 +635,7 @@ get_args (const compile_instance *compiler, struct gdbarch *gdbarch, int argc_compiler; char **argv_compiler; - build_argc_argv (gdbarch_gcc_target_options (gdbarch), + build_argc_argv (gdbarch_gcc_target_options (gdbarch).c_str (), argcp, argvp); cs_producer_options = get_selected_pc_producer_options (); -- cgit v1.1