From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omta001.cacentral1.a.cloudfilter.net (omta001.cacentral1.a.cloudfilter.net [3.97.99.32]) by sourceware.org (Postfix) with ESMTPS id 4232E3858D32 for ; Sun, 17 Sep 2023 15:57:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4232E3858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=Shaw.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=shaw.ca Received: from shw-obgw-4001a.ext.cloudfilter.net ([10.228.9.142]) by cmsmtp with ESMTP id hoMRqcZkbLAoIhu8qq3jSu; Sun, 17 Sep 2023 15:57:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=shaw.ca; s=s20180605; t=1694966220; bh=BneuNZZbw0TeMhWxp5hvlQUNR+LeBHeq0STVPZO5Y+0=; h=Date:Reply-To:Subject:To:References:Cc:From:In-Reply-To; b=XNcQTya+pBI/Hq5eI9lhsxZH8GOiM52/qxLhtwZej9XlC4YBPZRoncAVkdkpqCkP7 CFetLuRCieqIREMuT/RrGY3R4U18qC7yAWW47xLN+Bah6UtP3D0epkl4Jqw2+Z5YGu Cjwvu1A6AsUlTpbqDKrOwhZmA90AUEZoEf+mleaSecjcHEusWGwOVzI7uF8a2FNBfJ yKUU98r5ZgBdaGvcLXzn3IZgrRjjakSnUIRu3niqQUtKNp0855jYW0SFngBt5EjObo MTxyJgrm8ktQcX2QGRIhE98DYrwUAmiUK+rWi3Lm/4dW8EKYYELFIFYTnJZS42YCze mJttceehB0Pqw== Received: from [10.0.0.5] ([184.64.102.149]) by cmsmtp with ESMTP id hu8pq3qyKHFsOhu8qqwJhw; Sun, 17 Sep 2023 15:57:00 +0000 X-Authority-Analysis: v=2.4 cv=XZqaca15 c=1 sm=1 tr=0 ts=650721cc a=DxHlV3/gbUaP7LOF0QAmaA==:117 a=DxHlV3/gbUaP7LOF0QAmaA==:17 a=IkcTkHD0fZMA:10 a=NEAV23lmAAAA:8 a=H846fXMoBhFswP3NpPkA:9 a=QEXdDO2ut3YA:10 Message-ID: Date: Sun, 17 Sep 2023 09:56:59 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Reply-To: cygwin-apps@cygwin.com Subject: Re: cygport may not create debug info if top directory contains a symlink Content-Language: en-CA To: cygwin-apps@cygwin.com References: <9bc07a5f-86d9-76ee-f45d-e1956c9035f8@t-online.de> Cc: Christian Franke From: Brian Inglis Organization: Inglis In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4xfDbXK/j4IW0GNkSZeuGcxKa/XunGs7m+XwcCcBHgEJThIUccdoX7vpNq1CJpR5x13QCf9YTr6AY4+tHZTajJTCI3Q8t0+1kUzjvh0pMrR6vg8T+GxTfM wC628B1IEog/cJhJ4Ps8LlBvckfomIXMpivn66iCmjORBpaCQHqQ71mewIUp372ld8+lSGK2tesc2v4QuPhPf8AcjyjuDqxXFfB8L/FETA88xBqZfBenI5ZI X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2023-09-17 08:01, Jon Turney via Cygwin-apps wrote: > On 16/09/2023 15:17, Christian Franke via Cygwin wrote: >> Found during tests of busybox package: >> If the path of the top build directory contains a symlink and the project's >> build scripts normalize pathnames, no debug info is created by cygport. >> >> This is because options like >>   -fdebug-prefix-map=${B}=/usr/src/debug/${PF} >> have no effect because ${B} contains a symlink but the compiler is run with >> the real source path. > > I think that there was some historical bug with gcc where a relative path for > the old path in this mapping wasn't correctly handled, which is why were using > an absolute path here at all. > > So changing it to something like [1] (if that works), might be better. > > [1] > https://github.com/jon-turney/cygport/commit/4175d456a9184c5cdebd8bfb4b5ba30583cedd66 > > Sidenote: we should probably also be using file-prefix-map, now we're on a gcc > which supports it. > >> The postinstall code then does not find any line number info with source path >> /usr/src/debug/${PF}/... >> >> Could be fixed easily in line 414 of /bin/cygport: >> >> -declare -r top=$(cd ${_topdir}; pwd); >> +declare -r top=$(cd ${_topdir}; /bin/pwd); > > Can you explain why this makes a difference? In cygport, pwd is a bash builtin defaulting to -L; /bin/pwd defaults to -P. Both commands support both options and we might expect the same output. It would be better to use builtin `pwd -P` if that produces the correct result. An STC script which creates test dirs to demonstrate the issue and show the alternative outputs would be nice so anyone can see. >> No patch provided because I'm not sure whether this has other negative side >> effects. >> >> If this is the case, it possibly makes sense to print a warning if "$(pwd)" != >> "$(/bin/pwd)". > > This is not unreasonable, and I would take a patch doing this, as there have > been places in cygport where there are bugs handling that in the past (and > probably still are some, since it's not something that gets tested often). -- Take care. Thanks, Brian Inglis Calgary, Alberta, Canada La perfection est atteinte Perfection is achieved non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut -- Antoine de Saint-Exupéry