diff options
author | Alan Modra <amodra@gmail.com> | 2020-05-19 12:57:15 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-05-19 12:57:15 +0930 |
commit | 607b483327fdfc75fb193870b3c4e7445ce3f64d (patch) | |
tree | 184200d9b5f0b36628520554c4d28476137fe650 /ld/pe-dll.c | |
parent | 69f57659c37106c4407a801d89eed4b3e2243074 (diff) | |
download | gdb-607b483327fdfc75fb193870b3c4e7445ce3f64d.zip gdb-607b483327fdfc75fb193870b3c4e7445ce3f64d.tar.gz gdb-607b483327fdfc75fb193870b3c4e7445ce3f64d.tar.bz2 |
Use bfd_get_filename throughout ld
* emultempl/beos.em (sort_by_file_name): Use bfd_get_filename
rather than accessing bfd->filename directly.
* emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise.
* emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise.
* emultempl/spuelf.em (embedded_spu_file): Likewise.
* ldlang.c (input_statement_is_archive_path, wild_sort),
(check_excluded_libs): Likewise.
* ldmain.c (add_archive_element): Likewise.
* ldmisc.c (vfinfo): Likewise.
* pe-dll.c (auto_export, generate_edata, pe_create_import_fixup),
(pe_dll_generate_implib, pe_process_import_defs): Likewise.
* plugin.c (plugin_object_p): Likewise.
Diffstat (limited to 'ld/pe-dll.c')
-rw-r--r-- | ld/pe-dll.c | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 0ed21fa..6050429 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -560,7 +560,7 @@ auto_export (bfd *abfd, def_file *d, const char *n) const char * libname = NULL; if (abfd && abfd->my_archive) - libname = lbasename (abfd->my_archive->filename); + libname = lbasename (bfd_get_filename (abfd->my_archive)); key.name = key.its_name = (char *) n; @@ -594,7 +594,7 @@ auto_export (bfd *abfd, def_file *d, const char *n) /* Next, exclude symbols from certain startup objects. */ - if (abfd && (p = lbasename (abfd->filename))) + if (abfd && (p = lbasename (bfd_get_filename (abfd)))) { afptr = autofilter_objlist; while (afptr->name) @@ -655,7 +655,7 @@ auto_export (bfd *abfd, def_file *d, const char *n) } else if (ex->type == EXCLUDEFORIMPLIB) { - if (filename_cmp (abfd->filename, ex->string) == 0) + if (filename_cmp (bfd_get_filename (abfd), ex->string) == 0) return 0; } else if (strcmp (n, ex->string) == 0) @@ -1079,7 +1079,7 @@ generate_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED) dll_name = pe_def_file->name; else { - dll_name = abfd->filename; + dll_name = bfd_get_filename (abfd); for (dlnp = dll_name; *dlnp; dlnp++) if (*dlnp == '\\' || *dlnp == '/' || *dlnp == ':') @@ -2767,7 +2767,7 @@ pe_create_import_fixup (arelent *rel, asection *s, bfd_vma addend, char *name, if (!(name_thunk_sym && name_thunk_sym->type == bfd_link_hash_defined)) { b = make_singleton_name_thunk (name, link_info.output_bfd); - add_bfd_to_link (b, b->filename, &link_info); + add_bfd_to_link (b, bfd_get_filename (b), &link_info); /* If we ever use autoimport, we have to cast text section writable. */ config.text_read_only = FALSE; @@ -2778,7 +2778,7 @@ pe_create_import_fixup (arelent *rel, asection *s, bfd_vma addend, char *name, { b = make_import_fixup_entry (name, fixup_name, symname, link_info.output_bfd); - add_bfd_to_link (b, b->filename, &link_info); + add_bfd_to_link (b, bfd_get_filename (b), &link_info); } } @@ -2794,12 +2794,12 @@ pe_create_import_fixup (arelent *rel, asection *s, bfd_vma addend, char *name, b = make_runtime_pseudo_reloc (name, fixup_name, addend, rel->howto->bitsize, link_info.output_bfd); - add_bfd_to_link (b, b->filename, &link_info); + add_bfd_to_link (b, bfd_get_filename (b), &link_info); if (runtime_pseudo_relocs_created++ == 0) { b = pe_create_runtime_relocator_reference (link_info.output_bfd); - add_bfd_to_link (b, b->filename, &link_info); + add_bfd_to_link (b, bfd_get_filename (b), &link_info); } } @@ -2855,7 +2855,7 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_ { if (ex->type != EXCLUDEFORIMPLIB) continue; - found = (filename_cmp (ex->string, ibfd->filename) == 0); + found = (filename_cmp (ex->string, bfd_get_filename (ibfd)) == 0); } /* If it matched, we must open a fresh BFD for it (the original input BFD is still needed for the DLL's final link) and add @@ -2863,10 +2863,11 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_ if (found) { bfd *newbfd = bfd_openr (ibfd->my_archive - ? ibfd->my_archive->filename : ibfd->filename, NULL); + ? bfd_get_filename (ibfd->my_archive) + : bfd_get_filename (ibfd), NULL); if (!newbfd) { - einfo (_("%X%P: bfd_openr %s: %E\n"), ibfd->filename); + einfo (_("%X%P: bfd_openr %s: %E\n"), bfd_get_filename (ibfd)); return; } if (ibfd->my_archive) @@ -2879,19 +2880,22 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_ if (!bfd_check_format_matches (arbfd, bfd_archive, NULL)) { einfo (_("%X%P: %s(%s): can't find member in non-archive file"), - ibfd->my_archive->filename, ibfd->filename); + bfd_get_filename (ibfd->my_archive), + bfd_get_filename (ibfd)); return; } newbfd = NULL; while ((newbfd = bfd_openr_next_archived_file (arbfd, newbfd)) != 0) { - if (filename_cmp (newbfd->filename, ibfd->filename) == 0) + if (filename_cmp (bfd_get_filename (newbfd), + bfd_get_filename (ibfd)) == 0) break; } if (!newbfd) { einfo (_("%X%P: %s(%s): can't find member in archive"), - ibfd->my_archive->filename, ibfd->filename); + bfd_get_filename (ibfd->my_archive), + bfd_get_filename (ibfd)); return; } } @@ -3248,7 +3252,7 @@ pe_process_import_defs (bfd *output_bfd, struct bfd_link_info *linfo) if (!do_this_dll) { bfd *ar_head = make_head (output_bfd); - add_bfd_to_link (ar_head, ar_head->filename, linfo); + add_bfd_to_link (ar_head, bfd_get_filename (ar_head), linfo); do_this_dll = 1; } exp.internal_name = imp[i].internal_name; @@ -3261,13 +3265,13 @@ pe_process_import_defs (bfd *output_bfd, struct bfd_link_info *linfo) exp.flag_data = imp[i].data; exp.flag_noname = exp.name ? 0 : 1; one = make_one (&exp, output_bfd, (! exp.flag_data) && include_jmp_stub); - add_bfd_to_link (one, one->filename, linfo); + add_bfd_to_link (one, bfd_get_filename (one), linfo); } } if (do_this_dll) { bfd *ar_tail = make_tail (output_bfd); - add_bfd_to_link (ar_tail, ar_tail->filename, linfo); + add_bfd_to_link (ar_tail, bfd_get_filename (ar_tail), linfo); } free (dll_symname); |