From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 114281 invoked by alias); 4 Nov 2015 21:30:37 -0000 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 Received: (qmail 114233 invoked by uid 89); 4 Nov 2015 21:30:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 X-HELO: rock.gnat.com Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Wed, 04 Nov 2015 21:30:33 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id E822329969; Wed, 4 Nov 2015 16:30:30 -0500 (EST) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id knjLQnGEUGG3; Wed, 4 Nov 2015 16:30:30 -0500 (EST) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id B90702971E; Wed, 4 Nov 2015 16:30:30 -0500 (EST) Received: by joel.gnat.com (Postfix, from userid 1000) id 5AEDE446B0; Wed, 4 Nov 2015 13:30:29 -0800 (PST) Date: Wed, 04 Nov 2015 21:30:00 -0000 From: Joel Brobecker To: Fei Jie Cc: gdb-patches@sourceware.org Subject: Re: [PATCH 1/3] Add testcases for examine function Message-ID: <20151104213029.GO4009@adacore.com> References: <1446620987-4140-1-git-send-email-feij.fnst@cn.fujitsu.com> <1446620987-4140-2-git-send-email-feij.fnst@cn.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1446620987-4140-2-git-send-email-feij.fnst@cn.fujitsu.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SW-Source: 2015-11/txt/msg00160.txt.bz2 On Wed, Nov 04, 2015 at 03:09:45PM +0800, Fei Jie wrote: > use examine to display the content of main function's address > in different formats and examine address that can not be accessed As explained in our submission procedures, this change is missing a ChangeLog entry. > diff --git a/gdb/testsuite/gdb.base/testexamine.exp b/gdb/testsuite/gdb.base/testexamine.exp > new file mode 100644 > index 0000000..16d916d > --- /dev/null > +++ b/gdb/testsuite/gdb.base/testexamine.exp *ALL* new files must have a copyright header. For .exp files, suggest you just copy it from another file, and fix the copyright year as appropriate (year range from when the file was first saved on hard drive). > @@ -0,0 +1,42 @@ > +if {[prepare_for_testing testprint.exp testprint display.c \ > + {debug nowarnings}]} { > + untested testprint.exp > + return -1 > + > +if ![runto_main] then { > + fail "Can not run to main." > +} As mentioned in a previous message, please take a look at how we prefer tests to be built: https://sourceware.org/gdb/wiki/GDBTestcaseCookbook#Building_the_Example_Program In particular, use "standard_testfile", and lose the untested. See also the block on we "runto_main" (we don't use "fail" in this case). > +#Get main address We follow the GNU Coding Standards (GCS): http://www.gnu.org/prep/standards/standards.html So, could you please add a space after the "#", and also terminate all sentences with a period? # Get main's address. > +set main_addr "" > +gdb_test_multiple "print/x &main" "getting main's address" { > + -re "$decimal = \($hex\)\r\n$gdb_prompt $" { > + set main_addr $expect_out(1,string) > + } > +} > + > +#Test x(examine) > +gdb_test "x" \ > + "Argument required.*" > +gdb_test "x/x $main_addr" \ > + ".*
.*0xe5894855" I am afraid that this isn't going to work for anyone by you, and only when using your very specific compiler. You're expecting the compiler to compile the code in such a way that the first word of the function is 0xe5894855, which is not always true. Better, IMO, to do this using a variable, either global or local, whose content is well known. > +gdb_test "x 0x000000000000" \ > + "Cannot access memory at address 0x0" This, unfortunately, is not guaranteed to work either. Some targets allow reading at this address. I would just remove that test. > +gdb_exit > +return 0 This is also unnecessary. -- Joel