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/emultempl | |
parent | 69f57659c37106c4407a801d89eed4b3e2243074 (diff) | |
download | fsf-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.em | 7 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 21 | ||||
-rw-r--r-- | ld/emultempl/pep.em | 20 | ||||
-rw-r--r-- | ld/emultempl/spuelf.em | 4 |
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) |