Use bfd_get_filename throughout bfd

* aix5ppc-core.c (xcoff64_core_file_matches_executable_p): Use
	bfd_get_filename rather than accessing bfd->filename directly.
	* aout-target.h (MY (object_p)): Likewise.
	* aoutx.h (aout_find_nearest_line, aout_link_write_symbols): Likewise.
	* archive.c (find_nested_archive, _bfd_generic_read_ar_hdr_mag),
	(_bfd_construct_extended_name_table, _bfd_bsd44_write_ar_hdr),
	(_bfd_archive_bsd44_construct_extended_name_table),
	(_bfd_write_archive_contents, _bfd_compute_and_write_armap),
	(_bfd_bsd_write_armap): Likewise.
	* bfd.c (bfd_errmsg, _bfd_doprnt): Likewise.
	* cache.c (bfd_open_file): Likewise.
	* ecoff.c (_bfd_ecoff_write_armap): Likewise.
	* ecofflink.c (bfd_ecoff_debug_accumulate_other): Likewise.
	* elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
	* elf32-hppa.c (elf32_hppa_final_link): Likewise.
	* elf32-nds32.c (nds32_elf_output_symbol_hook),
	(patch_tls_desc_to_ie): Likewise.
	* elf32-spu.c (sort_bfds, print_one_overlay_section),
	(spu_elf_auto_overlay): Likewise.
	* elf64-hppa.c (elf_hppa_final_link): Likewise.
	* elf64-ia64-vms.c (elf64_ia64_size_dynamic_sections): Likewise.
	* elfcore.h (elf_core_file_matches_executable_p): Likewise.
	* elflink.c (bfd_elf_size_dynamic_sections),
	(elf_link_input_bfd): Likewise.
	* linker.c (_bfd_generic_link_output_symbols): Likewise.
	* mach-o.c (bfd_mach_o_follow_dsym),
	(bfd_mach_o_close_and_cleanup): Likewise.
	* opncls.c (_bfd_delete_bfd, _maybe_make_executable),
	(find_separate_debug_file, get_build_id_name): Likewise.
	* pdp11.c (aout_find_nearest_line, aout_link_write_symbols): Likewise.
	* plugin.c (bfd_plugin_open_input): Likewise.
	* rs6000-core.c (rs6000coff_core_file_matches_executable_p): Likewise.
	* som.c (som_write_armap): Likewise.
	* srec.c (srec_write_record, srec_write_symbols): Likewise.
	* vms-lib.c (_bfd_vms_lib_get_imagelib_file),
	(_bfd_vms_lib_write_archive_contents): Likewise.
	* xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
This commit is contained in:
Alan Modra 2020-05-19 12:35:03 +09:30
parent 0e1d094e96
commit 765cf5f623
28 changed files with 158 additions and 106 deletions

View File

@ -1,3 +1,44 @@
2020-05-19 Alan Modra <amodra@gmail.com>
* aix5ppc-core.c (xcoff64_core_file_matches_executable_p): Use
bfd_get_filename rather than accessing bfd->filename directly.
* aout-target.h (MY (object_p)): Likewise.
* aoutx.h (aout_find_nearest_line, aout_link_write_symbols): Likewise.
* archive.c (find_nested_archive, _bfd_generic_read_ar_hdr_mag),
(_bfd_construct_extended_name_table, _bfd_bsd44_write_ar_hdr),
(_bfd_archive_bsd44_construct_extended_name_table),
(_bfd_write_archive_contents, _bfd_compute_and_write_armap),
(_bfd_bsd_write_armap): Likewise.
* bfd.c (bfd_errmsg, _bfd_doprnt): Likewise.
* cache.c (bfd_open_file): Likewise.
* ecoff.c (_bfd_ecoff_write_armap): Likewise.
* ecofflink.c (bfd_ecoff_debug_accumulate_other): Likewise.
* elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
* elf32-frv.c (elf32_frv_relocate_section): Likewise.
* elf32-hppa.c (elf32_hppa_final_link): Likewise.
* elf32-nds32.c (nds32_elf_output_symbol_hook),
(patch_tls_desc_to_ie): Likewise.
* elf32-spu.c (sort_bfds, print_one_overlay_section),
(spu_elf_auto_overlay): Likewise.
* elf64-hppa.c (elf_hppa_final_link): Likewise.
* elf64-ia64-vms.c (elf64_ia64_size_dynamic_sections): Likewise.
* elfcore.h (elf_core_file_matches_executable_p): Likewise.
* elflink.c (bfd_elf_size_dynamic_sections),
(elf_link_input_bfd): Likewise.
* linker.c (_bfd_generic_link_output_symbols): Likewise.
* mach-o.c (bfd_mach_o_follow_dsym),
(bfd_mach_o_close_and_cleanup): Likewise.
* opncls.c (_bfd_delete_bfd, _maybe_make_executable),
(find_separate_debug_file, get_build_id_name): Likewise.
* pdp11.c (aout_find_nearest_line, aout_link_write_symbols): Likewise.
* plugin.c (bfd_plugin_open_input): Likewise.
* rs6000-core.c (rs6000coff_core_file_matches_executable_p): Likewise.
* som.c (som_write_armap): Likewise.
* srec.c (srec_write_record, srec_write_symbols): Likewise.
* vms-lib.c (_bfd_vms_lib_get_imagelib_file),
(_bfd_vms_lib_write_archive_contents): Likewise.
* xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
2020-05-19 Alan Modra <amodra@gmail.com> 2020-05-19 Alan Modra <amodra@gmail.com>
PR 25713 PR 25713

View File

@ -288,11 +288,11 @@ xcoff64_core_file_matches_executable_p (bfd *core_bfd, bfd *exec_bfd)
} }
str1 = strrchr (path, '/'); str1 = strrchr (path, '/');
str2 = strrchr (exec_bfd->filename, '/'); str2 = strrchr (bfd_get_filename (exec_bfd), '/');
/* Step over character '/'. */ /* Step over character '/'. */
str1 = str1 != NULL ? str1 + 1 : path; str1 = str1 != NULL ? str1 + 1 : path;
str2 = str2 != NULL ? str2 + 1 : exec_bfd->filename; str2 = str2 != NULL ? str2 + 1 : bfd_get_filename (exec_bfd);
if (strcmp (str1, str2) == 0) if (strcmp (str1, str2) == 0)
return_value = TRUE; return_value = TRUE;

View File

@ -180,7 +180,8 @@ MY (object_p) (bfd *abfd)
#ifndef S_IXUSR #ifndef S_IXUSR
#define S_IXUSR 0100 /* Execute by owner. */ #define S_IXUSR 0100 /* Execute by owner. */
#endif #endif
if (stat (abfd->filename, &buf) == 0 && (buf.st_mode & S_IXUSR)) if (stat (bfd_get_filename (abfd), &buf) == 0
&& (buf.st_mode & S_IXUSR) != 0)
abfd->flags |= EXEC_P; abfd->flags |= EXEC_P;
} }
#endif /* ENTRY_CAN_BE_ZERO */ #endif /* ENTRY_CAN_BE_ZERO */

View File

@ -2686,7 +2686,7 @@ NAME (aout, find_nearest_line) (bfd *abfd,
bfd_size_type filelen, funclen; bfd_size_type filelen, funclen;
char *buf; char *buf;
*filename_ptr = abfd->filename; *filename_ptr = bfd_get_filename (abfd);
*functionname_ptr = NULL; *functionname_ptr = NULL;
*line_ptr = 0; *line_ptr = 0;
if (disriminator_ptr) if (disriminator_ptr)
@ -4846,7 +4846,8 @@ aout_link_write_symbols (struct aout_final_link_info *flaginfo, bfd *input_bfd)
discarding such symbols. */ discarding such symbols. */
if (strip != strip_all if (strip != strip_all
&& (strip != strip_some && (strip != strip_some
|| bfd_hash_lookup (flaginfo->info->keep_hash, input_bfd->filename, || bfd_hash_lookup (flaginfo->info->keep_hash,
bfd_get_filename (input_bfd),
FALSE, FALSE) != NULL) FALSE, FALSE) != NULL)
&& discard != discard_all) && discard != discard_all)
{ {
@ -4854,7 +4855,7 @@ aout_link_write_symbols (struct aout_final_link_info *flaginfo, bfd *input_bfd)
H_PUT_8 (output_bfd, 0, outsym->e_other); H_PUT_8 (output_bfd, 0, outsym->e_other);
H_PUT_16 (output_bfd, 0, outsym->e_desc); H_PUT_16 (output_bfd, 0, outsym->e_desc);
strtab_index = add_to_stringtab (output_bfd, flaginfo->strtab, strtab_index = add_to_stringtab (output_bfd, flaginfo->strtab,
input_bfd->filename, FALSE); bfd_get_filename (input_bfd), FALSE);
if (strtab_index == (bfd_size_type) -1) if (strtab_index == (bfd_size_type) -1)
return FALSE; return FALSE;
PUT_WORD (output_bfd, strtab_index, outsym->e_strx); PUT_WORD (output_bfd, strtab_index, outsym->e_strx);

View File

@ -403,7 +403,7 @@ find_nested_archive (const char *filename, bfd *arch_bfd)
bfd *abfd; bfd *abfd;
/* PR 15140: Don't allow a nested archive pointing to itself. */ /* PR 15140: Don't allow a nested archive pointing to itself. */
if (filename_cmp (filename, arch_bfd->filename) == 0) if (filename_cmp (filename, bfd_get_filename (arch_bfd)) == 0)
{ {
bfd_set_error (bfd_error_malformed_archive); bfd_set_error (bfd_error_malformed_archive);
return NULL; return NULL;
@ -413,7 +413,7 @@ find_nested_archive (const char *filename, bfd *arch_bfd)
abfd != NULL; abfd != NULL;
abfd = abfd->archive_next) abfd = abfd->archive_next)
{ {
if (filename_cmp (filename, abfd->filename) == 0) if (filename_cmp (filename, bfd_get_filename (abfd)) == 0)
return abfd; return abfd;
} }
abfd = open_nested_file (filename, arch_bfd); abfd = open_nested_file (filename, arch_bfd);
@ -628,7 +628,7 @@ _bfd_generic_read_ar_hdr_mag (bfd *abfd, const char *mag)
char * char *
_bfd_append_relative_path (bfd *arch, char *elt_name) _bfd_append_relative_path (bfd *arch, char *elt_name)
{ {
const char *arch_name = arch->filename; const char *arch_name = bfd_get_filename (arch);
const char *base_name = lbasename (arch_name); const char *base_name = lbasename (arch_name);
size_t prefix_len; size_t prefix_len;
char *filename; char *filename;
@ -1564,13 +1564,13 @@ _bfd_construct_extended_name_table (bfd *abfd,
if (bfd_is_thin_archive (abfd)) if (bfd_is_thin_archive (abfd))
{ {
const char *filename = current->filename; const char *filename = bfd_get_filename (current);
/* If the element being added is a member of another archive /* If the element being added is a member of another archive
(i.e., we are flattening), use the containing archive's name. */ (i.e., we are flattening), use the containing archive's name. */
if (current->my_archive if (current->my_archive
&& ! bfd_is_thin_archive (current->my_archive)) && ! bfd_is_thin_archive (current->my_archive))
filename = current->my_archive->filename; filename = bfd_get_filename (current->my_archive);
/* If the path is the same as the previous path seen, /* If the path is the same as the previous path seen,
reuse it. This can happen when flattening a thin reuse it. This can happen when flattening a thin
@ -1583,8 +1583,8 @@ _bfd_construct_extended_name_table (bfd *abfd,
/* If the path is relative, adjust it relative to /* If the path is relative, adjust it relative to
the containing archive. */ the containing archive. */
if (! IS_ABSOLUTE_PATH (filename) if (! IS_ABSOLUTE_PATH (filename)
&& ! IS_ABSOLUTE_PATH (abfd->filename)) && ! IS_ABSOLUTE_PATH (bfd_get_filename (abfd)))
normal = adjust_relative_path (filename, abfd->filename); normal = adjust_relative_path (filename, bfd_get_filename (abfd));
else else
normal = filename; normal = filename;
@ -1598,7 +1598,7 @@ _bfd_construct_extended_name_table (bfd *abfd,
continue; continue;
} }
normal = normalize (abfd, current->filename); normal = normalize (abfd, bfd_get_filename (current));
if (normal == NULL) if (normal == NULL)
return FALSE; return FALSE;
@ -1655,7 +1655,7 @@ _bfd_construct_extended_name_table (bfd *abfd,
const char *normal; const char *normal;
unsigned int thislen; unsigned int thislen;
long stroff; long stroff;
const char *filename = current->filename; const char *filename = bfd_get_filename (current);
if (bfd_is_thin_archive (abfd)) if (bfd_is_thin_archive (abfd))
{ {
@ -1663,7 +1663,7 @@ _bfd_construct_extended_name_table (bfd *abfd,
(i.e., we are flattening), use the containing archive's name. */ (i.e., we are flattening), use the containing archive's name. */
if (current->my_archive if (current->my_archive
&& ! bfd_is_thin_archive (current->my_archive)) && ! bfd_is_thin_archive (current->my_archive))
filename = current->my_archive->filename; filename = bfd_get_filename (current->my_archive);
/* If the path is the same as the previous path seen, /* If the path is the same as the previous path seen,
reuse it. This can happen when flattening a thin reuse it. This can happen when flattening a thin
archive that contains other archives. archive that contains other archives.
@ -1672,8 +1672,8 @@ _bfd_construct_extended_name_table (bfd *abfd,
if (last_filename && filename_cmp (last_filename, filename) == 0) if (last_filename && filename_cmp (last_filename, filename) == 0)
normal = last_filename; normal = last_filename;
else if (! IS_ABSOLUTE_PATH (filename) else if (! IS_ABSOLUTE_PATH (filename)
&& ! IS_ABSOLUTE_PATH (abfd->filename)) && ! IS_ABSOLUTE_PATH (bfd_get_filename (abfd)))
normal = adjust_relative_path (filename, abfd->filename); normal = adjust_relative_path (filename, bfd_get_filename (abfd));
else else
normal = filename; normal = filename;
} }
@ -1741,7 +1741,7 @@ _bfd_archive_bsd44_construct_extended_name_table (bfd *abfd,
current != NULL; current != NULL;
current = current->archive_next) current = current->archive_next)
{ {
const char *normal = normalize (abfd, current->filename); const char *normal = normalize (abfd, bfd_get_filename (current));
int has_space = 0; int has_space = 0;
unsigned int len; unsigned int len;
@ -1787,7 +1787,7 @@ _bfd_bsd44_write_ar_hdr (bfd *archive, bfd *abfd)
if (is_bsd44_extended_name (hdr->ar_name)) if (is_bsd44_extended_name (hdr->ar_name))
{ {
/* This is a BSD 4.4 extended name. */ /* This is a BSD 4.4 extended name. */
const char *fullname = normalize (abfd, abfd->filename); const char *fullname = normalize (abfd, bfd_get_filename (abfd));
unsigned int len = strlen (fullname); unsigned int len = strlen (fullname);
unsigned int padded_len = (len + 3) & ~3; unsigned int padded_len = (len + 3) & ~3;
@ -2139,13 +2139,15 @@ _bfd_write_archive_contents (bfd *arch)
if (!current->arelt_data) if (!current->arelt_data)
{ {
current->arelt_data = current->arelt_data =
bfd_ar_hdr_from_filesystem (arch, current->filename, current); bfd_ar_hdr_from_filesystem (arch, bfd_get_filename (current),
current);
if (!current->arelt_data) if (!current->arelt_data)
goto input_err; goto input_err;
/* Put in the file name. */ /* Put in the file name. */
BFD_SEND (arch, _bfd_truncate_arname, BFD_SEND (arch, _bfd_truncate_arname,
(arch, current->filename, (char *) arch_hdr (current))); (arch, bfd_get_filename (current),
(char *) arch_hdr (current)));
} }
if (makemap && ! hasobjects) if (makemap && ! hasobjects)
@ -2294,7 +2296,7 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength)
/* Drop all the files called __.SYMDEF, we're going to make our own. */ /* Drop all the files called __.SYMDEF, we're going to make our own. */
while (arch->archive_head while (arch->archive_head
&& strcmp (arch->archive_head->filename, "__.SYMDEF") == 0) && strcmp (bfd_get_filename (arch->archive_head), "__.SYMDEF") == 0)
arch->archive_head = arch->archive_head->archive_next; arch->archive_head = arch->archive_head->archive_next;
/* Map over each element. */ /* Map over each element. */
@ -2495,7 +2497,7 @@ _bfd_bsd_write_armap (bfd *arch,
{ {
struct stat statbuf; struct stat statbuf;
if (stat (arch->filename, &statbuf) == 0) if (stat (bfd_get_filename (arch), &statbuf) == 0)
bfd_ardata (arch)->armap_timestamp = (statbuf.st_mtime bfd_ardata (arch)->armap_timestamp = (statbuf.st_mtime
+ ARMAP_TIME_OFFSET); + ARMAP_TIME_OFFSET);
uid = getuid(); uid = getuid();

View File

@ -787,8 +787,8 @@ bfd_errmsg (bfd_error_type error_tag)
char *buf; char *buf;
const char *msg = bfd_errmsg (input_error); const char *msg = bfd_errmsg (input_error);
if (asprintf (&buf, _(bfd_errmsgs [error_tag]), input_bfd->filename, msg) if (asprintf (&buf, _(bfd_errmsgs [error_tag]),
!= -1) bfd_get_filename (input_bfd), msg) != -1)
return buf; return buf;
/* Ick, what to do on out of memory? */ /* Ick, what to do on out of memory? */
@ -1114,10 +1114,10 @@ _bfd_doprnt (FILE *stream, const char *format, union _bfd_doprnt_args *args)
else if (abfd->my_archive else if (abfd->my_archive
&& !bfd_is_thin_archive (abfd->my_archive)) && !bfd_is_thin_archive (abfd->my_archive))
result = fprintf (stream, "%s(%s)", result = fprintf (stream, "%s(%s)",
abfd->my_archive->filename, bfd_get_filename (abfd->my_archive),
abfd->filename); bfd_get_filename (abfd));
else else
result = fprintf (stream, "%s", abfd->filename); result = fprintf (stream, "%s", bfd_get_filename (abfd));
} }
else else
PRINT_TYPE (void *, p); PRINT_TYPE (void *, p);

View File

@ -592,15 +592,17 @@ bfd_open_file (bfd *abfd)
{ {
case read_direction: case read_direction:
case no_direction: case no_direction:
abfd->iostream = _bfd_real_fopen (abfd->filename, FOPEN_RB); abfd->iostream = _bfd_real_fopen (bfd_get_filename (abfd), FOPEN_RB);
break; break;
case both_direction: case both_direction:
case write_direction: case write_direction:
if (abfd->opened_once) if (abfd->opened_once)
{ {
abfd->iostream = _bfd_real_fopen (abfd->filename, FOPEN_RUB); abfd->iostream = _bfd_real_fopen (bfd_get_filename (abfd),
FOPEN_RUB);
if (abfd->iostream == NULL) if (abfd->iostream == NULL)
abfd->iostream = _bfd_real_fopen (abfd->filename, FOPEN_WUB); abfd->iostream = _bfd_real_fopen (bfd_get_filename (abfd),
FOPEN_WUB);
} }
else else
{ {
@ -627,10 +629,11 @@ bfd_open_file (bfd *abfd)
the --info option. */ the --info option. */
struct stat s; struct stat s;
if (stat (abfd->filename, &s) == 0 && s.st_size != 0) if (stat (bfd_get_filename (abfd), &s) == 0 && s.st_size != 0)
unlink_if_ordinary (abfd->filename); unlink_if_ordinary (bfd_get_filename (abfd));
#endif #endif
abfd->iostream = _bfd_real_fopen (abfd->filename, FOPEN_WUB); abfd->iostream = _bfd_real_fopen (bfd_get_filename (abfd),
FOPEN_WUB);
abfd->opened_once = TRUE; abfd->opened_once = TRUE;
} }
break; break;

View File

@ -3106,7 +3106,7 @@ _bfd_ecoff_write_armap (bfd *abfd,
complain that the index is out of date. Actually, the Ultrix complain that the index is out of date. Actually, the Ultrix
linker just checks the archive name; the GNU linker may check the linker just checks the archive name; the GNU linker may check the
date. */ date. */
stat (abfd->filename, &statbuf); stat (bfd_get_filename (abfd), &statbuf);
_bfd_ar_spacepad (hdr.ar_date, sizeof (hdr.ar_date), "%ld", _bfd_ar_spacepad (hdr.ar_date, sizeof (hdr.ar_date), "%ld",
(long) (statbuf.st_mtime + 60)); (long) (statbuf.st_mtime + 60));

View File

@ -1112,7 +1112,7 @@ bfd_ecoff_debug_accumulate_other (void * handle,
fdr.issBase = output_symhdr->issMax; fdr.issBase = output_symhdr->issMax;
fdr.cbSs = 0; fdr.cbSs = 0;
fdr.rss = ecoff_add_string (ainfo, info, output_debug, &fdr, fdr.rss = ecoff_add_string (ainfo, info, output_debug, &fdr,
input_bfd->filename); bfd_get_filename (input_bfd));
if (fdr.rss == -1) if (fdr.rss == -1)
return FALSE; return FALSE;
fdr.isymBase = output_symhdr->isymMax; fdr.isymBase = output_symhdr->isymMax;

View File

@ -3015,11 +3015,11 @@ bfinfdpic_relocate_section (bfd * output_bfd,
input file basename is crt0.o only once. */ input file basename is crt0.o only once. */
if (silence_segment_error == 1) if (silence_segment_error == 1)
silence_segment_error = silence_segment_error =
(strlen (input_bfd->filename) == 6 (strlen (bfd_get_filename (input_bfd)) == 6
&& filename_cmp (input_bfd->filename, "crt0.o") == 0) && filename_cmp (bfd_get_filename (input_bfd), "crt0.o") == 0)
|| (strlen (input_bfd->filename) > 6 || (strlen (bfd_get_filename (input_bfd)) > 6
&& filename_cmp (input_bfd->filename && filename_cmp (bfd_get_filename (input_bfd)
+ strlen (input_bfd->filename) - 7, + strlen (bfd_get_filename (input_bfd)) - 7,
"/crt0.o") == 0) "/crt0.o") == 0)
? -1 : 0; ? -1 : 0;
#endif #endif

View File

@ -3896,11 +3896,11 @@ elf32_frv_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
input file basename is crt0.o only once. */ input file basename is crt0.o only once. */
if (silence_segment_error == 1) if (silence_segment_error == 1)
silence_segment_error = silence_segment_error =
(strlen (input_bfd->filename) == 6 (strlen (bfd_get_filename (input_bfd)) == 6
&& filename_cmp (input_bfd->filename, "crt0.o") == 0) && filename_cmp (bfd_get_filename (input_bfd), "crt0.o") == 0)
|| (strlen (input_bfd->filename) > 6 || (strlen (bfd_get_filename (input_bfd)) > 6
&& filename_cmp (input_bfd->filename && filename_cmp (bfd_get_filename (input_bfd)
+ strlen (input_bfd->filename) - 7, + strlen (bfd_get_filename (input_bfd)) - 7,
"/crt0.o") == 0) "/crt0.o") == 0)
? -1 : 0; ? -1 : 0;
if (!silence_segment_error if (!silence_segment_error

View File

@ -3196,7 +3196,7 @@ elf32_hppa_final_link (bfd *abfd, struct bfd_link_info *info)
/* Do not attempt to sort non-regular files. This is here /* Do not attempt to sort non-regular files. This is here
especially for configure scripts and kernel builds which run especially for configure scripts and kernel builds which run
tests with "ld [...] -o /dev/null". */ tests with "ld [...] -o /dev/null". */
if (stat (abfd->filename, &buf) != 0 if (stat (bfd_get_filename (abfd), &buf) != 0
|| !S_ISREG(buf.st_mode)) || !S_ISREG(buf.st_mode))
return TRUE; return TRUE;

View File

@ -4862,7 +4862,7 @@ nds32_elf_output_symbol_hook (struct bfd_link_info *info,
if (bfd_is_const_section (input_sec)) if (bfd_is_const_section (input_sec))
source = input_sec->name; source = input_sec->name;
else else
source = input_sec->owner->filename; source = bfd_get_filename (input_sec->owner);
fprintf (sym_ld_script, "\t%s = 0x%08lx;\t /* %s */\n", fprintf (sym_ld_script, "\t%s = 0x%08lx;\t /* %s */\n",
h->root.root.string, h->root.root.string,
@ -5047,7 +5047,7 @@ patch_tls_desc_to_ie (bfd_byte *contents, Elf_Internal_Rela *rel, bfd *ibfd)
if (!rz) if (!rz)
{ {
printf ("%s: %s @ 0x%08x\n", __func__, ibfd->filename, printf ("%s: %s @ 0x%08x\n", __func__, bfd_get_filename (ibfd),
(int) rel->r_offset); (int) rel->r_offset);
BFD_ASSERT(0); /* Unsupported pattern. */ BFD_ASSERT(0); /* Unsupported pattern. */
} }

View File

@ -4103,7 +4103,7 @@ sort_bfds (const void *a, const void *b)
bfd *const *abfd1 = a; bfd *const *abfd1 = a;
bfd *const *abfd2 = b; bfd *const *abfd2 = b;
return filename_cmp ((*abfd1)->filename, (*abfd2)->filename); return filename_cmp (bfd_get_filename (*abfd1), bfd_get_filename (*abfd2));
} }
static unsigned int static unsigned int
@ -4123,9 +4123,9 @@ print_one_overlay_section (FILE *script,
if (fprintf (script, " %s%c%s (%s)\n", if (fprintf (script, " %s%c%s (%s)\n",
(sec->owner->my_archive != NULL (sec->owner->my_archive != NULL
? sec->owner->my_archive->filename : ""), ? bfd_get_filename (sec->owner->my_archive) : ""),
info->path_separator, info->path_separator,
sec->owner->filename, bfd_get_filename (sec->owner),
sec->name) <= 0) sec->name) <= 0)
return -1; return -1;
if (sec->segment_mark) if (sec->segment_mark)
@ -4137,9 +4137,9 @@ print_one_overlay_section (FILE *script,
sec = call_fun->sec; sec = call_fun->sec;
if (fprintf (script, " %s%c%s (%s)\n", if (fprintf (script, " %s%c%s (%s)\n",
(sec->owner->my_archive != NULL (sec->owner->my_archive != NULL
? sec->owner->my_archive->filename : ""), ? bfd_get_filename (sec->owner->my_archive) : ""),
info->path_separator, info->path_separator,
sec->owner->filename, bfd_get_filename (sec->owner),
sec->name) <= 0) sec->name) <= 0)
return -1; return -1;
for (call = call_fun->call_list; call; call = call->next) for (call = call_fun->call_list; call; call = call->next)
@ -4155,9 +4155,9 @@ print_one_overlay_section (FILE *script,
if (sec != NULL if (sec != NULL
&& fprintf (script, " %s%c%s (%s)\n", && fprintf (script, " %s%c%s (%s)\n",
(sec->owner->my_archive != NULL (sec->owner->my_archive != NULL
? sec->owner->my_archive->filename : ""), ? bfd_get_filename (sec->owner->my_archive) : ""),
info->path_separator, info->path_separator,
sec->owner->filename, bfd_get_filename (sec->owner),
sec->name) <= 0) sec->name) <= 0)
return -1; return -1;
@ -4172,9 +4172,9 @@ print_one_overlay_section (FILE *script,
if (sec != NULL if (sec != NULL
&& fprintf (script, " %s%c%s (%s)\n", && fprintf (script, " %s%c%s (%s)\n",
(sec->owner->my_archive != NULL (sec->owner->my_archive != NULL
? sec->owner->my_archive->filename : ""), ? bfd_get_filename (sec->owner->my_archive) : ""),
info->path_separator, info->path_separator,
sec->owner->filename, bfd_get_filename (sec->owner),
sec->name) <= 0) sec->name) <= 0)
return -1; return -1;
for (call = call_fun->call_list; call; call = call->next) for (call = call_fun->call_list; call; call = call->next)
@ -4335,18 +4335,19 @@ spu_elf_auto_overlay (struct bfd_link_info *info)
qsort (bfd_arr, bfd_count, sizeof (*bfd_arr), sort_bfds); qsort (bfd_arr, bfd_count, sizeof (*bfd_arr), sort_bfds);
for (i = 1; i < bfd_count; ++i) for (i = 1; i < bfd_count; ++i)
if (filename_cmp (bfd_arr[i - 1]->filename, bfd_arr[i]->filename) == 0) if (filename_cmp (bfd_get_filename (bfd_arr[i - 1]),
bfd_get_filename (bfd_arr[i])) == 0)
{ {
if (bfd_arr[i - 1]->my_archive == bfd_arr[i]->my_archive) if (bfd_arr[i - 1]->my_archive == bfd_arr[i]->my_archive)
{ {
if (bfd_arr[i - 1]->my_archive && bfd_arr[i]->my_archive) if (bfd_arr[i - 1]->my_archive && bfd_arr[i]->my_archive)
/* xgettext:c-format */ /* xgettext:c-format */
info->callbacks->einfo (_("%s duplicated in %s\n"), info->callbacks->einfo (_("%s duplicated in %s\n"),
bfd_arr[i]->filename, bfd_get_filename (bfd_arr[i]),
bfd_arr[i]->my_archive->filename); bfd_get_filename (bfd_arr[i]->my_archive));
else else
info->callbacks->einfo (_("%s duplicated\n"), info->callbacks->einfo (_("%s duplicated\n"),
bfd_arr[i]->filename); bfd_get_filename (bfd_arr[i]));
ok = FALSE; ok = FALSE;
} }
} }

View File

@ -3040,7 +3040,7 @@ elf_hppa_final_link (bfd *abfd, struct bfd_link_info *info)
/* Do not attempt to sort non-regular files. This is here /* Do not attempt to sort non-regular files. This is here
especially for configure scripts and kernel builds which run especially for configure scripts and kernel builds which run
tests with "ld [...] -o /dev/null". */ tests with "ld [...] -o /dev/null". */
if (stat (abfd->filename, &buf) != 0 if (stat (bfd_get_filename (abfd), &buf) != 0
|| !S_ISREG(buf.st_mode)) || !S_ISREG(buf.st_mode))
return TRUE; return TRUE;

View File

@ -2844,7 +2844,7 @@ elf64_ia64_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
elf_ia64_vms_ident (abfd))) elf_ia64_vms_ident (abfd)))
return FALSE; return FALSE;
soname = vms_get_module_name (abfd->filename, TRUE); soname = vms_get_module_name (bfd_get_filename (abfd), TRUE);
if (soname == NULL) if (soname == NULL)
return FALSE; return FALSE;
strindex = dynstrsec->size; strindex = dynstrsec->size;

View File

@ -61,9 +61,9 @@ elf_core_file_matches_executable_p (bfd *core_bfd, bfd *exec_bfd)
corename = elf_tdata (core_bfd)->core->program; corename = elf_tdata (core_bfd)->core->program;
if (corename != NULL) if (corename != NULL)
{ {
const char* execname = strrchr (exec_bfd->filename, '/'); const char* execname = strrchr (bfd_get_filename (exec_bfd), '/');
execname = execname ? execname + 1 : exec_bfd->filename; execname = execname ? execname + 1 : bfd_get_filename (exec_bfd);
if (strcmp (execname, corename) != 0) if (strcmp (execname, corename) != 0)
return FALSE; return FALSE;

View File

@ -6623,7 +6623,7 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
{ {
size_t indx; size_t indx;
name = lbasename (output_bfd->filename); name = lbasename (bfd_get_filename (output_bfd));
def.vd_hash = bfd_elf_hash (name); def.vd_hash = bfd_elf_hash (name);
indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
name, FALSE); name, FALSE);
@ -6850,7 +6850,8 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr,
elf_dt_name (vn->vn_bfd) != NULL elf_dt_name (vn->vn_bfd) != NULL
? elf_dt_name (vn->vn_bfd) ? elf_dt_name (vn->vn_bfd)
: lbasename (vn->vn_bfd->filename), : lbasename (bfd_get_filename
(vn->vn_bfd)),
FALSE); FALSE);
if (indx == (size_t) -1) if (indx == (size_t) -1)
return FALSE; return FALSE;
@ -10675,7 +10676,7 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
{ {
_bfd_error_handler (_("warning: --enable-non-contiguous-regions " _bfd_error_handler (_("warning: --enable-non-contiguous-regions "
"discards section `%s' from '%s'\n"), "discards section `%s' from '%s'\n"),
isec->name, isec->owner->filename); isec->name, bfd_get_filename (isec->owner));
continue; continue;
} }
@ -10726,7 +10727,7 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
osym.st_shndx = SHN_ABS; osym.st_shndx = SHN_ABS;
if (!elf_link_output_symstrtab (flinfo, if (!elf_link_output_symstrtab (flinfo,
(input_bfd->lto_output ? NULL (input_bfd->lto_output ? NULL
: input_bfd->filename), : bfd_get_filename (input_bfd)),
&osym, bfd_abs_section_ptr, &osym, bfd_abs_section_ptr,
NULL)) NULL))
return FALSE; return FALSE;
@ -11028,7 +11029,7 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
#ifdef DEBUG #ifdef DEBUG
printf ("Encountered a complex symbol!"); printf ("Encountered a complex symbol!");
printf (" (input_bfd %s, section %s, reloc %ld\n", printf (" (input_bfd %s, section %s, reloc %ld\n",
input_bfd->filename, o->name, bfd_get_filename (input_bfd), o->name,
(long) (rel - internal_relocs)); (long) (rel - internal_relocs));
printf (" symbol: idx %8.8lx, name %s\n", printf (" symbol: idx %8.8lx, name %s\n",
r_symndx, sym_name); r_symndx, sym_name);

View File

@ -1995,7 +1995,7 @@ _bfd_generic_link_output_symbols (bfd *output_bfd,
newsym = bfd_make_empty_symbol (input_bfd); newsym = bfd_make_empty_symbol (input_bfd);
if (!newsym) if (!newsym)
return FALSE; return FALSE;
newsym->name = input_bfd->filename; newsym->name = bfd_get_filename (input_bfd);
newsym->value = 0; newsym->value = 0;
newsym->flags = BSF_LOCAL | BSF_FILE; newsym->flags = BSF_LOCAL | BSF_FILE;
newsym->section = sec; newsym->section = sec;

View File

@ -6075,12 +6075,12 @@ bfd_mach_o_follow_dsym (bfd *abfd)
if (abfd->my_archive && !bfd_is_thin_archive (abfd->my_archive)) if (abfd->my_archive && !bfd_is_thin_archive (abfd->my_archive))
base_bfd = abfd->my_archive; base_bfd = abfd->my_archive;
/* BFD may have been opened from a stream. */ /* BFD may have been opened from a stream. */
if (base_bfd->filename == NULL) if (bfd_get_filename (base_bfd) == NULL)
{ {
bfd_set_error (bfd_error_invalid_operation); bfd_set_error (bfd_error_invalid_operation);
return NULL; return NULL;
} }
base_basename = lbasename (base_bfd->filename); base_basename = lbasename (bfd_get_filename (base_bfd));
uuid_cmd = bfd_mach_o_lookup_uuid_command (abfd); uuid_cmd = bfd_mach_o_lookup_uuid_command (abfd);
if (uuid_cmd == NULL) if (uuid_cmd == NULL)
@ -6090,14 +6090,14 @@ bfd_mach_o_follow_dsym (bfd *abfd)
It seems apple's GDB checks all files in the dSYM bundle directory. It seems apple's GDB checks all files in the dSYM bundle directory.
http://opensource.apple.com/source/gdb/gdb-1708/src/gdb/macosx/macosx-tdep.c http://opensource.apple.com/source/gdb/gdb-1708/src/gdb/macosx/macosx-tdep.c
*/ */
dsym_filename = (char *)bfd_malloc (strlen (base_bfd->filename) dsym_filename = (char *)bfd_malloc (strlen (bfd_get_filename (base_bfd))
+ strlen (dsym_subdir) + 1 + strlen (dsym_subdir) + 1
+ strlen (base_basename) + 1); + strlen (base_basename) + 1);
if (dsym_filename == NULL) if (dsym_filename == NULL)
return NULL; return NULL;
sprintf (dsym_filename, "%s%s/%s", sprintf (dsym_filename, "%s%s/%s",
base_bfd->filename, dsym_subdir, base_basename); bfd_get_filename (base_bfd), dsym_subdir, base_basename);
dsym_bfd = bfd_mach_o_find_dsym (dsym_filename, uuid_cmd, dsym_bfd = bfd_mach_o_find_dsym (dsym_filename, uuid_cmd,
bfd_get_arch_info (abfd)); bfd_get_arch_info (abfd));
@ -6175,8 +6175,8 @@ bfd_mach_o_close_and_cleanup (bfd *abfd)
but it is small, and happens when we are closing down, so it but it is small, and happens when we are closing down, so it
should not matter too much. */ should not matter too much. */
char *dsym_filename = (char *)(fat_bfd char *dsym_filename = (char *)(fat_bfd
? fat_bfd->filename ? bfd_get_filename (fat_bfd)
: mdata->dsym_bfd->filename); : bfd_get_filename (mdata->dsym_bfd));
#endif #endif
bfd_close (mdata->dsym_bfd); bfd_close (mdata->dsym_bfd);
mdata->dsym_bfd = NULL; mdata->dsym_bfd = NULL;

View File

@ -126,8 +126,7 @@ _bfd_delete_bfd (bfd *abfd)
objalloc_free ((struct objalloc *) abfd->memory); objalloc_free ((struct objalloc *) abfd->memory);
} }
if (abfd->filename) free ((char *) bfd_get_filename (abfd));
free ((char *) abfd->filename);
free (abfd->arelt_data); free (abfd->arelt_data);
free (abfd); free (abfd);
} }
@ -709,7 +708,7 @@ _maybe_make_executable (bfd * abfd)
{ {
struct stat buf; struct stat buf;
if (stat (abfd->filename, &buf) == 0 if (stat (bfd_get_filename (abfd), &buf) == 0
/* Do not attempt to change non-regular files. This is /* Do not attempt to change non-regular files. This is
here especially for configure scripts and kernel builds here especially for configure scripts and kernel builds
which run tests with "ld [...] -o /dev/null". */ which run tests with "ld [...] -o /dev/null". */
@ -718,7 +717,7 @@ _maybe_make_executable (bfd * abfd)
unsigned int mask = umask (0); unsigned int mask = umask (0);
umask (mask); umask (mask);
chmod (abfd->filename, chmod (bfd_get_filename (abfd),
(0777 (0777
& (buf.st_mode | ((S_IXUSR | S_IXGRP | S_IXOTH) &~ mask)))); & (buf.st_mode | ((S_IXUSR | S_IXGRP | S_IXOTH) &~ mask))));
} }
@ -1400,7 +1399,7 @@ find_separate_debug_file (bfd * abfd,
debug_file_directory = "."; debug_file_directory = ".";
/* BFD may have been opened from a stream. */ /* BFD may have been opened from a stream. */
if (abfd->filename == NULL) if (bfd_get_filename (abfd) == NULL)
{ {
bfd_set_error (bfd_error_invalid_operation); bfd_set_error (bfd_error_invalid_operation);
return NULL; return NULL;
@ -1420,8 +1419,9 @@ find_separate_debug_file (bfd * abfd,
if (include_dirs) if (include_dirs)
{ {
for (dirlen = strlen (abfd->filename); dirlen > 0; dirlen--) const char *fname = bfd_get_filename (abfd);
if (IS_DIR_SEPARATOR (abfd->filename[dirlen - 1])) for (dirlen = strlen (fname); dirlen > 0; dirlen--)
if (IS_DIR_SEPARATOR (fname[dirlen - 1]))
break; break;
dir = (char *) bfd_malloc (dirlen + 1); dir = (char *) bfd_malloc (dirlen + 1);
@ -1430,7 +1430,7 @@ find_separate_debug_file (bfd * abfd,
free (base); free (base);
return NULL; return NULL;
} }
memcpy (dir, abfd->filename, dirlen); memcpy (dir, fname, dirlen);
dir[dirlen] = '\0'; dir[dirlen] = '\0';
} }
else else
@ -1442,7 +1442,7 @@ find_separate_debug_file (bfd * abfd,
/* Compute the canonical name of the bfd object with all symbolic links /* Compute the canonical name of the bfd object with all symbolic links
resolved, for use in the global debugfile directory. */ resolved, for use in the global debugfile directory. */
canon_dir = lrealpath (abfd->filename); canon_dir = lrealpath (bfd_get_filename (abfd));
for (canon_dirlen = strlen (canon_dir); canon_dirlen > 0; canon_dirlen--) for (canon_dirlen = strlen (canon_dir); canon_dirlen > 0; canon_dirlen--)
if (IS_DIR_SEPARATOR (canon_dir[canon_dirlen - 1])) if (IS_DIR_SEPARATOR (canon_dir[canon_dirlen - 1]))
break; break;
@ -1909,7 +1909,7 @@ get_build_id_name (bfd *abfd, void *build_id_out_p)
bfd_size_type s; bfd_size_type s;
bfd_byte *d; bfd_byte *d;
if (abfd == NULL || abfd->filename == NULL || build_id_out == NULL) if (abfd == NULL || bfd_get_filename (abfd) == NULL || build_id_out == NULL)
{ {
bfd_set_error (bfd_error_invalid_operation); bfd_set_error (bfd_error_invalid_operation);
return NULL; return NULL;

View File

@ -2225,7 +2225,7 @@ NAME (aout, find_nearest_line) (bfd *abfd,
size_t filelen, funclen; size_t filelen, funclen;
char *buf; char *buf;
*filename_ptr = abfd->filename; *filename_ptr = bfd_get_filename (abfd);
*functionname_ptr = 0; *functionname_ptr = 0;
*line_ptr = 0; *line_ptr = 0;
if (discriminator_ptr) if (discriminator_ptr)
@ -4037,13 +4037,14 @@ aout_link_write_symbols (struct aout_final_link_info *flaginfo, bfd *input_bfd)
discarding such symbols. */ discarding such symbols. */
if (strip != strip_all if (strip != strip_all
&& (strip != strip_some && (strip != strip_some
|| bfd_hash_lookup (flaginfo->info->keep_hash, input_bfd->filename, || bfd_hash_lookup (flaginfo->info->keep_hash,
bfd_get_filename (input_bfd),
FALSE, FALSE) != NULL) FALSE, FALSE) != NULL)
&& discard != discard_all) && discard != discard_all)
{ {
H_PUT_8 (output_bfd, N_TEXT, outsym->e_type); H_PUT_8 (output_bfd, N_TEXT, outsym->e_type);
strtab_index = add_to_stringtab (output_bfd, flaginfo->strtab, strtab_index = add_to_stringtab (output_bfd, flaginfo->strtab,
input_bfd->filename, FALSE); bfd_get_filename (input_bfd), FALSE);
if (strtab_index == (bfd_size_type) -1) if (strtab_index == (bfd_size_type) -1)
return FALSE; return FALSE;
PUT_WORD (output_bfd, strtab_index, outsym->e_strx); PUT_WORD (output_bfd, strtab_index, outsym->e_strx);

View File

@ -197,7 +197,7 @@ bfd_plugin_open_input (bfd *ibfd, struct ld_plugin_input_file *file)
while (iobfd->my_archive while (iobfd->my_archive
&& !bfd_is_thin_archive (iobfd->my_archive)) && !bfd_is_thin_archive (iobfd->my_archive))
iobfd = iobfd->my_archive; iobfd = iobfd->my_archive;
file->name = iobfd->filename; file->name = bfd_get_filename (iobfd);
if (!iobfd->iostream && !bfd_open_file (iobfd)) if (!iobfd->iostream && !bfd_open_file (iobfd))
return 0; return 0;

View File

@ -759,11 +759,11 @@ rs6000coff_core_file_matches_executable_p (bfd *core_bfd, bfd *exec_bfd)
} }
str1 = strrchr (path, '/'); str1 = strrchr (path, '/');
str2 = strrchr (exec_bfd->filename, '/'); str2 = strrchr (bfd_get_filename (exec_bfd), '/');
/* step over character '/' */ /* step over character '/' */
str1 = str1 != NULL ? str1 + 1 : path; str1 = str1 != NULL ? str1 + 1 : path;
str2 = str2 != NULL ? str2 + 1 : exec_bfd->filename; str2 = str2 != NULL ? str2 + 1 : bfd_get_filename (exec_bfd);
if (strcmp (str1, str2) == 0) if (strcmp (str1, str2) == 0)
ret = TRUE; ret = TRUE;

View File

@ -6660,7 +6660,7 @@ som_write_armap (bfd *abfd,
unsigned int module_count; unsigned int module_count;
/* We'll use this for the archive's date and mode later. */ /* We'll use this for the archive's date and mode later. */
if (stat (abfd->filename, &statbuf) != 0) if (stat (bfd_get_filename (abfd), &statbuf) != 0)
{ {
bfd_set_error (bfd_error_system_call); bfd_set_error (bfd_error_system_call);
return FALSE; return FALSE;

View File

@ -1015,15 +1015,15 @@ srec_write_record (bfd *abfd,
static bfd_boolean static bfd_boolean
srec_write_header (bfd *abfd) srec_write_header (bfd *abfd)
{ {
unsigned int len = strlen (abfd->filename); unsigned int len = strlen (bfd_get_filename (abfd));
/* I'll put an arbitrary 40 char limit on header size. */ /* I'll put an arbitrary 40 char limit on header size. */
if (len > 40) if (len > 40)
len = 40; len = 40;
return srec_write_record (abfd, 0, (bfd_vma) 0, return srec_write_record (abfd, 0, (bfd_vma) 0,
(bfd_byte *) abfd->filename, (bfd_byte *) bfd_get_filename (abfd),
(bfd_byte *) abfd->filename + len); (bfd_byte *) bfd_get_filename (abfd) + len);
} }
static bfd_boolean static bfd_boolean
@ -1089,9 +1089,9 @@ srec_write_symbols (bfd *abfd)
bfd_size_type len; bfd_size_type len;
asymbol **table = bfd_get_outsymbols (abfd); asymbol **table = bfd_get_outsymbols (abfd);
len = strlen (abfd->filename); len = strlen (bfd_get_filename (abfd));
if (bfd_bwrite ("$$ ", (bfd_size_type) 3, abfd) != 3 if (bfd_bwrite ("$$ ", (bfd_size_type) 3, abfd) != 3
|| bfd_bwrite (abfd->filename, len, abfd) != len || bfd_bwrite (bfd_get_filename (abfd), len, abfd) != len
|| bfd_bwrite ("\r\n", (bfd_size_type) 2, abfd) != 2) || bfd_bwrite ("\r\n", (bfd_size_type) 2, abfd) != 2)
return FALSE; return FALSE;

View File

@ -1491,7 +1491,7 @@ bfd *
_bfd_vms_lib_get_imagelib_file (bfd *el) _bfd_vms_lib_get_imagelib_file (bfd *el)
{ {
bfd *archive = el->my_archive; bfd *archive = el->my_archive;
const char *modname = el->filename; const char *modname = bfd_get_filename (el);
int modlen = strlen (modname); int modlen = strlen (modname);
char *filename; char *filename;
int j; int j;
@ -1517,7 +1517,7 @@ _bfd_vms_lib_get_imagelib_file (bfd *el)
{ {
/* xgettext:c-format */ /* xgettext:c-format */
_bfd_error_handler(_("could not open shared image '%s' from '%s'"), _bfd_error_handler(_("could not open shared image '%s' from '%s'"),
filename, archive->filename); filename, bfd_get_filename (archive));
bfd_release (archive, filename); bfd_release (archive, filename);
return NULL; return NULL;
} }
@ -2152,7 +2152,7 @@ _bfd_vms_lib_write_archive_contents (bfd *arch)
unsigned int nl; unsigned int nl;
modules[i].abfd = current; modules[i].abfd = current;
modules[i].name = vms_get_module_name (current->filename, FALSE); modules[i].name = vms_get_module_name (bfd_get_filename (current), FALSE);
modules[i].ref = 1; modules[i].ref = 1;
/* FIXME: silently truncate long names ? */ /* FIXME: silently truncate long names ? */

View File

@ -1000,7 +1000,7 @@ xcoff_link_add_dynamic_symbols (bfd *abfd, struct bfd_link_info *info)
if (abfd->my_archive == NULL || bfd_is_thin_archive (abfd->my_archive)) if (abfd->my_archive == NULL || bfd_is_thin_archive (abfd->my_archive))
{ {
if (!bfd_xcoff_split_import_path (abfd, abfd->filename, if (!bfd_xcoff_split_import_path (abfd, bfd_get_filename (abfd),
&n->path, &n->file)) &n->path, &n->file))
return FALSE; return FALSE;
n->member = ""; n->member = "";
@ -1013,7 +1013,8 @@ xcoff_link_add_dynamic_symbols (bfd *abfd, struct bfd_link_info *info)
if (!archive_info->impfile) if (!archive_info->impfile)
{ {
if (!bfd_xcoff_split_import_path (archive_info->archive, if (!bfd_xcoff_split_import_path (archive_info->archive,
archive_info->archive->filename, bfd_get_filename (archive_info
->archive),
&archive_info->imppath, &archive_info->imppath,
&archive_info->impfile)) &archive_info->impfile))
return FALSE; return FALSE;