forked from Imagelibrary/binutils-gdb
Add an option to the archiver to add a section recording library dependencies.
* ar.c (long_options): Add --record-libdeps. (usage): Mention the new option. (decode_options): Handle the new option. (replace_members): If necessary, create a bfd to hold the libdeps description. * binemul.c (ar_emul_append_bfd): New function. (ar_emul_replace_bfd): New function. (ar_emul_default_append): Replace file_name and target arguments with new_bfd argument. (ar_emul_default_replace): Likewise. * binemul.h: Update prototypes. (struct bin_emulation_xfer_struct): Update fields. * doc/binutils.texi: Document the new option. * NEWS: Mention the new feature. * emul_aix.c (ar_emul_aix_append): Update. (ar_emul_aix_replace): Likewise. * testsuite/binutils-all/ar.exp: Add test of new feature.
This commit is contained in:
@@ -30,15 +30,19 @@ extern void ar_emul_usage (FILE *);
|
||||
extern void ar_emul_default_usage (FILE *);
|
||||
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 *,
|
||||
extern bfd_boolean ar_emul_append_bfd (bfd **, bfd *,
|
||||
bfd_boolean, bfd_boolean);
|
||||
extern bfd_boolean ar_emul_default_append (bfd **, bfd *,
|
||||
bfd_boolean, bfd_boolean);
|
||||
extern bfd_boolean do_ar_emul_append (bfd **, bfd *,
|
||||
bfd_boolean, bfd_boolean,
|
||||
bfd_boolean (*)(bfd *));
|
||||
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_replace_bfd (bfd **, bfd *,
|
||||
bfd_boolean);
|
||||
extern bfd_boolean ar_emul_default_replace (bfd **, bfd *,
|
||||
bfd_boolean);
|
||||
extern bfd_boolean ar_emul_parse_arg (char *);
|
||||
extern bfd_boolean ar_emul_default_parse_arg (char *);
|
||||
|
||||
@@ -61,9 +65,8 @@ typedef struct bin_emulation_xfer_struct
|
||||
{
|
||||
/* Print out the extra options. */
|
||||
void (* ar_usage) (FILE *fp);
|
||||
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_append) (bfd **, bfd *, bfd_boolean, bfd_boolean);
|
||||
bfd_boolean (* ar_replace) (bfd **, bfd *, bfd_boolean);
|
||||
bfd_boolean (* ar_parse_arg) (char *);
|
||||
}
|
||||
bin_emulation_xfer_type;
|
||||
|
||||
Reference in New Issue
Block a user