aboutsummaryrefslogtreecommitdiff
path: root/gdb/gcore.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2009-12-01 22:46:15 +0000
committerJoseph Myers <joseph@codesourcery.com>2009-12-01 22:46:15 +0000
commitde18c1d81e0722779ce942110fb271e94db9635b (patch)
tree9e9c8edb06dd77c05617f2d55ba4c7c5bdc6789a /gdb/gcore.c
parent16af530a6fd6d33174ae322fb1739bcbcbeaf96d (diff)
downloadgdb-de18c1d81e0722779ce942110fb271e94db9635b.zip
gdb-de18c1d81e0722779ce942110fb271e94db9635b.tar.gz
gdb-de18c1d81e0722779ce942110fb271e94db9635b.tar.bz2
* 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.
Diffstat (limited to 'gdb/gcore.c')
-rw-r--r--gdb/gcore.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/gcore.c b/gdb/gcore.c
index d1f8b49..6d6ca47 100644
--- a/gdb/gcore.c
+++ b/gdb/gcore.c
@@ -24,6 +24,7 @@
#include "inferior.h"
#include "gdbcore.h"
#include "objfiles.h"
+#include "solib.h"
#include "symfile.h"
#include "arch-utils.h"
#include "completer.h"
@@ -389,7 +390,7 @@ gcore_create_callback (CORE_ADDR vaddr, unsigned long size,
return 0;
}
- if (write == 0)
+ if (write == 0 && !solib_keep_data_in_core (vaddr, size))
{
/* See if this region of memory lies inside a known file on disk.
If so, we can avoid copying its contents by clearing SEC_LOAD. */