From 492d5973f09a803b6829c5c7d0dde6ea0c77fbfd Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 15 Sep 2010 17:10:15 +0000 Subject: Pass "plugin" as target for "ar --plugin" when opening a BFD file. 2010-09-15 H.J. Lu * ar.c (plugin_target): New. (main): Set plugin_target to "plugin" for --plugin. (open_inarch): Initialize target to plugin_target. (replace_members): Pass plugin_target to ar_emul_replace and ar_emul_append. * binemul.h (ar_emul_append): Add a target argument. (ar_emul_default_append): Likewise. (ar_emul_replace): Likewise. (ar_emul_default_replace): Likewise. (bin_emulation_xfer_struct): Add a target argument to ar_append and ar_replace. * binemul.c (ar_emul_append): Updated. Pass target to bfd_openr. (do_ar_emul_default_append): Likewise. (ar_emul_default_append): Likewise. (ar_emul_replace): Likewise. (ar_emul_default_replace): Likewise. --- binutils/binemul.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'binutils/binemul.h') diff --git a/binutils/binemul.h b/binutils/binemul.h index 1b02015..f85cc09 100644 --- a/binutils/binemul.h +++ b/binutils/binemul.h @@ -28,11 +28,14 @@ extern void ar_emul_usage (FILE *); extern void ar_emul_default_usage (FILE *); -extern bfd_boolean ar_emul_append (bfd **, char *, bfd_boolean, bfd_boolean); -extern bfd_boolean ar_emul_default_append (bfd **, char *, bfd_boolean, - bfd_boolean); -extern bfd_boolean ar_emul_replace (bfd **, char *, bfd_boolean); -extern bfd_boolean ar_emul_default_replace (bfd **, char *, bfd_boolean); +extern bfd_boolean ar_emul_append (bfd **, char *, const char *, + bfd_boolean, bfd_boolean); +extern bfd_boolean ar_emul_default_append (bfd **, char *, const char *, + bfd_boolean, bfd_boolean); +extern bfd_boolean ar_emul_replace (bfd **, char *, const char *, + bfd_boolean); +extern bfd_boolean ar_emul_default_replace (bfd **, char *, + const char *, bfd_boolean); extern bfd_boolean ar_emul_parse_arg (char *); extern bfd_boolean ar_emul_default_parse_arg (char *); @@ -55,8 +58,9 @@ typedef struct bin_emulation_xfer_struct { /* Print out the extra options. */ void (* ar_usage) (FILE *fp); - bfd_boolean (* ar_append) (bfd **, char *, bfd_boolean, bfd_boolean); - bfd_boolean (* ar_replace) (bfd **, char *, bfd_boolean); + bfd_boolean (* ar_append) (bfd **, char *, const char *, bfd_boolean, + bfd_boolean); + bfd_boolean (* ar_replace) (bfd **, char *, const char *, bfd_boolean); bfd_boolean (* ar_parse_arg) (char *); } bin_emulation_xfer_type; -- cgit v1.1