From 9984dd9994c3d71fd28f41c50cdece48d6be13a6 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Fri, 2 Apr 2021 11:39:55 -0400 Subject: [PATCH] gdb: use std::string in partial_symtab::partial_symtab / allocate_symtab This simplifies the code a bit. gdb/ChangeLog: * psymtab.c (partial_symtab::partial_symtab): Change last_objfile_name to be an std::string. * symfile.c (allocate_symtab): Likewise. Change-Id: I3dfe217233ed9346c2abc04a9b1be0df69a90af8 --- gdb/ChangeLog | 6 ++++++ gdb/psymtab.c | 11 +++++------ gdb/symfile.c | 11 +++++------ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ac64f5c7609..6d61a2cc7c1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2021-04-02 Simon Marchi + + * psymtab.c (partial_symtab::partial_symtab): Change + last_objfile_name to be an std::string. + * symfile.c (allocate_symtab): Likewise. + 2021-04-02 Simon Marchi * objfiles.h (struct objfile_per_bfd_storage) : New diff --git a/gdb/psymtab.c b/gdb/psymtab.c index b51881d3bd6..26ea35ea40c 100644 --- a/gdb/psymtab.c +++ b/gdb/psymtab.c @@ -1574,16 +1574,15 @@ partial_symtab::partial_symtab (const char *filename_, { /* Be a bit clever with debugging messages, and don't print objfile every time, only when it changes. */ - static char *last_objfile_name = NULL; + static std::string last_objfile_name; + const char *this_objfile_name = objfile_name (objfile); - if (last_objfile_name == NULL - || strcmp (last_objfile_name, objfile_name (objfile)) != 0) + if (last_objfile_name.empty () || last_objfile_name != this_objfile_name) { - xfree (last_objfile_name); - last_objfile_name = xstrdup (objfile_name (objfile)); + last_objfile_name = this_objfile_name; fprintf_filtered (gdb_stdlog, "Creating one or more psymtabs for objfile %s ...\n", - last_objfile_name); + this_objfile_name); } fprintf_filtered (gdb_stdlog, "Created psymtab %s for module %s.\n", diff --git a/gdb/symfile.c b/gdb/symfile.c index b71eb1915d2..67345114852 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -2770,16 +2770,15 @@ allocate_symtab (struct compunit_symtab *cust, const char *filename) { /* Be a bit clever with debugging messages, and don't print objfile every time, only when it changes. */ - static char *last_objfile_name = NULL; + static std::string last_objfile_name; + const char *this_objfile_name = objfile_name (objfile); - if (last_objfile_name == NULL - || strcmp (last_objfile_name, objfile_name (objfile)) != 0) + if (last_objfile_name.empty () || last_objfile_name != this_objfile_name) { - xfree (last_objfile_name); - last_objfile_name = xstrdup (objfile_name (objfile)); + last_objfile_name = this_objfile_name; fprintf_filtered (gdb_stdlog, "Creating one or more symtabs for objfile %s ...\n", - last_objfile_name); + this_objfile_name); } fprintf_filtered (gdb_stdlog, "Created symtab %s for module %s.\n", -- 2.30.2