summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gnu/usr.bin/binutils/gdb/i386/tm.h11
-rw-r--r--gnu/usr.bin/gdb/gdb/tm.h11
2 files changed, 14 insertions, 8 deletions
diff --git a/gnu/usr.bin/binutils/gdb/i386/tm.h b/gnu/usr.bin/binutils/gdb/i386/tm.h
index 5ad8e76..6f5fc91 100644
--- a/gnu/usr.bin/binutils/gdb/i386/tm.h
+++ b/gnu/usr.bin/binutils/gdb/i386/tm.h
@@ -61,10 +61,13 @@ extern CORE_ADDR fbsd_kern_frame_saved_pc (struct frame_info *);
: read_memory_integer ((FRAME)->frame + 4, 4)) \
))
-/* Sigtramp is not the same address as BSD/OS.. */
+/* On FreeBSD, sigtramp has size 0x18 and is immediately below the
+ ps_strings struct which has size 0x10 and is at the top of the
+ user stack. */
+
#undef SIGTRAMP_START
#undef SIGTRAMP_END
-#define SIGTRAMP_START 0xefbfdfc0
-#define SIGTRAMP_END 0xefbfe000
+#define SIGTRAMP_START 0xefbfdfd8
+#define SIGTRAMP_END 0xefbfdff0
-#endif /* TM_FBSD_H */
+#endif /* ifndef TM_FBSD_H */
diff --git a/gnu/usr.bin/gdb/gdb/tm.h b/gnu/usr.bin/gdb/gdb/tm.h
index 5ad8e76..6f5fc91 100644
--- a/gnu/usr.bin/gdb/gdb/tm.h
+++ b/gnu/usr.bin/gdb/gdb/tm.h
@@ -61,10 +61,13 @@ extern CORE_ADDR fbsd_kern_frame_saved_pc (struct frame_info *);
: read_memory_integer ((FRAME)->frame + 4, 4)) \
))
-/* Sigtramp is not the same address as BSD/OS.. */
+/* On FreeBSD, sigtramp has size 0x18 and is immediately below the
+ ps_strings struct which has size 0x10 and is at the top of the
+ user stack. */
+
#undef SIGTRAMP_START
#undef SIGTRAMP_END
-#define SIGTRAMP_START 0xefbfdfc0
-#define SIGTRAMP_END 0xefbfe000
+#define SIGTRAMP_START 0xefbfdfd8
+#define SIGTRAMP_END 0xefbfdff0
-#endif /* TM_FBSD_H */
+#endif /* ifndef TM_FBSD_H */
OpenPOWER on IntegriCloud