aboutsummaryrefslogtreecommitdiff
path: root/binutils/binemul.c
diff options
context:
space:
mode:
Diffstat (limited to 'binutils/binemul.c')
-rw-r--r--binutils/binemul.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/binutils/binemul.c b/binutils/binemul.c
index 2931bda..35587db 100644
--- a/binutils/binemul.c
+++ b/binutils/binemul.c
@@ -39,19 +39,19 @@ ar_emul_default_usage (FILE *fp)
}
bfd_boolean
-ar_emul_append (bfd **after_bfd, char *file_name, bfd_boolean verbose,
- bfd_boolean flatten)
+ar_emul_append (bfd **after_bfd, char *file_name, const char *target,
+ bfd_boolean verbose, bfd_boolean flatten)
{
if (bin_dummy_emulation.ar_append)
- return bin_dummy_emulation.ar_append (after_bfd, file_name, verbose,
- flatten);
+ return bin_dummy_emulation.ar_append (after_bfd, file_name, target,
+ verbose, flatten);
return FALSE;
}
static bfd_boolean
do_ar_emul_default_append (bfd **after_bfd, bfd *new_bfd,
- bfd_boolean verbose, bfd_boolean flatten)
+ bfd_boolean verbose, bfd_boolean flatten)
{
/* When flattening, add the members of an archive instead of the
archive itself. */
@@ -84,32 +84,35 @@ do_ar_emul_default_append (bfd **after_bfd, bfd *new_bfd,
bfd_boolean
ar_emul_default_append (bfd **after_bfd, char *file_name,
- bfd_boolean verbose, bfd_boolean flatten)
+ const char *target, bfd_boolean verbose,
+ bfd_boolean flatten)
{
bfd *new_bfd;
- new_bfd = bfd_openr (file_name, NULL);
+ new_bfd = bfd_openr (file_name, target);
AR_EMUL_ELEMENT_CHECK (new_bfd, file_name);
return do_ar_emul_default_append (after_bfd, new_bfd, verbose, flatten);
}
bfd_boolean
-ar_emul_replace (bfd **after_bfd, char *file_name, bfd_boolean verbose)
+ar_emul_replace (bfd **after_bfd, char *file_name, const char *target,
+ bfd_boolean verbose)
{
if (bin_dummy_emulation.ar_replace)
- return bin_dummy_emulation.ar_replace (after_bfd, file_name, verbose);
+ return bin_dummy_emulation.ar_replace (after_bfd, file_name,
+ target, verbose);
return FALSE;
}
bfd_boolean
ar_emul_default_replace (bfd **after_bfd, char *file_name,
- bfd_boolean verbose)
+ const char *target, bfd_boolean verbose)
{
bfd *temp;
temp = *after_bfd;
- *after_bfd = bfd_openr (file_name, NULL);
+ *after_bfd = bfd_openr (file_name, target);
AR_EMUL_ELEMENT_CHECK (*after_bfd, file_name);
AR_EMUL_REPLACE_PRINT_VERBOSE (verbose, file_name);