From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10499 invoked by alias); 4 Jan 2008 20:30:40 -0000 Received: (qmail 10489 invoked by uid 22791); 4 Jan 2008 20:30:39 -0000 X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.45.13) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 04 Jan 2008 20:30:22 +0000 Received: from zps76.corp.google.com (zps76.corp.google.com [172.25.146.76]) by smtp-out.google.com with ESMTP id m04KUHIS024444 for ; Fri, 4 Jan 2008 12:30:17 -0800 Received: from wa-out-1112.google.com (wafl24.prod.google.com [10.114.188.24]) by zps76.corp.google.com with ESMTP id m04KUBnR008512 for ; Fri, 4 Jan 2008 12:30:11 -0800 Received: by wa-out-1112.google.com with SMTP id l24so11208736waf.22 for ; Fri, 04 Jan 2008 12:30:11 -0800 (PST) Received: by 10.114.193.1 with SMTP id q1mr3078508waf.75.1199478611322; Fri, 04 Jan 2008 12:30:11 -0800 (PST) Received: by 10.115.107.7 with HTTP; Fri, 4 Jan 2008 12:30:11 -0800 (PST) Message-ID: Date: Fri, 04 Jan 2008 20:30:00 -0000 From: "Doug Evans" To: "Aleksandar Ristovski" Subject: Re: gdb_realpath: dealing with ./ and ../ Cc: "Daniel Jacobowitz" , gdb@sourceware.org, "Ryan Mansfield" , "Joel Brobecker" In-Reply-To: <2F6320727174C448A52CEB63D85D11F40A4E@nova.ott.qnx.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_44818_12985790.1199478611317" References: <2F6320727174C448A52CEB63D85D11F40A4E@nova.ott.qnx.com> X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-01/txt/msg00026.txt.bz2 ------=_Part_44818_12985790.1199478611317 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 767 [fwiw ...] I wonder if things would be cleaner if the path argument to start_subfile (name, dirname) was processed the same as each subfile's path (subfile->name, subfile->dirname). Otherwise it seems like a potential bug source (not necessarily now, but down the road). There (apparently) have been edits to this area of the code in the past that have introduced bugs. i.e. how about writing a utility to process name,dirname and using that utility for both the argument to start_subfile and each subfile in the comparison loop? This patch is untested, I'm just providing a definitive example of the suggestion. Another question: In the case where dirname is prepended to name, should the whole thing be passed to rewrite_source_path, instead of just dirname? ------=_Part_44818_12985790.1199478611317 Content-Type: text/x-patch; name=rewrite-path-2.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fb16l31u0 Content-Disposition: attachment; filename=rewrite-path-2.patch Content-length: 4897 SW5kZXg6IGJ1aWxkc3ltLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg ZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9idWlsZHN5bS5jLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjU5CmRpZmYgLXUgLXAgLWMgLXIxLjU5IGJ1aWxkc3lt LmMKKioqIGJ1aWxkc3ltLmMJMSBKYW4gMjAwOCAyMjo1MzowOSAtMDAwMAkx LjU5Ci0tLSBidWlsZHN5bS5jCTQgSmFuIDIwMDggMjA6MjI6MDAgLTAwMDAK KioqKioqKioqKioqKioqIHN0YXRpYyBzdHJ1Y3Qgb2JzdGFjayBwZW5kaW5n X2FkZHJtYXBfb2IKKioqIDg2LDkxICoqKioKLS0tIDg3LDkzIC0tLS0KICBz dGF0aWMgaW50IHBlbmRpbmdfYWRkcm1hcF9pbnRlcmVzdGluZzsKICAKICAM Cisgc3RhdGljIGNoYXIgKnJld3JpdGVfc3ViZmlsZV9wYXRoIChjaGFyICpu YW1lLCBjaGFyKiBkaXJuYW1lKTsKICBzdGF0aWMgaW50IGNvbXBhcmVfbGlu ZV9udW1iZXJzIChjb25zdCB2b2lkICpsbjFwLCBjb25zdCB2b2lkICpsbjJw KTsKICAMCiAgCioqKioqKioqKioqKioqKiB2b2lkCioqKiA1ODMsNjE3ICoq KioKICBzdGFydF9zdWJmaWxlIChjaGFyICpuYW1lLCBjaGFyICpkaXJuYW1l KQogIHsKICAgIHN0cnVjdCBzdWJmaWxlICpzdWJmaWxlOwogIAogICAgLyog U2VlIGlmIHRoaXMgc3ViZmlsZSBpcyBhbHJlYWR5IGtub3duIGFzIGEgc3Vi ZmlsZSBvZiB0aGUgY3VycmVudAogICAgICAgbWFpbiBzb3VyY2UgZmlsZS4g ICovCiAgCiAgICBmb3IgKHN1YmZpbGUgPSBzdWJmaWxlczsgc3ViZmlsZTsg c3ViZmlsZSA9IHN1YmZpbGUtPm5leHQpCiAgICAgIHsKISAgICAgICBjaGFy ICpzdWJmaWxlX25hbWU7CiEgCiEgICAgICAgLyogSWYgTkFNRSBpcyBhbiBh YnNvbHV0ZSBwYXRoLCBhbmQgdGhpcyBzdWJmaWxlIGlzIG5vdCwgdGhlbgoh IAkgYXR0ZW1wdCB0byBjcmVhdGUgYW4gYWJzb2x1dGUgcGF0aCB0byBjb21w YXJlLiAgKi8KISAgICAgICBpZiAoSVNfQUJTT0xVVEVfUEFUSCAobmFtZSkK ISAJICAmJiAhSVNfQUJTT0xVVEVfUEFUSCAoc3ViZmlsZS0+bmFtZSkKISAJ ICAmJiBzdWJmaWxlLT5kaXJuYW1lICE9IE5VTEwpCiEgCXN1YmZpbGVfbmFt ZSA9IGNvbmNhdCAoc3ViZmlsZS0+ZGlybmFtZSwgU0xBU0hfU1RSSU5HLAoh IAkJCSAgICAgICBzdWJmaWxlLT5uYW1lLCBOVUxMKTsKISAgICAgICBlbHNl CiEgCXN1YmZpbGVfbmFtZSA9IHN1YmZpbGUtPm5hbWU7CiAgCiEgICAgICAg aWYgKEZJTEVOQU1FX0NNUCAoc3ViZmlsZV9uYW1lLCBuYW1lKSA9PSAwKQog IAl7CiAgCSAgY3VycmVudF9zdWJmaWxlID0gc3ViZmlsZTsKISAJICBpZiAo c3ViZmlsZV9uYW1lICE9IHN1YmZpbGUtPm5hbWUpCiEgCSAgICB4ZnJlZSAo c3ViZmlsZV9uYW1lKTsKICAJICByZXR1cm47CiAgCX0KISAgICAgICBpZiAo c3ViZmlsZV9uYW1lICE9IHN1YmZpbGUtPm5hbWUpCiEgCXhmcmVlIChzdWJm aWxlX25hbWUpOwogICAgICB9CiAgCiAgICAvKiBUaGlzIHN1YmZpbGUgaXMg bm90IGtub3duLiAgQWRkIGFuIGVudHJ5IGZvciBpdC4gTWFrZSBhbiBlbnRy eQogICAgICAgZm9yIHRoaXMgc3ViZmlsZSBpbiB0aGUgbGlzdCBvZiBhbGwg c3ViZmlsZXMgb2YgdGhlIGN1cnJlbnQgbWFpbgogICAgICAgc291cmNlIGZp bGUuICAqLwotLS0gNTk5LDYzMCAtLS0tCiAgc3RhcnRfc3ViZmlsZSAoY2hh ciAqbmFtZSwgY2hhciAqZGlybmFtZSkKICB7CiAgICBzdHJ1Y3Qgc3ViZmls ZSAqc3ViZmlsZTsKKyAgIC8qIFJld3JpdHRlbiBOQU1FLCB0eXBpY2FsbHkg YW4gYWJzb2x1dGUgcGF0aCwgdGhhdCBpcyB1c2VkIHRvIGRldGVjdAorICAg ICAgaWRlbnRpY2FsIHN1YmZpbGVzLiAgKi8KKyAgIGNoYXIgKmNvbXBhcmFi bGVfbmFtZTsKKyAKKyAgIGNvbXBhcmFibGVfbmFtZSA9IHJld3JpdGVfc3Vi ZmlsZV9wYXRoIChuYW1lLCBkaXJuYW1lKTsKICAKICAgIC8qIFNlZSBpZiB0 aGlzIHN1YmZpbGUgaXMgYWxyZWFkeSBrbm93biBhcyBhIHN1YmZpbGUgb2Yg dGhlIGN1cnJlbnQKICAgICAgIG1haW4gc291cmNlIGZpbGUuICAqLwogIAog ICAgZm9yIChzdWJmaWxlID0gc3ViZmlsZXM7IHN1YmZpbGU7IHN1YmZpbGUg PSBzdWJmaWxlLT5uZXh0KQogICAgICB7CiEgICAgICAgY2hhciAqc3ViZmls ZV9uYW1lID0gcmV3cml0ZV9zdWJmaWxlX3BhdGggKHN1YmZpbGUtPm5hbWUs CiEgCQkJCQkJIHN1YmZpbGUtPmRpcm5hbWUpOwogIAohICAgICAgIGlmIChG SUxFTkFNRV9DTVAgKHN1YmZpbGVfbmFtZSwgY29tcGFyYWJsZV9uYW1lKSA9 PSAwKQogIAl7CiAgCSAgY3VycmVudF9zdWJmaWxlID0gc3ViZmlsZTsKISAJ ICB4ZnJlZSAoY29tcGFyYWJsZV9uYW1lKTsKISAJICB4ZnJlZSAoc3ViZmls ZV9uYW1lKTsKICAJICByZXR1cm47CiAgCX0KISAgICAgICB4ZnJlZSAoc3Vi ZmlsZV9uYW1lKTsKICAgICAgfQogIAorICAgeGZyZWUgKGNvbXBhcmFibGVf bmFtZSk7CisgCiAgICAvKiBUaGlzIHN1YmZpbGUgaXMgbm90IGtub3duLiAg QWRkIGFuIGVudHJ5IGZvciBpdC4gTWFrZSBhbiBlbnRyeQogICAgICAgZm9y IHRoaXMgc3ViZmlsZSBpbiB0aGUgbGlzdCBvZiBhbGwgc3ViZmlsZXMgb2Yg dGhlIGN1cnJlbnQgbWFpbgogICAgICAgc291cmNlIGZpbGUuICAqLwoqKioq KioqKioqKioqKiogc3RhcnRfc3ViZmlsZSAoY2hhciAqbmFtZSwgY2hhciAq ZGlybmFtZQoqKiogNjgxLDY4NiAqKioqCi0tLSA2OTQsNzI3IC0tLS0KICAg ICAgfQogIH0KICAKKyAvKiBTdWJyb3V0aW5lIG9mIHN0YXJ0X3N1YmZpbGUg dG8gc2ltcGxpZnkgaXQuCisgICAgQ29udmVydCBOQU1FLCBESVJOQU1FIHRv IGEgZm9ybSB0aGF0IGNhbiBiZSB1c2VkIHRvIHdhdGNoIGZvcgorICAgIGlk ZW50aWNhbCBzdWJmaWxlcy4KKyAgICBTcGFjZSBmb3IgdGhlIHJlc3VsdCBp cyBtYWxsb2MnZCwgY2FsbGVyIG11c3QgZnJlZS4gICovCisgCisgc3RhdGlj IGNoYXIgKgorIHJld3JpdGVfc3ViZmlsZV9wYXRoIChjaGFyICpuYW1lLCBj aGFyICpkaXJuYW1lKQorIHsKKyAgIGNoYXIgKnAgPSBuYW1lOworICAgY2hh ciAqcnduYW1lOworIAorICAgaWYgKCEgSVNfQUJTT0xVVEVfUEFUSCAobmFt ZSkKKyAgICAgICAmJiBkaXJuYW1lICE9IE5VTEwpCisgICAgIHAgPSBjb25j YXQgKGRpcm5hbWUsIFNMQVNIX1NUUklORywgbmFtZSwgTlVMTCk7CisgCisg ICByd25hbWUgPSByZXdyaXRlX3NvdXJjZV9wYXRoIChwKTsKKyAKKyAgIGlm IChyd25hbWUgIT0gTlVMTCkKKyAgICAgeworICAgICAgIGlmIChwICE9IG5h bWUpCisgCXhmcmVlIChwKTsKKyAgICAgICByZXR1cm4gcnduYW1lOworICAg ICB9CisgICBpZiAocCAhPSBuYW1lKQorICAgICByZXR1cm4gcDsKKyAgIHJl dHVybiB4c3RyZHVwIChuYW1lKTsKKyB9CisgCiAgLyogRm9yIHN0YWJzIHJl YWRlcnMsIHRoZSBmaXJzdCBOX1NPIHN5bWJvbCBpcyBhc3N1bWVkIHRvIGJl IHRoZQogICAgIHNvdXJjZSBmaWxlIG5hbWUsIGFuZCB0aGUgc3ViZmlsZSBz dHJ1Y3QgaXMgaW5pdGlhbGl6ZWQgdXNpbmcgdGhhdAogICAgIGFzc3VtcHRp b24uICBJZiBhbm90aGVyIE5fU08gc3ltYm9sIGlzIGxhdGVyIHNlZW4sIGlt bWVkaWF0ZWx5Cg== ------=_Part_44818_12985790.1199478611317--