forked from Imagelibrary/binutils-gdb
* gcore.c: Include solib.h.
(gcore_create_callback): Call solib_keep_data_in_core when considering not saving memory in core file. * solib-svr4.c (svr4_keep_data_in_core): New. (_initialize_svr4_solib): Initialize svr4_so_ops.keep_data_in_core. * solib.c (solib_keep_data_in_core): New. * solib.h (solib_keep_data_in_core): Declare. * solist.h (struct target_so_ops): Add keep_data_in_core.
This commit is contained in:
17
gdb/solib.c
17
gdb/solib.c
@@ -948,6 +948,23 @@ solib_name_from_address (struct program_space *pspace, CORE_ADDR address)
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* Return whether the data starting at VADDR, size SIZE, must be kept
|
||||
in a core file for shared libraries loaded before "gcore" is used
|
||||
to be handled correctly when the core file is loaded. This only
|
||||
applies when the section would otherwise not be kept in the core
|
||||
file (in particular, for readonly sections). */
|
||||
|
||||
int
|
||||
solib_keep_data_in_core (CORE_ADDR vaddr, unsigned long size)
|
||||
{
|
||||
struct target_so_ops *ops = solib_ops (target_gdbarch);
|
||||
|
||||
if (ops->keep_data_in_core)
|
||||
return ops->keep_data_in_core (vaddr, size);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Called by free_all_symtabs */
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user