aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-05-19 12:57:15 +0930
committerAlan Modra <amodra@gmail.com>2020-05-19 12:57:15 +0930
commit607b483327fdfc75fb193870b3c4e7445ce3f64d (patch)
tree184200d9b5f0b36628520554c4d28476137fe650 /ld/emultempl
parent69f57659c37106c4407a801d89eed4b3e2243074 (diff)
downloadfsf-binutils-gdb-607b483327fdfc75fb193870b3c4e7445ce3f64d.zip
fsf-binutils-gdb-607b483327fdfc75fb193870b3c4e7445ce3f64d.tar.gz
fsf-binutils-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/emultempl')
-rw-r--r--ld/emultempl/beos.em7
-rw-r--r--ld/emultempl/pe.em21
-rw-r--r--ld/emultempl/pep.em20
-rw-r--r--ld/emultempl/spuelf.em4
4 files changed, 28 insertions, 24 deletions
diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em
index 442ff12..4da5eee 100644
--- a/ld/emultempl/beos.em
+++ b/ld/emultempl/beos.em
@@ -400,12 +400,13 @@ sort_by_file_name (const void *a, const void *b)
asection *sb = (*rb)->section;
int i, a_sec, b_sec;
- i = filename_cmp (sa->owner->my_archive->filename,
- sb->owner->my_archive->filename);
+ i = filename_cmp (bfd_get_filename (sa->owner->my_archive),
+ bfd_get_filename (sb->owner->my_archive));
if (i != 0)
return i;
- i = filename_cmp (sa->owner->filename, sb->owner->filename);
+ i = filename_cmp (bfd_get_filename (sa->owner),
+ bfd_get_filename (sb->owner));
if (i != 0)
return i;
/* the tail idata4/5 are the only ones without relocs to an
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 3dd36de..fe65d2b 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -1338,7 +1338,7 @@ gld_${EMULATION_NAME}_after_open (void)
bfd_hash_traverse (&link_info.hash->table, pr_sym, NULL);
for (a = link_info.input_bfds; a; a = a->link.next)
- printf ("*%s\n",a->filename);
+ printf ("*%s\n", bfd_get_filename (a));
}
#endif
@@ -1599,7 +1599,7 @@ gld_${EMULATION_NAME}_after_open (void)
members, so look for the first element with a .dll
extension, and use that for the remainder of the
comparisons. */
- pnt = strrchr (is3->the_bfd->filename, '.');
+ pnt = strrchr (bfd_get_filename (is3->the_bfd), '.');
if (pnt != NULL && filename_cmp (pnt, ".dll") == 0)
break;
}
@@ -1616,12 +1616,12 @@ gld_${EMULATION_NAME}_after_open (void)
{
/* Skip static members, ie anything with a .obj
extension. */
- pnt = strrchr (is2->the_bfd->filename, '.');
+ pnt = strrchr (bfd_get_filename (is2->the_bfd), '.');
if (pnt != NULL && filename_cmp (pnt, ".obj") == 0)
continue;
- if (filename_cmp (is3->the_bfd->filename,
- is2->the_bfd->filename))
+ if (filename_cmp (bfd_get_filename (is3->the_bfd),
+ bfd_get_filename (is2->the_bfd)))
{
is_ms_arch = 0;
break;
@@ -1633,7 +1633,7 @@ gld_${EMULATION_NAME}_after_open (void)
/* This fragment might have come from an .obj file in a Microsoft
import, and not an actual import record. If this is the case,
then leave the filename alone. */
- pnt = strrchr (is->the_bfd->filename, '.');
+ pnt = strrchr (bfd_get_filename (is->the_bfd), '.');
if (is_ms_arch && (filename_cmp (pnt, ".dll") == 0))
{
@@ -1655,11 +1655,10 @@ gld_${EMULATION_NAME}_after_open (void)
else /* sentinel */
seq = 'c';
-
/* PR 25993: It is possible that is->the_bfd-filename == is->filename.
In which case calling bfd_set_filename on one will free the memory
pointed to by the other. */
- if (is->filename == is->the_bfd->filename)
+ if (is->filename == bfd_get_filename (is->the_bfd))
{
new_name = xmalloc (strlen (is->filename) + 3);
sprintf (new_name, "%s.%c", is->filename, seq);
@@ -1668,8 +1667,10 @@ gld_${EMULATION_NAME}_after_open (void)
}
else
{
- new_name = xmalloc (strlen (is->the_bfd->filename) + 3);
- sprintf (new_name, "%s.%c", is->the_bfd->filename, seq);
+ new_name
+ = xmalloc (strlen (bfd_get_filename (is->the_bfd)) + 3);
+ sprintf (new_name, "%s.%c",
+ bfd_get_filename (is->the_bfd), seq);
bfd_set_filename (is->the_bfd, new_name);
new_name = xmalloc (strlen (is->filename) + 3);
diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em
index 39ddd8f..699b865 100644
--- a/ld/emultempl/pep.em
+++ b/ld/emultempl/pep.em
@@ -1327,7 +1327,7 @@ gld_${EMULATION_NAME}_after_open (void)
bfd_hash_traverse (&link_info.hash->table, pr_sym, NULL);
for (a = link_info.input_bfds; a; a = a->link.next)
- printf ("*%s\n",a->filename);
+ printf ("*%s\n", bfd_get_filename (a));
}
#endif
@@ -1567,7 +1567,7 @@ gld_${EMULATION_NAME}_after_open (void)
members, so look for the first element with a .dll
extension, and use that for the remainder of the
comparisons. */
- pnt = strrchr (is3->the_bfd->filename, '.');
+ pnt = strrchr (bfd_get_filename (is3->the_bfd), '.');
if (pnt != NULL && filename_cmp (pnt, ".dll") == 0)
break;
}
@@ -1584,12 +1584,12 @@ gld_${EMULATION_NAME}_after_open (void)
{
/* Skip static members, ie anything with a .obj
extension. */
- pnt = strrchr (is2->the_bfd->filename, '.');
+ pnt = strrchr (bfd_get_filename (is2->the_bfd), '.');
if (pnt != NULL && filename_cmp (pnt, ".obj") == 0)
continue;
- if (filename_cmp (is3->the_bfd->filename,
- is2->the_bfd->filename))
+ if (filename_cmp (bfd_get_filename (is3->the_bfd),
+ bfd_get_filename (is2->the_bfd)))
{
is_ms_arch = 0;
break;
@@ -1601,7 +1601,7 @@ gld_${EMULATION_NAME}_after_open (void)
/* This fragment might have come from an .obj file in a Microsoft
import, and not an actual import record. If this is the case,
then leave the filename alone. */
- pnt = strrchr (is->the_bfd->filename, '.');
+ pnt = strrchr (bfd_get_filename (is->the_bfd), '.');
if (is_ms_arch && (filename_cmp (pnt, ".dll") == 0))
{
@@ -1626,7 +1626,7 @@ gld_${EMULATION_NAME}_after_open (void)
/* PR 25993: It is possible that is->the_bfd-filename == is->filename.
In which case calling bfd_set_filename on one will free the memory
pointed to by the other. */
- if (is->filename == is->the_bfd->filename)
+ if (is->filename == bfd_get_filename (is->the_bfd))
{
new_name = xmalloc (strlen (is->filename) + 3);
sprintf (new_name, "%s.%c", is->filename, seq);
@@ -1635,8 +1635,10 @@ gld_${EMULATION_NAME}_after_open (void)
}
else
{
- new_name = xmalloc (strlen (is->the_bfd->filename) + 3);
- sprintf (new_name, "%s.%c", is->the_bfd->filename, seq);
+ new_name
+ = xmalloc (strlen (bfd_get_filename (is->the_bfd)) + 3);
+ sprintf (new_name, "%s.%c",
+ bfd_get_filename (is->the_bfd), seq);
bfd_set_filename (is->the_bfd, new_name);
new_name = xmalloc (strlen (is->filename) + 3);
diff --git a/ld/emultempl/spuelf.em b/ld/emultempl/spuelf.em
index baaf44f..56beb84 100644
--- a/ld/emultempl/spuelf.em
+++ b/ld/emultempl/spuelf.em
@@ -500,7 +500,7 @@ embedded_spu_file (lang_input_statement_type *entry, const char *flags)
return FALSE;
/* Use the filename as the symbol marking the program handle struct. */
- sym = base_name (entry->the_bfd->filename);
+ sym = base_name (bfd_get_filename (entry->the_bfd));
handle = xstrdup (sym);
for (p = handle; *p; ++p)
@@ -532,7 +532,7 @@ embedded_spu_file (lang_input_statement_type *entry, const char *flags)
cmd[0] = EMBEDSPU;
cmd[1] = flags;
cmd[2] = handle;
- cmd[3] = entry->the_bfd->filename;
+ cmd[3] = bfd_get_filename (entry->the_bfd);
cmd[4] = oname;
cmd[5] = NULL;
if (verbose)