From: Simon Marchi Date: Thu, 16 May 2024 21:04:13 +0000 (-0400) Subject: gdb: pass program space to entry_point_address X-Git-Tag: binutils-2_43~112 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d1e4438fa183c92487d18b7ccfbe0c10166709d9;p=thirdparty%2Fbinutils-gdb.git gdb: pass program space to entry_point_address Make the current program space reference bubble up one level. Change-Id: Ifc9b8186abaefb10caf99f79ae09e526fa65c882 Approved-By: Tom Tromey Reviewed-By: Thiago Jung Bauermann --- diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c index 9491107ecff..4fc1ea1dc46 100644 --- a/gdb/arc-tdep.c +++ b/gdb/arc-tdep.c @@ -861,7 +861,7 @@ arc_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, struct regcache *regcache) { *real_pc = funaddr; - *bp_addr = entry_point_address (); + *bp_addr = entry_point_address (current_program_space); return sp; } diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c index 83e29470bf7..fb5634d5fa0 100644 --- a/gdb/arch-utils.c +++ b/gdb/arch-utils.c @@ -56,7 +56,7 @@ displaced_step_at_entry_point (struct gdbarch *gdbarch) CORE_ADDR addr; int bp_len; - addr = entry_point_address (); + addr = entry_point_address (current_program_space); /* Inferior calls also use the entry point as a breakpoint location. We don't want displaced stepping to interfere with those diff --git a/gdb/infcall.c b/gdb/infcall.c index edac9a74179..559fcb7f9a6 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -1271,7 +1271,7 @@ call_function_by_hand_dummy (struct value *function, CORE_ADDR dummy_addr; real_pc = funaddr; - dummy_addr = entry_point_address (); + dummy_addr = entry_point_address (current_program_space); /* A call dummy always consists of just a single breakpoint, so its address is the same as the address of the dummy. diff --git a/gdb/objfiles.c b/gdb/objfiles.c index b9333b6c9f4..f54813d9f8f 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -360,14 +360,14 @@ entry_point_address_query (program_space *pspace, CORE_ADDR *entry_p) return 1; } -/* Get current entry point address. Call error if it is not known. */ +/* See objfiles.h. */ CORE_ADDR -entry_point_address (void) +entry_point_address (program_space *pspace) { CORE_ADDR retval; - if (!entry_point_address_query (current_program_space, &retval)) + if (!entry_point_address_query (pspace, &retval)) error (_("Entry point address is not known.")); return retval; diff --git a/gdb/objfiles.h b/gdb/objfiles.h index 45a06ec6a9e..9143fbf4a91 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -918,7 +918,9 @@ obj_section::set_offset (CORE_ADDR offset) extern int entry_point_address_query (program_space *pspace, CORE_ADDR *entry_p); -extern CORE_ADDR entry_point_address (void); +/* Get the entry point address in PSPACE. Call error if it is not known. */ + +extern CORE_ADDR entry_point_address (program_space *pspace); extern void build_objfile_section_table (struct objfile *);