From: Simon Marchi Date: Sun, 21 Nov 2021 03:24:54 +0000 (-0500) Subject: gdb: remove SYMTAB_DIRNAME macro X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3574a7b3f1251bfc7d1dd429ae33da07897f5b4b;p=binutils-gdb.git gdb: remove SYMTAB_DIRNAME macro Remove the macro, replace with an equivalent method. Change-Id: I46ec36b91bb734331138eb9cd086b2db01635aed --- diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index 9120bbf1d84..15156792c50 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -2046,8 +2046,8 @@ ambiguous_line_spec (gdb::array_view sals, static int cmp_symtabs (const symtab_and_line &sala, const symtab_and_line &salb) { - const char *dira = SYMTAB_DIRNAME (sala.symtab); - const char *dirb = SYMTAB_DIRNAME (salb.symtab); + const char *dira = sala.symtab->dirname (); + const char *dirb = salb.symtab->dirname (); int r; if (dira == NULL) diff --git a/gdb/source.c b/gdb/source.c index 1339c4a727f..53854c02eac 100644 --- a/gdb/source.c +++ b/gdb/source.c @@ -713,8 +713,8 @@ info_source_command (const char *ignore, int from_tty) cust = s->compunit (); printf_filtered (_("Current source file is %s\n"), s->filename); - if (SYMTAB_DIRNAME (s) != NULL) - printf_filtered (_("Compilation directory is %s\n"), SYMTAB_DIRNAME (s)); + if (s->dirname () != NULL) + printf_filtered (_("Compilation directory is %s\n"), s->dirname ()); if (s->fullname) printf_filtered (_("Located in %s\n"), s->fullname); const std::vector *offsets; @@ -1180,7 +1180,7 @@ open_source_file (struct symtab *s) gdb::unique_xmalloc_ptr fullname (s->fullname); s->fullname = NULL; - scoped_fd fd = find_and_open_source (s->filename, SYMTAB_DIRNAME (s), + scoped_fd fd = find_and_open_source (s->filename, s->dirname (), &fullname); if (fd.get () < 0) @@ -1192,9 +1192,9 @@ open_source_file (struct symtab *s) std::string srcpath; if (IS_ABSOLUTE_PATH (s->filename)) srcpath = s->filename; - else if (SYMTAB_DIRNAME (s) != nullptr) + else if (s->dirname () != nullptr) { - srcpath = SYMTAB_DIRNAME (s); + srcpath = s->dirname (); srcpath += SLASH_STRING; srcpath += s->filename; } @@ -1268,10 +1268,10 @@ symtab_to_fullname (struct symtab *s) /* rewrite_source_path would be applied by find_and_open_source, we should report the pathname where GDB tried to find the file. */ - if (SYMTAB_DIRNAME (s) == NULL || IS_ABSOLUTE_PATH (s->filename)) + if (s->dirname () == NULL || IS_ABSOLUTE_PATH (s->filename)) fullname.reset (xstrdup (s->filename)); else - fullname.reset (concat (SYMTAB_DIRNAME (s), SLASH_STRING, + fullname.reset (concat (s->dirname (), SLASH_STRING, s->filename, (char *) NULL)); s->fullname = rewrite_source_path (fullname.get ()).release (); diff --git a/gdb/symmisc.c b/gdb/symmisc.c index 62b584041de..179b83e416f 100644 --- a/gdb/symmisc.c +++ b/gdb/symmisc.c @@ -249,9 +249,9 @@ dump_symtab_1 (struct symtab *symtab, struct ui_file *outfile) symtab_to_filename_for_display (symtab), host_address_to_string (symtab)); - if (SYMTAB_DIRNAME (symtab) != NULL) + if (symtab->dirname () != NULL) fprintf_filtered (outfile, "Compilation directory is %s\n", - SYMTAB_DIRNAME (symtab)); + symtab->dirname ()); fprintf_filtered (outfile, "Read from object file %s (%s)\n", objfile_name (objfile), host_address_to_string (objfile)); diff --git a/gdb/symtab.h b/gdb/symtab.h index 5ef4bdaa110..88dab003c5c 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -1409,6 +1409,8 @@ struct symtab program_space *pspace () const; + const char *dirname () const; + /* Unordered chain of all filetabs in the compunit, with the exception that the "main" source file is the first entry in the list. */ @@ -1441,8 +1443,6 @@ struct symtab using symtab_range = next_range; -#define SYMTAB_DIRNAME(symtab) ((symtab)->compunit ()->dirname ()) - /* Compunit symtabs contain the actual "symbol table", aka blockvector, as well as the list of all source files (what gdb has historically associated with the term "symtab"). @@ -1696,6 +1696,12 @@ symtab::objfile () const return this->compunit ()->objfile (); } +inline const char * +symtab::dirname () const +{ + return this->compunit ()->dirname (); +} + /* Return the language of CUST. */ extern enum language compunit_language (const struct compunit_symtab *cust);