This is the mail archive of the archer@sourceware.org mailing list for the Archer 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]

archer-sergiodj-stap -O2 -Wall warnings=errors


Hi Sergio,

with -O2 (+some -Wall or so options possibly - what applies for Fedora builds)
one gets:

gcc-4.6.0-0.14.fc15.x86_64
stap-probe.c: In function ‘stap_fetch_reg_value’:
stap-probe.c:923:12: error: ‘aop’ may be used uninitialized in this function [-Werror=uninitialized]
stap-probe.c:919:10: error: ‘ret’ may be used uninitialized in this function [-Werror=uninitialized]
stap-probe.c: In function ‘stap_evaluate_conditionally’:
stap-probe.c:1184:3: error: ‘res’ may be used uninitialized in this function [-Werror=uninitialized]

The attached patch needs a review, I have only briefly checked it is not
completely bogus.


Thanks,
Jan


--- a/gdb/stap-probe.c
+++ b/gdb/stap-probe.c
@@ -780,7 +780,9 @@ stap_fetch_reg_value (struct stap_evaluation_info *eval_info,
 #define REG_NAME_MAX_SIZE 20
   char regname[REG_NAME_MAX_SIZE + 1];
   int len, regnum, indirect_p = 0;
-  struct value *ret;
+  /* GCC false warning: ‘ret’ may be used uninitialized in this function
+     */
+  struct value *ret = NULL;
   
   /* The function which called us did not check if the expression
      buffer was empty.  */
@@ -851,7 +853,9 @@ stap_fetch_reg_value (struct stap_evaluation_info *eval_info,
   if (indirect_p)
     {
       struct type *t = NULL;
-      enum agent_op aop;
+      /* GCC false warning: ‘aop’ may be used uninitialized in this function.
+         */
+      enum agent_op aop = 0;
 
       /* If the user has specified that the register must be indirected,
 	 we should know what's the correct type to cast it before making
@@ -949,7 +953,9 @@ stap_evaluate_single_operand (struct stap_evaluation_info *eval_info)
   struct gdbarch *gdbarch = eval_info->gdbarch;
   struct frame_info *frame = eval_info->frame;
   enum stap_arg_bitness bitness = eval_info->bitness;
-  struct value *res;
+  /* GCC false warning: ‘res’ may be used uninitialized in this function
+     */
+  struct value *res = NULL;
 
   switch (*eval_info->exp_buf)
     {


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