From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1202 invoked by alias); 20 Mar 2011 15:27:38 -0000 Mailing-List: contact archer-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: List-Id: Received: (qmail 1193 invoked by uid 22791); 20 Mar 2011 15:27:37 -0000 X-SWARE-Spam-Status: No, hits=-6.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Date: Sun, 20 Mar 2011 15:27:00 -0000 From: Jan Kratochvil To: Sergio Durigan Cc: archer@sourceware.org Subject: archer-sergiodj-stap -O2 -Wall warnings=errors Message-ID: <20110320152726.GA8505@host1.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2011-q1/txt/msg00136.txt.bz2 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) {