From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32199 invoked by alias); 24 Feb 2011 09:50:42 -0000 Received: (qmail 32174 invoked by uid 22791); 24 Feb 2011 09:50:40 -0000 X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST X-Spam-Check-By: sourceware.org Received: from mail-qy0-f176.google.com (HELO mail-qy0-f176.google.com) (209.85.216.176) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 24 Feb 2011 09:50:36 +0000 Received: by qyk30 with SMTP id 30so345628qyk.0 for ; Thu, 24 Feb 2011 01:50:34 -0800 (PST) MIME-Version: 1.0 Received: by 10.229.215.70 with SMTP id hd6mr433413qcb.102.1298541033766; Thu, 24 Feb 2011 01:50:33 -0800 (PST) Received: by 10.229.89.197 with HTTP; Thu, 24 Feb 2011 01:50:33 -0800 (PST) Date: Thu, 24 Feb 2011 09:50:00 -0000 Message-ID: Subject: [patch libiberty include gcc]: PR debug/28047 DWARF output_file_names should really understand DOS pathnames From: Kai Tietz To: GCC Patches , Binutils , gdb-patches@sourceware.org Cc: Jason Merrill , Nick Clifton Content-Type: multipart/mixed; boundary=0016362844b20b3fe0049d042574 X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2011-02/txt/msg00288.txt.bz2 --0016362844b20b3fe0049d042574 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1259 Hello, For this PR (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28047) most things are already fixed. Just one point isn't handled correct for DOS-filesystem. As DOS-filesystem normally uses case-insensitive path/file-names and backslash/slash as path-separators, a comparision of file/path-names via strcmp/strncmp isn't suitable. I found in libiberty, that there is alread the filename_cmp function, which handles it proper. As in source also strncmp is used, I added to libiberty the new function filename_ncmp, which is for none-DOS file-systems just the strncmp function, and for DOS-case an implementation of strncasecmp with special handling for the path-separators. ChangeLog gcc/ 2011-02-24 Kai Tietz PR debug/28047 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp. * dwarf2out.c (lookup_filename): Likewise. * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp. ChangeLog /include 2011-02-24 Kai Tietz * filenames.h (filename_ncmp): New prototype. ChangeLog /libiberty 2011-02-24 Kai Tietz * filename_cmp.c (filename_ncmp): New function. * functions.texi: Regenerated. Tested for i686-pc-mingw32, x86_64-w64-mingw32, and regression-tested for x86_64-pc-linux-gnu. Ok for apply? Regards, Kai --0016362844b20b3fe0049d042574 Content-Type: text/plain; charset=US-ASCII; name="pr28047.txt" Content-Disposition: attachment; filename="pr28047.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gkjhpn1m0 Content-length: 6613 SW5kZXg6IGdjYy9nY2MvZHdhcmYyb3V0LmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ2NjLm9yaWcvZ2NjL2R3YXJmMm91dC5jCTIwMTEtMDItMTIg MTk6NDY6MjIuMDAwMDAwMDAwICswMTAwCisrKyBnY2MvZ2NjL2R3YXJmMm91 dC5jCTIwMTEtMDItMjQgMTA6MDE6MDguMjg2NzA4MjAwICswMTAwCkBAIC0y MTU2MCw3ICsyMTU2MCw3IEBAIGZpbGVfdGFibGVfZXEgKGNvbnN0IHZvaWQg KnAxX3AsIGNvbnN0IHYKICAgY29uc3Qgc3RydWN0IGR3YXJmX2ZpbGVfZGF0 YSAqY29uc3QgcDEgPQogICAgIChjb25zdCBzdHJ1Y3QgZHdhcmZfZmlsZV9k YXRhICopIHAxX3A7CiAgIGNvbnN0IGNoYXIgKmNvbnN0IHAyID0gKGNvbnN0 IGNoYXIgKikgcDJfcDsKLSAgcmV0dXJuIHN0cmNtcCAocDEtPmZpbGVuYW1l LCBwMikgPT0gMDsKKyAgcmV0dXJuIGZpbGVuYW1lX2NtcCAocDEtPmZpbGVu YW1lLCBwMikgPT0gMDsKIH0KIAogc3RhdGljIGhhc2h2YWxfdApAQCAtMjE1 OTEsNyArMjE1OTEsNyBAQCBsb29rdXBfZmlsZW5hbWUgKGNvbnN0IGNoYXIg KmZpbGVfbmFtZSkKICAgICAgY2FsbCBtYXRjaGVzIHRoaXMgZmlsZSBuYW1l LiAgSWYgc28sIHJldHVybiB0aGUgaW5kZXguICAqLwogICBpZiAoZmlsZV90 YWJsZV9sYXN0X2xvb2t1cAogICAgICAgJiYgKGZpbGVfbmFtZSA9PSBmaWxl X3RhYmxlX2xhc3RfbG9va3VwLT5maWxlbmFtZQotCSAgfHwgc3RyY21wIChm aWxlX3RhYmxlX2xhc3RfbG9va3VwLT5maWxlbmFtZSwgZmlsZV9uYW1lKSA9 PSAwKSkKKwkgIHx8IGZpbGVuYW1lX2NtcCAoZmlsZV90YWJsZV9sYXN0X2xv b2t1cC0+ZmlsZW5hbWUsIGZpbGVfbmFtZSkgPT0gMCkpCiAgICAgcmV0dXJu IGZpbGVfdGFibGVfbGFzdF9sb29rdXA7CiAKICAgLyogRGlkbid0IG1hdGNo IHRoZSBwcmV2aW91cyBsb29rdXAsIHNlYXJjaCB0aGUgdGFibGUuICAqLwpJ bmRleDogZ2NjL2djYy9maW5hbC5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIGdjYy5vcmlnL2djYy9maW5hbC5jCTIwMTEtMDItMDIgMDg6MTg6Mjgu MDAwMDAwMDAwICswMTAwCisrKyBnY2MvZ2NjL2ZpbmFsLmMJMjAxMS0wMi0y NCAwOTo1OTozNy40MTI1MTA1MDAgKzAxMDAKQEAgLTE0OTIsNyArMTQ5Miw3 IEBAIHJlbWFwX2RlYnVnX2ZpbGVuYW1lIChjb25zdCBjaGFyICpmaWxlbmEK ICAgc2l6ZV90IG5hbWVfbGVuOwogCiAgIGZvciAobWFwID0gZGVidWdfcHJl Zml4X21hcHM7IG1hcDsgbWFwID0gbWFwLT5uZXh0KQotICAgIGlmIChzdHJu Y21wIChmaWxlbmFtZSwgbWFwLT5vbGRfcHJlZml4LCBtYXAtPm9sZF9sZW4p ID09IDApCisgICAgaWYgKGZpbGVuYW1lX25jbXAgKGZpbGVuYW1lLCBtYXAt Pm9sZF9wcmVmaXgsIG1hcC0+b2xkX2xlbikgPT0gMCkKICAgICAgIGJyZWFr OwogICBpZiAoIW1hcCkKICAgICByZXR1cm4gZmlsZW5hbWU7CkluZGV4OiBn Y2MvaW5jbHVkZS9maWxlbmFtZXMuaAo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBnY2Mub3JpZy9pbmNsdWRlL2ZpbGVuYW1lcy5oCTIwMTAtMDktMDkg MTY6MTU6MDIuMDAwMDAwMDAwICswMjAwCisrKyBnY2MvaW5jbHVkZS9maWxl bmFtZXMuaAkyMDExLTAyLTI0IDEwOjE3OjU1LjgwNzMzNTEwMCArMDEwMApA QCAtNzMsNiArNzMsOSBAQCBleHRlcm4gIkMiIHsKIGV4dGVybiBpbnQgZmls ZW5hbWVfY21wIChjb25zdCBjaGFyICpzMSwgY29uc3QgY2hhciAqczIpOwog I2RlZmluZSBGSUxFTkFNRV9DTVAoczEsIHMyKQlmaWxlbmFtZV9jbXAoczEs IHMyKQogCitleHRlcm4gaW50IGZpbGVuYW1lX25jbXAgKGNvbnN0IGNoYXIg KnMxLCBjb25zdCBjaGFyICpzMiwKKwkJCSAgc2l6ZV90IG4pOworCiAjaWZk ZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDogZ2NjL2xpYmliZXJ0 eS9maWxlbmFtZV9jbXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBn Y2Mub3JpZy9saWJpYmVydHkvZmlsZW5hbWVfY21wLmMJMjAxMC0wOS0wOSAx NjoxNTowNC4wMDAwMDAwMDAgKzAyMDAKKysrIGdjYy9saWJpYmVydHkvZmls ZW5hbWVfY21wLmMJMjAxMS0wMi0yNCAxMDoyODo1Ni44OTExNDcwMDAgKzAx MDAKQEAgLTc2LDMgKzc2LDUyIEBAIGZpbGVuYW1lX2NtcCAoY29uc3QgY2hh ciAqczEsIGNvbnN0IGNoYXIKICNlbmRpZgogfQogCisvKgorCitAZGVmdHlw ZWZuIEV4dGVuc2lvbiBpbnQgZmlsZW5hbWVfbmNtcCAoY29uc3QgY2hhciAq QHZhcntzMX0sIGNvbnN0IGNoYXIgKkB2YXJ7czJ9LCBzaXplX3QgQHZhcntu fSkKKworUmV0dXJuIHplcm8gaWYgdGhlIHR3byBmaWxlIG5hbWVzIEB2YXJ7 czF9IGFuZCBAdmFye3MyfSBhcmUgZXF1aXZhbGVudAoraW4gcmFuZ2UgQHZh cntufS4KK0lmIG5vdCBlcXVpdmFsZW50LCB0aGUgcmV0dXJuZWQgdmFsdWUg aXMgc2ltaWxhciB0byB3aGF0IEBjb2Rle3N0cm5jbXB9Cit3b3VsZCByZXR1 cm4uICBJbiBvdGhlciB3b3JkcywgaXQgcmV0dXJucyBhIG5lZ2F0aXZlIHZh bHVlIGlmIEB2YXJ7czF9CitpcyBsZXNzIHRoYW4gQHZhcntzMn0sIG9yIGEg cG9zaXRpdmUgdmFsdWUgaWYgQHZhcntzMn0gaXMgZ3JlYXRlciB0aGFuCitA dmFye3MyfS4KKworVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBub3JtYWxpemUg ZmlsZSBuYW1lcy4gIEFzIGEgcmVzdWx0LCB0aGlzIGZ1bmN0aW9uCit3aWxs IHRyZWF0IGZpbGVuYW1lcyB0aGF0IGFyZSBzcGVsbGVkIGRpZmZlcmVudGx5 IGFzIGRpZmZlcmVudCBldmVuIGluCit0aGUgY2FzZSB3aGVuIHRoZSB0d28g ZmlsZW5hbWVzIHBvaW50IHRvIHRoZSBzYW1lIHVuZGVybHlpbmcgZmlsZS4K K0hvd2V2ZXIsIGl0IGRvZXMgaGFuZGxlIHRoZSBmYWN0IHRoYXQgb24gRE9T LWxpa2UgZmlsZSBzeXN0ZW1zLCBmb3J3YXJkCithbmQgYmFja3dhcmQgc2xh c2hlcyBhcmUgZXF1YWwuCisKK0BlbmQgZGVmdHlwZWZuCisKKyovCisKK2lu dAorZmlsZW5hbWVfbmNtcCAoY29uc3QgY2hhciAqczEsIGNvbnN0IGNoYXIg KnMyLCBzaXplX3QgbikKK3sKKyNpZm5kZWYgSEFWRV9ET1NfQkFTRURfRklM RV9TWVNURU0KKyAgcmV0dXJuIHN0cm5jbXAoczEsIHMyLCBuKTsKKyNlbHNl CisgIGlmICghbikKKyAgICByZXR1cm4gMDsKKyAgZm9yICg7IG4gPiAwOyAt LW4pCisgIHsKKyAgICAgIGludCBjMSA9IFRPTE9XRVIgKCpzMSk7CisgICAg ICBpbnQgYzIgPSBUT0xPV0VSICgqczIpOworCisgICAgICAvKiBPbiBET1Mt YmFzZWQgZmlsZSBzeXN0ZW1zLCB0aGUgJy8nIGFuZCB0aGUgJ1wnIGFyZSBl cXVpdmFsZW50LiAgKi8KKyAgICAgIGlmIChjMSA9PSAnLycpCisgICAgICAg IGMxID0gJ1xcJzsKKyAgICAgIGlmIChjMiA9PSAnLycpCisgICAgICAgIGMy ID0gJ1xcJzsKKworICAgICAgaWYgKGMxID09ICdcMCcgfHwgYzEgIT0gYzIp CisgICAgICAgIHJldHVybiAoYzEgLSBjMik7CisKKyAgICAgIHMxKys7Cisg ICAgICBzMisrOworICB9CisgIHJldHVybiAwOworI2VuZGlmCit9CkluZGV4 OiBnY2MvbGliaWJlcnR5L2Z1bmN0aW9ucy50ZXhpCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy5vcmlnL2xpYmliZXJ0eS9mdW5jdGlvbnMudGV4 aQkyMDExLTAyLTAzIDIxOjM2OjU3LjAwMDAwMDAwMCArMDEwMAorKysgZ2Nj L2xpYmliZXJ0eS9mdW5jdGlvbnMudGV4aQkyMDExLTAyLTI0IDEwOjE0OjAy LjEzNjk2OTkwMCArMDEwMApAQCAtMjk2LDYgKzI5NiwyNCBAQCBhbmQgYmFj a3dhcmQgc2xhc2hlcyBhcmUgZXF1YWwuCiAKIEBlbmQgZGVmdHlwZWZuCiAK K0BjIGZpbGVuYW1lX2NtcC5jOjgxCitAZGVmdHlwZWZuIEV4dGVuc2lvbiBp bnQgZmlsZW5hbWVfbmNtcCAoY29uc3QgY2hhciAqQHZhcntzMX0sIGNvbnN0 IGNoYXIgKkB2YXJ7czJ9LCBzaXplX3QgQHZhcntufSkKKworUmV0dXJuIHpl cm8gaWYgdGhlIHR3byBmaWxlIG5hbWVzIEB2YXJ7czF9IGFuZCBAdmFye3My fSBhcmUgZXF1aXZhbGVudAoraW4gcmFuZ2UgQHZhcntufS4KK0lmIG5vdCBl cXVpdmFsZW50LCB0aGUgcmV0dXJuZWQgdmFsdWUgaXMgc2ltaWxhciB0byB3 aGF0IEBjb2Rle3N0cm5jbXB9Cit3b3VsZCByZXR1cm4uICBJbiBvdGhlciB3 b3JkcywgaXQgcmV0dXJucyBhIG5lZ2F0aXZlIHZhbHVlIGlmIEB2YXJ7czF9 CitpcyBsZXNzIHRoYW4gQHZhcntzMn0sIG9yIGEgcG9zaXRpdmUgdmFsdWUg aWYgQHZhcntzMn0gaXMgZ3JlYXRlciB0aGFuCitAdmFye3MyfS4KKworVGhp cyBmdW5jdGlvbiBkb2VzIG5vdCBub3JtYWxpemUgZmlsZSBuYW1lcy4gIEFz IGEgcmVzdWx0LCB0aGlzIGZ1bmN0aW9uCit3aWxsIHRyZWF0IGZpbGVuYW1l cyB0aGF0IGFyZSBzcGVsbGVkIGRpZmZlcmVudGx5IGFzIGRpZmZlcmVudCBl dmVuIGluCit0aGUgY2FzZSB3aGVuIHRoZSB0d28gZmlsZW5hbWVzIHBvaW50 IHRvIHRoZSBzYW1lIHVuZGVybHlpbmcgZmlsZS4KK0hvd2V2ZXIsIGl0IGRv ZXMgaGFuZGxlIHRoZSBmYWN0IHRoYXQgb24gRE9TLWxpa2UgZmlsZSBzeXN0 ZW1zLCBmb3J3YXJkCithbmQgYmFja3dhcmQgc2xhc2hlcyBhcmUgZXF1YWwu CisKK0BlbmQgZGVmdHlwZWZuCisKIEBjIGZubWF0Y2gudHhoOjEKIEBkZWZ0 eXBlZm4gUmVwbGFjZW1lbnQgaW50IGZubWF0Y2ggKGNvbnN0IGNoYXIgKkB2 YXJ7cGF0dGVybn0sIEAKICAgY29uc3QgY2hhciAqQHZhcntzdHJpbmd9LCBp bnQgQHZhcntmbGFnc30pCg== --0016362844b20b3fe0049d042574--