[RFA] gcore: ignore no protection segments

Elena Zannoni
2004-01-13T17:01:15Z

This is necessary, otherwise a later read/write to that memory will
jam the kernel.

elena

2004-01-12 Elena Zannoni <ezannoni@redhat.com>

* gcore.c (gcore_create_callback): Skip any memory segment that
has no permissions set.

Index: gcore.c
===================================================================
RCS file: /cvs/src/src/gdb/gcore.c,v
retrieving revision 1.13
diff -u -p -r1.13 gcore.c
--- gcore.c 11 Oct 2003 01:56:53 -0000 1.13
+++ gcore.c 13 Jan 2004 16:50:14 -0000
@@ -1,6 +1,6 @@
/* Generate a core file for the inferior process.

- Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.

This file is part of GDB.

@@ -313,6 +313,17 @@ gcore_create_callback (CORE_ADDR vaddr,
bfd *obfd = data;
asection *osec;
flagword flags = SEC_ALLOC | SEC_HAS_CONTENTS | SEC_LOAD;
+
+ if (read == 0 && write == 0 && exec == 0)
+ {
+ if (info_verbose)
+ {
+ fprintf_filtered (gdb_stdout, "Ignore segment, %lld bytes at 0x%s\n",+ (long long) size, paddr_nz (vaddr));
+ }
+
+ return 0;
+ }

if (write == 0)
{