From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 74660 invoked by alias); 2 Nov 2019 17:43:21 -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 74652 invoked by uid 89); 2 Nov 2019 17:43:21 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-17.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,HTML_MESSAGE,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 spammy=H*i:sk:CAPmGMv, H*f:sk:CAPmGMv, aug, Aug X-HELO: pb-smtp20.pobox.com Received: from pb-smtp20.pobox.com (HELO pb-smtp20.pobox.com) (173.228.157.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 02 Nov 2019 17:43:19 +0000 Received: from pb-smtp20.pobox.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id F07FA899A5 for ; Sat, 2 Nov 2019 13:43:17 -0400 (EDT) (envelope-from jonah@kichwacoders.com) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type; s=sasl; bh=DReYB56B9QAd1OFtkMhaHHckozQ=; b=TUug/v eVl31UJSR2jbRrBsU/BpW5BecSg6+otXLo6+oPZmwY7Ak0u0F7BfXZv/4ghwoqS3 dxaspE/w3PGhA67Zwote3KYkfO44r8eWir9+cViiG/L1TvvvViG7whsGxxNIokKY rlab+RXcyosIO9/lZ+COuKM15QzR5Eshps91c= Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id E770E899A4 for ; Sat, 2 Nov 2019 13:43:17 -0400 (EDT) (envelope-from jonah@kichwacoders.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=kichwacoders.com; h=mime-version:references:in-reply-to:from:date:message-id:subject:to:cc:content-type; s=mesmtp; bh=Z5Hc/9HzJr9L9ct6qKZBjv3DSetTYTzYVO6orx5qios=; b=AArmmdIVWnUFqDrGlAbiAbmY69jKM8MxlkWOCNlPd/3B5TGN9lUBvvvunmS7idmjyxHbzx5EVfCKu/ABoSsXMWH7Tlwq5MmZI2dUGKVKFjVvvdr7/XRvQhoytJpOVByWnmAYQ0RhWR1f5JzPlrMAREbov7PsBIRut9tI+Ih10w8= Received: from mail-qt1-f179.google.com (unknown [209.85.160.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 83C5C89999 for ; Sat, 2 Nov 2019 13:43:14 -0400 (EDT) (envelope-from jonah@kichwacoders.com) Received: by mail-qt1-f179.google.com with SMTP id r22so7486761qtt.2 for ; Sat, 02 Nov 2019 10:43:14 -0700 (PDT) MIME-Version: 1.0 References: <20190530170315.9938-1-tromey@adacore.com> <87zhmkme75.fsf@tromey.com> In-Reply-To: From: Jonah Graham Date: Sat, 02 Nov 2019 17:43:00 -0000 Message-ID: Subject: Re: [RFC] Only compute realpath when basenames_may_differ is set To: Tom Tromey Cc: gdb-patches@sourceware.org X-Pobox-Relay-ID: 3F0326C0-FD98-11E9-9E5A-B0405B776F7B-18936988!pb-smtp20.pobox.com Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2019-11/txt/msg00051.txt.bz2 On Thu, 12 Sep 2019 at 13:47, Jonah Graham wrote: > bump. > > > On Mon, 19 Aug 2019 at 15:25, Jonah Graham wrote: > >> >> On Fri, 14 Jun 2019 at 10:31, Tom Tromey wrote: >> >>> I'm checking this in now. >>> >>> Tom >>> >> >> Hi Tom, >> >> This causes an error with Eclipse CDT's default use case. In CDT the >> compile lines are basically "gcc -g -c -o file.o ../file.c" with the pwd >> being a directory under the source: >> >> root/ >> file.c >> Debug/ >> Makefile >> file.o >> program.elf >> >> I have modified the fullname.exp test with a testcase that shows the >> failure, see the patch below. Here is also a short trace of a session >> showing the problem: >> >> /tmp $ mkdir test && cd test >> /tmp/test $ echo 'int main() {}' > testcase.c >> /tmp/test $ mkdir build && cd build >> /tmp/test/build $ gcc -g ../testcase.c -o testcase >> /tmp/test/build $ gdb -q testcase >> Reading symbols from testcase...done. >> (gdb) b /tmp/test/testcase.c:1 >> Breakpoint 1 at 0x603: file ../testcase.c, line 1. >> (gdb) quit >> /tmp/test/build $ /scratch/gdb/binutils-gdb/gdb/gdb -q testcase >> Reading symbols from testcase... >> (gdb) b /tmp/test/testcase.c:1 >> No source file named /tmp/test/testcase.c. >> Make breakpoint pending on future shared library load? (y or [n]) n >> (gdb) quit >> /tmp/test/build $ gdb --version | head -1 >> GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git >> /tmp/test/build $ /scratch/gdb/binutils-gdb/gdb/gdb --version | head -1 >> GNU gdb (GDB) 8.3.50.20190819-git >> >> Thanks, >> Jonah >> >> --- >> gdb/testsuite/gdb.base/fullname.exp | 30 +++++++++++++++++++++++++++++ >> 1 file changed, 30 insertions(+) >> >> diff --git a/gdb/testsuite/gdb.base/fullname.exp >> b/gdb/testsuite/gdb.base/fullname.exp >> index 07d6245d15..e306400b2b 100644 >> --- a/gdb/testsuite/gdb.base/fullname.exp >> +++ b/gdb/testsuite/gdb.base/fullname.exp >> @@ -96,6 +96,36 @@ if { [gdb_breakpoint [standard_output_file >> tmp-${srcfile}]:${line} {no-message}] >> fail $msg >> } >> >> +# Build the test executable using a relative path with /../ . >> +file mkdir [standard_output_file ""]/build >> +with_cwd [standard_output_file ""]/build { >> + if { [gdb_compile ../tmp-${srcfile} \ >> + "${binfile}" executable {debug}] != "" } { >> + return -1 >> + } >> + >> + gdb_exit >> + gdb_start >> + gdb_load ${binfile} >> + >> + set msg "set breakpoint by full path before loading symbols - built >> relative with .." >> + if { [gdb_breakpoint [standard_output_file tmp-${srcfile}]:${line} >> {no-message}] != 0 } { >> + pass $msg >> + } else { >> + fail $msg >> + } >> + >> + gdb_test "break main" \ >> + "Breakpoint.*at.*line.*" "set breakpoint at main - built >> relative with .." >> + >> + set msg "set breakpoint by full path after loading symbols - built >> relative with .." >> + if { [gdb_breakpoint [standard_output_file tmp-${srcfile}]:${line} >> {no-message}] != 0 } { >> + pass $msg >> + } else { >> + fail $msg >> + } >> +} >> + >> # Build the test executable using relative paths not relative to the >> directory >> # we'll run GDB from. >> >> -- >> 2.22.0 >> > Tom de Vries has fixed the behaviour as part of PR24687. Can the testcase I wrote for this case (that best represents CDT's use case) be added to GDB testsuite. The original email with the testcase that can be added to gdb.base/fullname.exp is https://sourceware.org/ml/gdb-patches/2019-08/msg00421.html Thank you, Jonah