This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: RFC: Short circuit bfd_map_over_sections
- From: Ian Lance Taylor <ian at wasabisystems dot com>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: binutils at sources dot redhat dot com
- Date: 29 Apr 2004 20:12:39 -0400
- Subject: Re: RFC: Short circuit bfd_map_over_sections
- References: <20040430000133.GA27737@lucon.org>
"H. J. Lu" <hjl@lucon.org> writes:
> bfd_map_over_sections is used to call a function on each section in
> a bfd. However, there are many places where bfd_map_over_sections
> is called to find something. It isn't necessary to go through all
> sections once it is found. I'd like to modify bfd_map_over_sections to
>
> void
> bfd_map_over_sections (bfd *abfd,
> bfd_boolean (*operation) (bfd *, asection *, void *),
> void *user_storage)
> {
> asection *sect;
>
> for (sect = abfd->sections; sect != NULL; i++, sect = sect->next)
> if (!(*operation) (abfd, sect, user_storage))
> break;
> }
>
> Any comments?
I don't think it would be wise to change bfd_map_over_sections at this
point. It is widely used, including by GDB. A lot of code would have
to changed to have the function argument return true.
I think that, unfortunately, we should add a new function for this.
Ian