Automatic date update in version.in
[binutils-gdb.git] / binutils / binemul.c
index 894a915716ce39eaec167e93f2c7ad8346c15f99..7f6b72d8773fe8e7e9c1788ce07f6a8d8eeecb6e 100644 (file)
@@ -1,5 +1,5 @@
 /* Binutils emulation layer.
 /* Binutils emulation layer.
-   Copyright (C) 2002-2019 Free Software Foundation, Inc.
+   Copyright (C) 2002-2022 Free Software Foundation, Inc.
    Written by Tom Rix, Red Hat Inc.
 
    This file is part of GNU Binutils.
    Written by Tom Rix, Red Hat Inc.
 
    This file is part of GNU Binutils.
@@ -38,42 +38,57 @@ ar_emul_default_usage (FILE *fp)
   fprintf (fp, _("  No emulation specific options\n"));
 }
 
   fprintf (fp, _("  No emulation specific options\n"));
 }
 
-bfd_boolean
+bool
 ar_emul_append (bfd **after_bfd, char *file_name, const char *target,
 ar_emul_append (bfd **after_bfd, char *file_name, const char *target,
-               bfd_boolean verbose, bfd_boolean flatten)
+               bool verbose, bool flatten)
 {
 {
+  bfd *new_bfd;
+
+  new_bfd = bfd_openr (file_name, target);
+  AR_EMUL_ELEMENT_CHECK (new_bfd, file_name);
   if (bin_dummy_emulation.ar_append)
   if (bin_dummy_emulation.ar_append)
-    return bin_dummy_emulation.ar_append (after_bfd, file_name, target,
+    return bin_dummy_emulation.ar_append (after_bfd, new_bfd,
                                          verbose, flatten);
 
                                          verbose, flatten);
 
-  return FALSE;
+  return false;
 }
 
 }
 
-static bfd_boolean
+bool
+ar_emul_append_bfd (bfd **after_bfd, bfd *new_bfd,
+               bool verbose, bool flatten)
+{
+  if (bin_dummy_emulation.ar_append)
+    return bin_dummy_emulation.ar_append (after_bfd, new_bfd,
+                                         verbose, flatten);
+
+  return false;
+}
+
+static bool
 any_ok (bfd *new_bfd ATTRIBUTE_UNUSED)
 {
 any_ok (bfd *new_bfd ATTRIBUTE_UNUSED)
 {
-  return TRUE;
+  return true;
 }
 
 }
 
-bfd_boolean
+bool
 do_ar_emul_append (bfd **after_bfd, bfd *new_bfd,
 do_ar_emul_append (bfd **after_bfd, bfd *new_bfd,
-                  bfd_boolean verbose, bfd_boolean flatten,
-                  bfd_boolean (*check) (bfd *))
+                  bool verbose, bool flatten,
+                  bool (*check) (bfd *))
 {
   /* When flattening, add the members of an archive instead of the
      archive itself.  */
   if (flatten && bfd_check_format (new_bfd, bfd_archive))
     {
       bfd *elt;
 {
   /* When flattening, add the members of an archive instead of the
      archive itself.  */
   if (flatten && bfd_check_format (new_bfd, bfd_archive))
     {
       bfd *elt;
-      bfd_boolean added = FALSE;
+      bool added = false;
 
       for (elt = bfd_openr_next_archived_file (new_bfd, NULL);
            elt;
            elt = bfd_openr_next_archived_file (new_bfd, elt))
         {
 
       for (elt = bfd_openr_next_archived_file (new_bfd, NULL);
            elt;
            elt = bfd_openr_next_archived_file (new_bfd, elt))
         {
-          if (do_ar_emul_append (after_bfd, elt, verbose, TRUE, check))
+          if (do_ar_emul_append (after_bfd, elt, verbose, true, check))
             {
             {
-              added = TRUE;
+              added = true;
               after_bfd = &((*after_bfd)->archive_next);
             }
         }
               after_bfd = &((*after_bfd)->archive_next);
             }
         }
@@ -82,67 +97,73 @@ do_ar_emul_append (bfd **after_bfd, bfd *new_bfd,
     }
 
   if (!check (new_bfd))
     }
 
   if (!check (new_bfd))
-    return FALSE;
+    return false;
 
 
-  AR_EMUL_APPEND_PRINT_VERBOSE (verbose, new_bfd->filename);
+  AR_EMUL_APPEND_PRINT_VERBOSE (verbose, bfd_get_filename (new_bfd));
 
   new_bfd->archive_next = *after_bfd;
   *after_bfd = new_bfd;
 
 
   new_bfd->archive_next = *after_bfd;
   *after_bfd = new_bfd;
 
-  return TRUE;
+  return true;
 }
 
 }
 
-bfd_boolean
-ar_emul_default_append (bfd **after_bfd, char *file_name,
-                       const char *target, bfd_boolean verbose,
-                       bfd_boolean flatten)
+bool
+ar_emul_default_append (bfd **after_bfd, bfd *new_bfd,
+                       bool verbose, bool flatten)
 {
 {
-  bfd *new_bfd;
-
-  new_bfd = bfd_openr (file_name, target);
-  AR_EMUL_ELEMENT_CHECK (new_bfd, file_name);
   return do_ar_emul_append (after_bfd, new_bfd, verbose, flatten, any_ok);
 }
 
   return do_ar_emul_append (after_bfd, new_bfd, verbose, flatten, any_ok);
 }
 
-bfd_boolean
+bool
 ar_emul_replace (bfd **after_bfd, char *file_name, const char *target,
 ar_emul_replace (bfd **after_bfd, char *file_name, const char *target,
-                bfd_boolean verbose)
+                bool verbose)
 {
 {
+  bfd *new_bfd;
+
+  new_bfd = bfd_openr (file_name, target);
+  AR_EMUL_ELEMENT_CHECK (new_bfd, file_name);
+
   if (bin_dummy_emulation.ar_replace)
   if (bin_dummy_emulation.ar_replace)
-    return bin_dummy_emulation.ar_replace (after_bfd, file_name,
-                                          target, verbose);
+    return bin_dummy_emulation.ar_replace (after_bfd, new_bfd,
+                                          verbose);
 
 
-  return FALSE;
+  return false;
 }
 
 }
 
-bfd_boolean
-ar_emul_default_replace (bfd **after_bfd, char *file_name,
-                        const char *target, bfd_boolean verbose)
+bool
+ar_emul_replace_bfd (bfd **after_bfd, bfd *new_bfd,
+                bool verbose)
 {
 {
-  bfd *new_bfd;
+  if (bin_dummy_emulation.ar_replace)
+    return bin_dummy_emulation.ar_replace (after_bfd, new_bfd,
+                                          verbose);
 
 
-  new_bfd = bfd_openr (file_name, target);
-  AR_EMUL_ELEMENT_CHECK (new_bfd, file_name);
+  return false;
+}
 
 
-  AR_EMUL_REPLACE_PRINT_VERBOSE (verbose, file_name);
+bool
+ar_emul_default_replace (bfd **after_bfd, bfd *new_bfd,
+                        bool verbose)
+{
+  AR_EMUL_REPLACE_PRINT_VERBOSE (verbose, bfd_get_filename (new_bfd));
 
   new_bfd->archive_next = *after_bfd;
   *after_bfd = new_bfd;
 
 
   new_bfd->archive_next = *after_bfd;
   *after_bfd = new_bfd;
 
-  return TRUE;
+  return true;
 }
 
 }
 
-bfd_boolean
+bool
 ar_emul_parse_arg (char *arg)
 {
   if (bin_dummy_emulation.ar_parse_arg)
     return bin_dummy_emulation.ar_parse_arg (arg);
 
 ar_emul_parse_arg (char *arg)
 {
   if (bin_dummy_emulation.ar_parse_arg)
     return bin_dummy_emulation.ar_parse_arg (arg);
 
-  return FALSE;
+  return false;
 }
 
 }
 
-bfd_boolean
+bool
 ar_emul_default_parse_arg (char *arg ATTRIBUTE_UNUSED)
 {
 ar_emul_default_parse_arg (char *arg ATTRIBUTE_UNUSED)
 {
-  return FALSE;
+  return false;
 }
 }