Don't include libbfd.h outside of bfd, part 4
authorAlan Modra <amodra@gmail.com>
Sat, 16 Jul 2016 03:59:35 +0000 (13:29 +0930)
committerAlan Modra <amodra@gmail.com>
Sat, 16 Jul 2016 03:59:35 +0000 (13:29 +0930)
Not much to see here, just renaming a function.

bfd/
* targets.c (bfd_seach_for_target): Rename to..
(bfd_iterate_over_targets): ..this.  Rewrite doc.
* bfd-in2.h: Regenerate.
ld/
* ldlang.c (open_output): Replace bfd_search_for_target with
bfd_iterate_over_targets.  Localize vars.

bfd/ChangeLog
bfd/bfd-in2.h
bfd/targets.c
ld/ChangeLog
ld/ldlang.c

index ba678b6..bf79618 100644 (file)
@@ -1,5 +1,11 @@
 2016-07-16  Alan Modra  <amodra@gmail.com>
 
+       * targets.c (bfd_seach_for_target): Rename to..
+       (bfd_iterate_over_targets): ..this.  Rewrite doc.
+       * bfd-in2.h: Regenerate.
+
+2016-07-16  Alan Modra  <amodra@gmail.com>
+
        * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
        * libbfd.h: Regenerate.
        * bfd-in2.h: Regenerate.
index 8b12547..f9f0e26 100644 (file)
@@ -7555,9 +7555,9 @@ const bfd_target *bfd_get_target_info (const char *target_name,
     const char **def_target_arch);
 const char ** bfd_target_list (void);
 
-const bfd_target *bfd_search_for_target
-   (int (*search_func) (const bfd_target *, void *),
-    void *);
+const bfd_target *bfd_iterate_over_targets
+   (int (*func) (const bfd_target *, void *),
+    void *data);
 
 const char *bfd_flavour_name (enum bfd_flavour flavour);
 
index a9edd4c..19d442a 100644 (file)
@@ -1815,29 +1815,28 @@ bfd_target_list (void)
 
 /*
 FUNCTION
-       bfd_seach_for_target
+       bfd_iterate_over_targets
 
 SYNOPSIS
-       const bfd_target *bfd_search_for_target
-         (int (*search_func) (const bfd_target *, void *),
-          void *);
+       const bfd_target *bfd_iterate_over_targets
+         (int (*func) (const bfd_target *, void *),
+          void *data);
 
 DESCRIPTION
-       Return a pointer to the first transfer vector in the list of
-       transfer vectors maintained by BFD that produces a non-zero
-       result when passed to the function @var{search_func}.  The
-       parameter @var{data} is passed, unexamined, to the search
-       function.
+       Call @var{func} for each target in the list of BFD target
+       vectors, passing @var{data} to @var{func}.  Stop iterating if
+       @var{func} returns a non-zero result, and return that target
+       vector.  Return NULL if @var{func} always returns zero.
 */
 
 const bfd_target *
-bfd_search_for_target (int (*search_func) (const bfd_target *, void *),
-                      void *data)
+bfd_iterate_over_targets (int (*func) (const bfd_target *, void *),
+                         void *data)
 {
-  const bfd_target * const *target;
+  const bfd_target *const *target;
 
-  for (target = bfd_target_vector; *target != NULL; target ++)
-    if (search_func (*target, data))
+  for (target = bfd_target_vector; *target != NULL; ++target)
+    if (func (*target, data))
       return *target;
 
   return NULL;
index b7be656..e4026ec 100644 (file)
@@ -1,5 +1,10 @@
 2016-07-16  Alan Modra  <amodra@gmail.com>
 
+       * ldlang.c (open_output): Replace bfd_search_for_target with
+       bfd_iterate_over_targets.  Localize vars.
+
+2016-07-16  Alan Modra  <amodra@gmail.com>
+
        * ldlang.c: Don't include libbfd.h.
        * emultempl/nds32elf.em: Likewise.
        * emultempl/ppc64elf.em: Likewise.
index 82d5582..aee8720 100644 (file)
@@ -3113,15 +3113,15 @@ open_output (const char *name)
      line?  */
   if (command_line.endian != ENDIAN_UNSET)
     {
-      const bfd_target *target;
-      enum bfd_endian desired_endian;
-
       /* Get the chosen target.  */
-      target = bfd_search_for_target (get_target, (void *) output_target);
+      const bfd_target *target
+       = bfd_iterate_over_targets (get_target, (void *) output_target);
 
       /* If the target is not supported, we cannot do anything.  */
       if (target != NULL)
        {
+         enum bfd_endian desired_endian;
+
          if (command_line.endian == ENDIAN_BIG)
            desired_endian = BFD_ENDIAN_BIG;
          else
@@ -3143,8 +3143,8 @@ open_output (const char *name)
                  /* Try to find a target as similar as possible to
                     the default target, but which has the desired
                     endian characteristic.  */
-                 bfd_search_for_target (closest_target_match,
-                                        (void *) target);
+                 bfd_iterate_over_targets (closest_target_match,
+                                           (void *) target);
 
                  /* Oh dear - we could not find any targets that
                     satisfy our requirements.  */