--- /dev/null
+Index: gdb-7.2.50.20110107/gdb/gcore.c
+===================================================================
+--- gdb-7.2.50.20110107.orig/gdb/gcore.c 2011-01-05 23:22:49.000000000 +0100
++++ gdb-7.2.50.20110107/gdb/gcore.c 2011-01-07 09:04:28.000000000 +0100
+@@ -534,8 +534,14 @@ gcore_copy_callback (bfd *obfd, asection
+ if (size > total_size)
+ size = total_size;
+
++ /* Warn if read error occurs except if we were trying to read the
++ first page for ia64. The first page is marked readable, but it cannot
++ be read. */
+ if (target_read_memory (bfd_section_vma (obfd, osec) + offset,
+- memhunk, size) != 0)
++ memhunk, size) != 0
++ && (strcmp (gdbarch_bfd_arch_info (target_gdbarch)->arch_name,
++ "ia64")
++ || bfd_section_vma (obfd, osec) != 0))
+ {
+ warning (_("Memory read failed for corefile "
+ "section, %s bytes at %s."),