diff options
author | Pedro Alves <pedro@palves.net> | 2022-05-12 18:58:38 +0100 |
---|---|---|
committer | Pedro Alves <pedro@palves.net> | 2022-05-20 20:41:01 +0100 |
commit | 960bc2bd1402bb5e8312e731d6a7f6fe2b6a9863 (patch) | |
tree | aff30b1e20a126c1acb744b6989de77ed62947b5 /gdb/elfread.c | |
parent | 92bb0228c8293ec78c0efcd556b1f115b6e1b3f4 (diff) | |
download | gdb-960bc2bd1402bb5e8312e731d6a7f6fe2b6a9863.zip gdb-960bc2bd1402bb5e8312e731d6a7f6fe2b6a9863.tar.gz gdb-960bc2bd1402bb5e8312e731d6a7f6fe2b6a9863.tar.bz2 |
Move add_location(sal) to base_breakpoint
After the previous patches, only base_breakpoint subclasses use
add_location(sal), so we can move it to base_breakpoint (a.k.a. base
class for code breakpoints).
This requires a few casts here and there, but always at spots where
you can see from context what the breakpoint's type actually is.
I inlined new_single_step_breakpoint into its only caller exactly for
this reason.
I did try to propagate more use of base_breakpoint to avoid casts, but
that turned out unwieldy for this patch.
Change-Id: I49d959322b0fdce5a88a216bb44730fc5dd7c6f8
Diffstat (limited to 'gdb/elfread.c')
-rw-r--r-- | gdb/elfread.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c index b136c60..2720372 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -927,7 +927,7 @@ elf_gnu_ifunc_resolve_addr (struct gdbarch *gdbarch, CORE_ADDR pc) /* Handle inferior hit of bp_gnu_ifunc_resolver, see its definition. */ static void -elf_gnu_ifunc_resolver_stop (struct breakpoint *b) +elf_gnu_ifunc_resolver_stop (base_breakpoint *b) { struct breakpoint *b_return; struct frame_info *prev_frame = get_prev_frame (get_current_frame ()); @@ -978,7 +978,7 @@ elf_gnu_ifunc_resolver_stop (struct breakpoint *b) /* Handle inferior hit of bp_gnu_ifunc_resolver_return, see its definition. */ static void -elf_gnu_ifunc_resolver_return_stop (struct breakpoint *b) +elf_gnu_ifunc_resolver_return_stop (base_breakpoint *b) { thread_info *thread = inferior_thread (); struct gdbarch *gdbarch = get_frame_arch (get_current_frame ()); @@ -1008,7 +1008,7 @@ elf_gnu_ifunc_resolver_return_stop (struct breakpoint *b) "gnu-indirect-function breakpoint type %d"), (int) b->type); } - b = b_next; + b = (base_breakpoint *) b_next; } gdb_assert (b->type == bp_gnu_ifunc_resolver); gdb_assert (b->loc->next == NULL); |