diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2021-11-19 22:15:30 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2022-02-06 15:48:18 -0500 |
commit | 0d9acb4531cfe336b2b335fbaa1f2ef878a6e4d9 (patch) | |
tree | 1e26fd55ddf025d4587b6f89178a07c3baff0e83 /gdb | |
parent | ab5f850eed6aba84050d075e8c8a2cb16a876b15 (diff) | |
download | gdb-0d9acb4531cfe336b2b335fbaa1f2ef878a6e4d9.zip gdb-0d9acb4531cfe336b2b335fbaa1f2ef878a6e4d9.tar.gz gdb-0d9acb4531cfe336b2b335fbaa1f2ef878a6e4d9.tar.bz2 |
gdb: remove COMPUNIT_DIRNAME macro, add getter/setter
Add a getter and a setter for a compunit_symtab's dirname. Remove the
corresponding macro and adjust all callers.
Change-Id: If2f39b295fd26822586485e04a8b8b5aa5cc9b2e
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/buildsym-legacy.c | 2 | ||||
-rw-r--r-- | gdb/buildsym.c | 4 | ||||
-rw-r--r-- | gdb/dwarf2/read.c | 4 | ||||
-rw-r--r-- | gdb/jit.c | 2 | ||||
-rw-r--r-- | gdb/macrotab.c | 2 | ||||
-rw-r--r-- | gdb/symmisc.c | 5 | ||||
-rw-r--r-- | gdb/symtab.h | 16 |
7 files changed, 21 insertions, 14 deletions
diff --git a/gdb/buildsym-legacy.c b/gdb/buildsym-legacy.c index aa7b8b5..7659f53 100644 --- a/gdb/buildsym-legacy.c +++ b/gdb/buildsym-legacy.c @@ -303,7 +303,7 @@ restart_symtab (struct compunit_symtab *cust, buildsym_compunit = new struct buildsym_compunit (cust->objfile (), name, - COMPUNIT_DIRNAME (cust), + cust->dirname (), compunit_language (cust), start_addr, cust); diff --git a/gdb/buildsym.c b/gdb/buildsym.c index 2272727..b96d154 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -1005,8 +1005,8 @@ buildsym_compunit::end_symtab_with_blockvector (struct block *static_block, { /* Reallocate the dirname on the symbol obstack. */ const char *comp_dir = m_comp_dir.get (); - COMPUNIT_DIRNAME (cu) = obstack_strdup (&m_objfile->objfile_obstack, - comp_dir); + cu->set_dirname (obstack_strdup (&m_objfile->objfile_obstack, + comp_dir)); } /* Save the debug format string (if any) in the symtab. */ diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 7e62d11..cd3e6af 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -10723,7 +10723,7 @@ dwarf2_cu::setup_type_unit_groups (struct die_info *die) struct compunit_symtab *cust = tug_unshare->compunit_symtab; m_builder.reset (new struct buildsym_compunit (cust->objfile (), "", - COMPUNIT_DIRNAME (cust), + cust->dirname (), compunit_language (cust), 0, cust)); list_in_scope = get_builder ()->get_file_symbols (); @@ -10775,7 +10775,7 @@ dwarf2_cu::setup_type_unit_groups (struct die_info *die) struct compunit_symtab *cust = tug_unshare->compunit_symtab; m_builder.reset (new struct buildsym_compunit (cust->objfile (), "", - COMPUNIT_DIRNAME (cust), + cust->dirname (), compunit_language (cust), 0, cust)); list_in_scope = get_builder ()->get_file_symbols (); @@ -513,7 +513,7 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile) add_compunit_symtab_to_objfile (cust); /* JIT compilers compile in memory. */ - COMPUNIT_DIRNAME (cust) = NULL; + cust->set_dirname (nullptr); /* Copy over the linetable entry if one was provided. */ if (stab->linetable) diff --git a/gdb/macrotab.c b/gdb/macrotab.c index 92d68e7..7ca3f31 100644 --- a/gdb/macrotab.c +++ b/gdb/macrotab.c @@ -1066,7 +1066,7 @@ macro_source_fullname (struct macro_source_file *file) const char *comp_dir = NULL; if (file->table->compunit_symtab != NULL) - comp_dir = COMPUNIT_DIRNAME (file->table->compunit_symtab); + comp_dir = file->table->compunit_symtab->dirname (); if (comp_dir == NULL || IS_ABSOLUTE_PATH (file->filename)) return file->filename; diff --git a/gdb/symmisc.c b/gdb/symmisc.c index b946fc8..9c882a4 100644 --- a/gdb/symmisc.c +++ b/gdb/symmisc.c @@ -782,9 +782,8 @@ maintenance_info_symtabs (const char *regexp, int from_tty) (cust->producer () != nullptr ? cust->producer () : "(null)")); printf_filtered (" dirname %s\n", - COMPUNIT_DIRNAME (cust) != NULL - ? COMPUNIT_DIRNAME (cust) - : "(null)"); + (cust->dirname () != NULL + ? cust->dirname () : "(null)")); printf_filtered (" blockvector" " ((struct blockvector *) %s)\n", host_address_to_string diff --git a/gdb/symtab.h b/gdb/symtab.h index 1e3f95d..b72abab 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -1413,8 +1413,7 @@ using symtab_range = next_range<symtab>; #define SYMTAB_OBJFILE(symtab) \ (SYMTAB_COMPUNIT (symtab)->objfile ()) #define SYMTAB_PSPACE(symtab) (SYMTAB_OBJFILE (symtab)->pspace) -#define SYMTAB_DIRNAME(symtab) \ - COMPUNIT_DIRNAME (SYMTAB_COMPUNIT (symtab)) +#define SYMTAB_DIRNAME(symtab) (SYMTAB_COMPUNIT (symtab)->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 @@ -1502,6 +1501,16 @@ struct compunit_symtab m_producer = producer; } + const char *dirname () const + { + return m_dirname; + } + + void set_dirname (const char *dirname) + { + m_dirname = dirname; + } + /* Make PRIMARY_FILETAB the primary filetab of this compunit symtab. PRIMARY_FILETAB must already be a filetab of this compunit symtab. */ @@ -1551,7 +1560,7 @@ struct compunit_symtab const char *m_producer; /* Directory in which it was compiled, or NULL if we don't know. */ - const char *dirname; + const char *m_dirname; /* List of all symbol scope blocks for this symtab. It is shared among all symtabs in a given compilation unit. */ @@ -1597,7 +1606,6 @@ struct compunit_symtab using compunit_symtab_range = next_range<compunit_symtab>; -#define COMPUNIT_DIRNAME(cust) ((cust)->dirname) #define COMPUNIT_BLOCKVECTOR(cust) ((cust)->blockvector) #define COMPUNIT_BLOCK_LINE_SECTION(cust) ((cust)->block_line_section) #define COMPUNIT_LOCATIONS_VALID(cust) ((cust)->locations_valid) |