From: Tom Tromey Date: Sat, 19 Sep 2020 17:54:49 +0000 (-0600) Subject: Use gdb_bfd_sections in get_stap_base_address X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3cabfd268b2d2301a8bfcfa124c162a1d45cfc68;p=binutils-gdb.git Use gdb_bfd_sections in get_stap_base_address This changes get_stap_base_address to avoid bfd_map_over_sections, in favor of iteration. gdb/ChangeLog 2020-09-19 Tom Tromey * stap-probe.c (get_stap_base_address_1): Remove. (get_stap_base_address): Use foreach. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8b898140a71..b320735fb5a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-09-19 Tom Tromey + + * stap-probe.c (get_stap_base_address_1): Remove. + (get_stap_base_address): Use foreach. + 2020-09-19 Tom Tromey * gdb_bfd.c (free_one_bfd_section): Remove 'abfd' and 'ignore' diff --git a/gdb/stap-probe.c b/gdb/stap-probe.c index 73596446cce..8af3bd7bd8c 100644 --- a/gdb/stap-probe.c +++ b/gdb/stap-probe.c @@ -1578,19 +1578,6 @@ handle_stap_probe (struct objfile *objfile, struct sdt_note *el, probesp->emplace_back (ret); } -/* Helper function which tries to find the base address of the SystemTap - base section named STAP_BASE_SECTION_NAME. */ - -static void -get_stap_base_address_1 (bfd *abfd, asection *sect, void *obj) -{ - asection **ret = (asection **) obj; - - if ((sect->flags & (SEC_DATA | SEC_ALLOC | SEC_HAS_CONTENTS)) - && sect->name && !strcmp (sect->name, STAP_BASE_SECTION_NAME)) - *ret = sect; -} - /* Helper function which iterates over every section in the BFD file, trying to find the base address of the SystemTap base section. Returns 1 if found (setting BASE to the proper value), zero otherwise. */ @@ -1600,7 +1587,10 @@ get_stap_base_address (bfd *obfd, bfd_vma *base) { asection *ret = NULL; - bfd_map_over_sections (obfd, get_stap_base_address_1, (void *) &ret); + for (asection *sect : gdb_bfd_sections (obfd)) + if ((sect->flags & (SEC_DATA | SEC_ALLOC | SEC_HAS_CONTENTS)) + && sect->name && !strcmp (sect->name, STAP_BASE_SECTION_NAME)) + ret = sect; if (ret == NULL) {