From: Simon Marchi Date: Fri, 2 Apr 2021 15:39:55 +0000 (-0400) Subject: gdb: use std::string in partial_symtab::partial_symtab / allocate_symtab X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=9984dd9994c3d71fd28f41c50cdece48d6be13a6;p=deliverable%2Fbinutils-gdb.git 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 --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ac64f5c760..6d61a2cc7c 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 b51881d3bd..26ea35ea40 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 b71eb1915d..6734511485 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",