Don't include libbfd.h outside of bfd, part 4
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.
This commit is contained in:
parent
16412c3bc4
commit
4212b42d79
5 changed files with 33 additions and 23 deletions
|
@ -1,3 +1,9 @@
|
|||
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.
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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 *),
|
||||
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;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
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.
|
||||
|
|
10
ld/ldlang.c
10
ld/ldlang.c
|
@ -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,7 +3143,7 @@ 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,
|
||||
bfd_iterate_over_targets (closest_target_match,
|
||||
(void *) target);
|
||||
|
||||
/* Oh dear - we could not find any targets that
|
||||
|
|
Loading…
Reference in a new issue