forked from Imagelibrary/binutils-gdb
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.
This commit is contained in:
38
ld/pe-dll.c
38
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);
|
||||
|
||||
Reference in New Issue
Block a user