From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6612 invoked by alias); 20 Jul 2010 20:13:30 -0000 Received: (qmail 6603 invoked by uid 22791); 20 Jul 2010 20:13:29 -0000 X-SWARE-Spam-Status: No, hits=-5.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,TW_OC,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 20 Jul 2010 20:13:24 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o6KKDHE9003555 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 20 Jul 2010 16:13:17 -0400 Received: from host1.dyn.jankratochvil.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o6KKDEMW025915 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 20 Jul 2010 16:13:16 -0400 Received: from host1.dyn.jankratochvil.net (localhost [127.0.0.1]) by host1.dyn.jankratochvil.net (8.14.4/8.14.4) with ESMTP id o6KKDDsV020741; Tue, 20 Jul 2010 22:13:13 +0200 Received: (from jkratoch@localhost) by host1.dyn.jankratochvil.net (8.14.4/8.14.4/Submit) id o6KKDBwF020740; Tue, 20 Jul 2010 22:13:11 +0200 Date: Tue, 20 Jul 2010 20:13:00 -0000 From: Jan Kratochvil To: Ulrich Weigand Cc: Tom Tromey , Pierre Muller , gdb-patches@sourceware.org, "'Eli Zaretskii'" Subject: [patch] testsuite: regression on failed charset.exp compilation [Re: [RFA-v3] Allow explicit 16 or 32 char in 'x /s'] Message-ID: <20100720201310.GA17005@host1.dyn.jankratochvil.net> References: <201007051017.o65AHXIE004417@d12av02.megacenter.de.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201007051017.o65AHXIE004417@d12av02.megacenter.de.ibm.com> User-Agent: Mutt/1.5.20 (2009-12-10) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-07/txt/msg00315.txt.bz2 On Mon, 05 Jul 2010 12:17:33 +0200, Ulrich Weigand wrote: > Tom Tromey wrote: > > >>>>> "Ulrich" =3D=3D Ulrich Weigand writes: > > Ulrich> * gdb.base/charset.c (main): Make sure malloc gets linked in. > > With this patch I now get: > > Running ../../../src/gdb/testsuite/gdb.base/charset.exp ... > > gdb compile failed, ../../../src/gdb/testsuite/gdb.base/charset.c: In function 'main': > > ../../../src/gdb/testsuite/gdb.base/charset.c:126: warning: incompatible implicit declaration of built-in function 'malloc' [...] > Can we split the testcase so that the parts that require the > non-standard wchar_t definition are separate from the parts > that construct strings in the inferior? Implemented. OK to check-in? This is a regression since gdb-7.1. Testfile tested on x86_64-fedora13-linux-gnu. While the malloc() result gets ignored warning gets generated only with _FORTIFY_SOURCE level > 0 so we probably do not have to care about in the gdb testsuite. Thanks, Jan 2010-07-20 Jan Kratochvil Ulrich Weigand Tom Tromey * gdb.base/charset-malloc.c: New file. * gdb.base/charset.c (malloc_stub): New prototype. (main): Call it instead of malloc itself. * gdb.base/charset.exp: Use only prepare_for_testing. (binfile): Remove the variable. --- /dev/null +++ b/gdb/testsuite/gdb.base/charset-malloc.c @@ -0,0 +1,35 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2010 Free Software Foundation, Inc. + + Contributed by Red Hat, originally written by Jim Blandy. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + Please email any bugs, comments, and/or additions to this file to: + bug-gdb@gnu.org */ + +/* charset.c file cannot use a system include file as it has its own wchar_t + definition which would be in a conflict. Use this separate compilation + unit. */ + +#include + +void +malloc_stub (void) +{ + /* charset.exp wants to allocate memory for constants. So make sure malloc + gets linked into the program. */ + malloc (1); +} --- a/gdb/testsuite/gdb.base/charset.c +++ b/gdb/testsuite/gdb.base/charset.c @@ -114,6 +114,8 @@ init_utf32 () utf_32_string[i] = iso_8859_1_string[i] & 0xff; } +extern void malloc_stub (void); + int main () { #ifdef usestubs @@ -121,9 +123,7 @@ int main () breakpoint(); #endif - /* charset.exp wants to allocate memory for constants. So make sure malloc - gets linked into the program. */ - malloc (1); + malloc_stub (); /* Initialize ascii_string. */ init_string (ascii_string, --- a/gdb/testsuite/gdb.base/charset.exp +++ b/gdb/testsuite/gdb.base/charset.exp @@ -27,18 +27,11 @@ if $tracelevel then { set testfile "charset" set srcfile ${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { - untested "couldn't compile ${srcdir}/${subdir}/${srcfile}" +set srcmallocfile ${testfile}-malloc.c +if { [prepare_for_testing ${testfile}.exp ${testfile} [list $srcfile $srcmallocfile]] } { return -1 } -# Start with a fresh gdb. -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - # Parse the output from a `show charset' command. Return the host # and target charset as a two-element list. proc parse_show_charset_output {testname} {