This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA] gcore: ignore no protection segments


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)
     {



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]