PR 11804
	* defs.h (find_memory_region_ftype): New comment.  New arg modified.
	* fbsd-nat.c (fbsd_find_memory_regions): Add the passed modified value.
	* gcore.c (gcore_create_callback): New function comment.  Add modified
	parameter.  Only write modified regions.  Set SEC_READONLY exactly
	according to MODIFIED.
	(objfile_find_memory_regions): Ignore separate debug info files.  Ass
	the passed modified value to FUNC.
	* gnu-nat.c (gnu_find_memory_regions): Add the passed modified value.
	* linux-tdep.c (linux_find_memory_regions): Try to reads smaps file
	first.  New variables modified and has_anonymous.  Parse the lines of
	smaps file.  Add the passed MODIFIED value to FUNC.
	* procfs.c (find_memory_regions_callback): Add the passed modified
	value.

gdb/testsuite/
	PR 11804
	* gdb.base/gcore-relro.exp: New file.
	* gdb.base/gcore-relro-main.c: New file.
	* gdb.base/gcore-relro-lib.c: New file.
This commit is contained in:
Jan Kratochvil 2012-08-07 13:26:33 +00:00
parent 82435b3b3d
commit 4f69f4c267
11 changed files with 219 additions and 12 deletions

View file

@ -362,9 +362,14 @@ extern void init_source_path (void);
/* From exec.c */
/* Process memory area starting at ADDR with length SIZE. Area is readable iff
READ is non-zero, writable if WRITE is non-zero, executable if EXEC is
non-zero. Area is possibly changed against its original file based copy if
MODIFIED is non-zero. DATA is passed without changes from a caller. */
typedef int (*find_memory_region_ftype) (CORE_ADDR addr, unsigned long size,
int read, int write, int exec,
void *data);
int modified, void *data);
/* Take over the 'find_mapped_memory' vector from exec.c. */
extern void exec_set_find_memory_regions