From c7e976792002c6a2810f9bb6cc3ad210514eb650 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 20 May 2020 07:59:00 +0930 Subject: [PATCH] Use bfd_get_filename throughout gdb This patch makes gdb use the inline accessor for all bfd->filename read accesses. * coff-pe-read.c (read_pe_exported_syms): Use bfd_get_filename rather than accessing bfd->filename directly. * dtrace-probe.c (dtrace_static_probe_ops::get_probes): Likewise, and use bfd_section_name. * dwarf2/frame.c (decode_frame_entry): Likewise. * exec.c (exec_set_section_address): Likewise. * solib-aix.c (solib_aix_bfd_open): Likewise. * stap-probe.c (get_stap_base_address): Likewise. * symfile.c (reread_symbols): Likewise. --- gdb/ChangeLog | 12 ++++++++++++ gdb/coff-pe-read.c | 2 +- gdb/dtrace-probe.c | 2 +- gdb/dwarf2/frame.c | 12 ++++++------ gdb/exec.c | 3 ++- gdb/solib-aix.c | 2 +- gdb/stap-probe.c | 2 +- gdb/symfile.c | 2 +- 8 files changed, 25 insertions(+), 12 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 93113be330..9799e1ed4a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +2020-05-20 Alan Modra + + * coff-pe-read.c (read_pe_exported_syms): Use bfd_get_filename + rather than accessing bfd->filename directly. + * dtrace-probe.c (dtrace_static_probe_ops::get_probes): Likewise, + and use bfd_section_name. + * dwarf2/frame.c (decode_frame_entry): Likewise. + * exec.c (exec_set_section_address): Likewise. + * solib-aix.c (solib_aix_bfd_open): Likewise. + * stap-probe.c (get_stap_base_address): Likewise. + * symfile.c (reread_symbols): Likewise. + 2020-05-19 Tom Tromey * sparc64-tdep.c (adi_tag_fd): Update call to target_fileio_open. diff --git a/gdb/coff-pe-read.c b/gdb/coff-pe-read.c index 3ecfb3d061..9253cb115f 100644 --- a/gdb/coff-pe-read.c +++ b/gdb/coff-pe-read.c @@ -342,7 +342,7 @@ read_pe_exported_syms (minimal_symbol_reader &reader, unsigned long exp_funcbase; unsigned char *expdata, *erva; unsigned long name_rvas, ordinals, nexp, ordbase; - char *dll_name = (char *) dll->filename; + char *dll_name = (char *) bfd_get_filename (dll); int otherix = PE_SECTION_TABLE_SIZE; int is_pe64 = 0; int is_pe32 = 0; diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c index c452ac9b47..ce96037be2 100644 --- a/gdb/dtrace-probe.c +++ b/gdb/dtrace-probe.c @@ -860,7 +860,7 @@ dtrace_static_probe_ops::get_probes else complaint (_("could not obtain the contents of" "section '%s' in objfile `%s'."), - sect->name, abfd->filename); + bfd_section_name (sect), bfd_get_filename (abfd)); xfree (dof); } diff --git a/gdb/dwarf2/frame.c b/gdb/dwarf2/frame.c index f7276d48ce..a05f841817 100644 --- a/gdb/dwarf2/frame.c +++ b/gdb/dwarf2/frame.c @@ -2101,21 +2101,21 @@ decode_frame_entry (struct gdbarch *gdbarch, case ALIGN4: complaint (_("\ Corrupt data in %s:%s; align 4 workaround apparently succeeded"), - unit->dwarf_frame_section->owner->filename, - unit->dwarf_frame_section->name); + bfd_get_filename (unit->dwarf_frame_section->owner), + bfd_section_name (unit->dwarf_frame_section)); break; case ALIGN8: complaint (_("\ Corrupt data in %s:%s; align 8 workaround apparently succeeded"), - unit->dwarf_frame_section->owner->filename, - unit->dwarf_frame_section->name); + bfd_get_filename (unit->dwarf_frame_section->owner), + bfd_section_name (unit->dwarf_frame_section)); break; default: complaint (_("Corrupt data in %s:%s"), - unit->dwarf_frame_section->owner->filename, - unit->dwarf_frame_section->name); + bfd_get_filename (unit->dwarf_frame_section->owner), + bfd_section_name (unit->dwarf_frame_section)); break; } diff --git a/gdb/exec.c b/gdb/exec.c index 932270a000..93dd157e58 100644 --- a/gdb/exec.c +++ b/gdb/exec.c @@ -1173,7 +1173,8 @@ exec_set_section_address (const char *filename, int index, CORE_ADDR address) table = current_target_sections; for (p = table->sections; p < table->sections_end; p++) { - if (filename_cmp (filename, p->the_bfd_section->owner->filename) == 0 + if (filename_cmp (filename, + bfd_get_filename (p->the_bfd_section->owner)) == 0 && index == p->the_bfd_section->index) { p->endaddr += address - p->addr; diff --git a/gdb/solib-aix.c b/gdb/solib-aix.c index 125c8960c2..5da1214a25 100644 --- a/gdb/solib-aix.c +++ b/gdb/solib-aix.c @@ -611,7 +611,7 @@ solib_aix_bfd_open (const char *pathname) (gdb_bfd_openr_next_archived_file (archive_bfd.get (), NULL)); while (object_bfd != NULL) { - if (member_name == object_bfd->filename) + if (member_name == bfd_get_filename (object_bfd.get ())) break; object_bfd = gdb_bfd_openr_next_archived_file (archive_bfd.get (), diff --git a/gdb/stap-probe.c b/gdb/stap-probe.c index 4b1a75f816..73596446cc 100644 --- a/gdb/stap-probe.c +++ b/gdb/stap-probe.c @@ -1606,7 +1606,7 @@ get_stap_base_address (bfd *obfd, bfd_vma *base) { complaint (_("could not obtain base address for " "SystemTap section on objfile `%s'."), - obfd->filename); + bfd_get_filename (obfd)); return 0; } diff --git a/gdb/symfile.c b/gdb/symfile.c index 01e0726e1e..dd8192a67f 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -2450,7 +2450,7 @@ reread_symbols (void) a `shared library' on AIX is also an archive), then you should stat on the archive name, not member name. */ if (objfile->obfd->my_archive) - res = stat (objfile->obfd->my_archive->filename, &new_statbuf); + res = stat (bfd_get_filename (objfile->obfd->my_archive), &new_statbuf); else res = stat (objfile_name (objfile), &new_statbuf); if (res != 0) -- 2.34.1