This is the mail archive of the gdb-patches@sourceware.org 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]

[PATCH 12/14] -Wmissing-prototypes: Hook linux_has_shared_address_space.


$ make -j8 1>/dev/null
../../src/gdb/linux-tdep.c:177:1: error: no previous prototype for âlinux_has_shared_address_spaceâ [-Werror=missing-prototypes]
cc1: all warnings being treated as errors

This function isn't used today, but only because I had missed hooking
it, it seems.  This should make GDB handle multi-process breakpoints
better on non-MMU systems, though I haven't tried this in years.  Let
me know if you want to test this, or if this ends up causing any
trouble.  I ran the testsuite on x86_64 Fedora, with
linux_has_shared_address_space force-hacked to return 1, and
watchpoint-multi showed regressions, which were actually expected, as
they were caused by GDB thinking watchpoints on both processes only
needed to be inserted once (because they were at the same addresses),
which should be true on a non-MMU system.

2012-02-29  Pedro Alves  <palves@redhat.com>

	* linux-tdep.c (linux_has_shared_address_space): Make static.  Add
	gdbarch parameter.
	(linux_init_abi): Install it as has_shared_address_space gdbarch
	callback.
---
 gdb/linux-tdep.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
index 3ab98c7..1aee071 100644
--- a/gdb/linux-tdep.c
+++ b/gdb/linux-tdep.c
@@ -173,8 +173,8 @@ linux_get_siginfo_type (struct gdbarch *gdbarch)
   return siginfo_type;
 }
 
-int
-linux_has_shared_address_space (void)
+static int
+linux_has_shared_address_space (struct gdbarch *gdbarch)
 {
   /* Determine whether we are running on uClinux or normal Linux
      kernel.  */
@@ -860,6 +860,8 @@ linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   set_gdbarch_info_proc (gdbarch, linux_info_proc);
   set_gdbarch_find_memory_regions (gdbarch, linux_find_memory_regions);
   set_gdbarch_make_corefile_notes (gdbarch, linux_make_corefile_notes_1);
+  set_gdbarch_has_shared_address_space (gdbarch,
+					linux_has_shared_address_space);
 }
 
 void


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