This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH obv] Initialize variables in i386_linux_handle_segmentation_fault
- From: Simon Marchi <simon dot marchi at ericsson dot com>
- To: <gdb-patches at sourceware dot org>
- Cc: Simon Marchi <simon dot marchi at ericsson dot com>
- Date: Thu, 25 Feb 2016 11:07:49 -0500
- Subject: [PATCH obv] Initialize variables in i386_linux_handle_segmentation_fault
- Authentication-results: sourceware.org; auth=none
FYI, I just pushed this as obvious.
We see this error when building with gcc 4.3.
../../gdb/i386-linux-tdep.c: In function âi386_linux_handle_segmentation_faultâ:
../../gdb/i386-linux-tdep.c:399: error: âaccessâ may be used uninitialized in this function
../../gdb/i386-linux-tdep.c:399: error: âupper_boundâ may be used uninitialized in this function
../../gdb/i386-linux-tdep.c:399: error: âlower_boundâ may be used uninitialized in this function
It's a false positive, since the variables will always get initialized
in the TRY clause, and the CATCH returns.
gdb/ChangeLog:
* i386-linux-tdep.c (i386_linux_handle_segmentation_fault):
Initialize variables.
---
gdb/ChangeLog | 5 +++++
gdb/i386-linux-tdep.c | 3 ++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index dc12399..00af395 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-25 Simon Marchi <simon.marchi@ericsson.com>
+
+ * i386-linux-tdep.c (i386_linux_handle_segmentation_fault):
+ Initialize variables.
+
2016-02-25 Antoine Tremblay <antoine.tremblay@ericsson.com>
* ax-general.c (ax_reg): Call gdbarch_remote_register_number.
diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c
index 63cda45..42877da 100644
--- a/gdb/i386-linux-tdep.c
+++ b/gdb/i386-linux-tdep.c
@@ -396,7 +396,8 @@ void
i386_linux_handle_segmentation_fault (struct gdbarch *gdbarch,
struct ui_out *uiout)
{
- CORE_ADDR lower_bound, upper_bound, access;
+ /* -Wmaybe-uninitialized */
+ CORE_ADDR lower_bound = 0, upper_bound = 0, access = 0;
int is_upper;
long sig_code = 0;
--
2.5.1