From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21906 invoked by alias); 18 Oct 2014 14:38:20 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 21881 invoked by uid 89); 18 Oct 2014 14:38:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-qc0-f176.google.com Received: from mail-qc0-f176.google.com (HELO mail-qc0-f176.google.com) (209.85.216.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Sat, 18 Oct 2014 14:38:18 +0000 Received: by mail-qc0-f176.google.com with SMTP id r5so1875128qcx.7 for ; Sat, 18 Oct 2014 07:38:16 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.224.88.136 with SMTP id a8mr21034898qam.63.1413643096177; Sat, 18 Oct 2014 07:38:16 -0700 (PDT) Received: by 10.140.98.163 with HTTP; Sat, 18 Oct 2014 07:38:16 -0700 (PDT) Date: Sat, 18 Oct 2014 15:06:00 -0000 Message-ID: Subject: [PATH, libgfortran] PR 63589 Fix find_addr2line From: Janne Blomqvist To: Fortran List , GCC Patches Content-Type: multipart/mixed; boundary=001a11c2bb4c96c7c40505b36e10 X-SW-Source: 2014-10/txt/msg01814.txt.bz2 --001a11c2bb4c96c7c40505b36e10 Content-Type: text/plain; charset=UTF-8 Content-length: 817 Hi, Benoit Lodej reported on the fortran list a bug in find_addr2line, namely that if the PATH string does not end in ":", the last PATH element is not tested. Rather than fixing the current implementation, I rewrote it in a simpler fashion by using the strtok_r function. Tested that it fixes the original bug, and with strace & valgrind that everything seems Ok (no regtest since we don't have anything in the testsuite which tests the backtrace functionality, AFAIK). Ok for trunk/4.9/4.8? 2014-10-18 Janne Blomqvist PR libfortran/63589 * configure.ac: Check for strtok_r. * runtime/main.c (gfstrtok_r): Fallback implementation of strtok_r. (find_addr2line): Use strtok_r to split PATH. * config.h.in: Regenerated. * configure: Regenerated. -- Janne Blomqvist --001a11c2bb4c96c7c40505b36e10 Content-Type: text/plain; charset=US-ASCII; name="addr2line.diff" Content-Disposition: attachment; filename="addr2line.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i1f2lhve0 Content-length: 3530 ZGlmZiAtLWdpdCBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYyBiL2xpYmdm b3J0cmFuL2NvbmZpZ3VyZS5hYwppbmRleCA5ZDhlMDVjLi5iMzE1MGY0IDEw MDY0NAotLS0gYS9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMKKysrIGIvbGli Z2ZvcnRyYW4vY29uZmlndXJlLmFjCkBAIC0yNzUsNiArMjc1LDcgQEAgaWYg dGVzdCAieCR7d2l0aF9uZXdsaWJ9IiA9ICJ4eWVzIjsgdGhlbgogICAgQUNf REVGSU5FKEhBVkVfR01USU1FX1IsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUg Z210aW1lX3IuXSkKICAgIEFDX0RFRklORShIQVZFX1NUUk5MRU4sIDEsIFtE ZWZpbmUgaWYgeW91IGhhdmUgc3Rybmxlbi5dKQogICAgQUNfREVGSU5FKEhB VkVfU1RSTkRVUCwgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBzdHJuZHVwLl0p CisgICBBQ19ERUZJTkUoSEFWRV9TVFJUT0tfUiwgMSwgW0RlZmluZSBpZiB5 b3UgaGF2ZSBzdHJ0b2tfci5dKQogCiAgICAjIEF0IHNvbWUgcG9pbnQsIHdl IHNob3VsZCBkaWZmZXJlbnRpYXRlIGJldHdlZW4gYXJjaGl0ZWN0dXJlcwog ICAgIyBsaWtlIHg4Niwgd2hpY2ggaGF2ZSBsb25nIGRvdWJsZSB2ZXJzaW9u cywgYW5kIGFscGhhL3Bvd2VycGMvZXRjLiwKQEAgLTI4OSw3ICsyOTAsNyBA QCBlbHNlCiAgICBzdHJjYXNlc3RyIGdldHJsaW1pdCBnZXR0aW1lb2ZkYXkg c3RhdCBmc3RhdCBsc3RhdCBnZXRwd3VpZCB2c25wcmludGYgZHVwIFwKICAg IGdldGN3ZCBsb2NhbHRpbWVfciBnbXRpbWVfciBnZXRwd3VpZF9yIHR0eW5h bWVfciBjbG9ja19nZXR0aW1lIFwKICAgIHJlYWRsaW5rIGdldGdpZCBnZXRw aWQgZ2V0cHBpZCBnZXR1aWQgZ2V0ZXVpZCB1bWFzayBnZXRlZ2lkIFwKLSAg IHNlY3VyZV9nZXRlbnYgX19zZWN1cmVfZ2V0ZW52IG1rb3N0ZW1wIHN0cm5s ZW4gc3RybmR1cCkKKyAgIHNlY3VyZV9nZXRlbnYgX19zZWN1cmVfZ2V0ZW52 IG1rb3N0ZW1wIHN0cm5sZW4gc3RybmR1cCBzdHJ0b2tfcikKIGZpCiAKICMg Q2hlY2sgc3RyZXJyb3JfciwgY2Fubm90IGJlIGFib3ZlIGFzIHZlcnNpb25z IHdpdGggdHdvIGFuZCB0aHJlZSBhcmd1bWVudHMgZXhpc3QKZGlmZiAtLWdp dCBhL2xpYmdmb3J0cmFuL3J1bnRpbWUvbWFpbi5jIGIvbGliZ2ZvcnRyYW4v cnVudGltZS9tYWluLmMKaW5kZXggOGE1NzJlYy4uNDQ4ZGZlZSAxMDA2NDQK LS0tIGEvbGliZ2ZvcnRyYW4vcnVudGltZS9tYWluLmMKKysrIGIvbGliZ2Zv cnRyYW4vcnVudGltZS9tYWluLmMKQEAgLTE4MSw2ICsxODEsMTYgQEAgZnVs bF9leGVfcGF0aCAodm9pZCkKIH0KIAogCisjaWZuZGVmIEhBVkVfU1RSVE9L X1IKK3N0YXRpYyBjaGFyKgorZ2ZzdHJ0b2tfciAoY2hhciAqc3RyLCBjb25z dCBjaGFyICpkZWxpbSwgCisJICAgIGNoYXIgKipzYXZlcHRyIF9fYXR0cmli dXRlX18gKCh1bnVzZWQpKSkKK3sKKyAgcmV0dXJuIHN0cnRvayAoc3RyLCBk ZWxpbSk7Cit9CisjZGVmaW5lIHN0cnRva19yIGdmc3RydG9rX3IKKyNlbmRp ZgorCiBjaGFyICphZGRyMmxpbmVfcGF0aDsKIAogLyogRmluZCBhZGRyMmxp bmUgYW5kIHN0b3JlIHRoZSBwYXRoLiAgKi8KQEAgLTE4OSwzMCArMTk5LDMy IEBAIHZvaWQKIGZpbmRfYWRkcjJsaW5lICh2b2lkKQogewogI2lmZGVmIEhB VkVfQUNDRVNTCi0jZGVmaW5lIEEyTF9MRU4gMTAKKyNkZWZpbmUgQTJMX0xF TiAxMQogICBjaGFyICpwYXRoID0gc2VjdXJlX2dldGVudiAoIlBBVEgiKTsK ICAgaWYgKCFwYXRoKQogICAgIHJldHVybjsKKyAgY2hhciAqdHAgPSBzdHJk dXAgKHBhdGgpOworICBpZiAoIXRwKQorICAgIHJldHVybjsKICAgc2l6ZV90 IG4gPSBzdHJsZW4gKHBhdGgpOwotICBjaGFyIGFwW24gKyAxICsgQTJMX0xF Tl07Ci0gIHNpemVfdCBhaSA9IDA7Ci0gIGZvciAoc2l6ZV90IGkgPSAwOyBp IDwgbjsgaSsrKQorICBjaGFyICphcCA9IHhtYWxsb2MgKG4gKyBBMkxfTEVO KTsKKyAgY2hhciAqc2F2ZXB0cjsKKyAgZm9yIChjaGFyICpzdHIgPSB0cDs7 IHN0ciA9IE5VTEwpCiAgICAgewotICAgICAgaWYgKHBhdGhbaV0gIT0gJzon KQotCWFwW2FpKytdID0gcGF0aFtpXTsKLSAgICAgIGVsc2UKKyAgICAgIGNo YXIgKnRva2VuID0gc3RydG9rX3IgKHN0ciwgIjoiLCAmc2F2ZXB0cik7Cisg ICAgICBpZiAoIXRva2VuKQorCWJyZWFrOworICAgICAgc2l6ZV90IHRva2xl biA9IHN0cmxlbiAodG9rZW4pOworICAgICAgbWVtY3B5IChhcCwgdG9rZW4s IHRva2xlbik7CisgICAgICBtZW1jcHkgKGFwICsgdG9rbGVuLCAiL2FkZHIy bGluZSIsIEEyTF9MRU4pOworICAgICAgaWYgKGFjY2VzcyAoYXAsIFJfT0t8 WF9PSykgPT0gMCkKIAl7Ci0JICBhcFthaSsrXSA9ICcvJzsKLQkgIG1lbWNw eSAoYXAgKyBhaSwgImFkZHIybGluZSIsIEEyTF9MRU4pOwotCSAgaWYgKGFj Y2VzcyAoYXAsIFJfT0t8WF9PSykgPT0gMCkKLQkgICAgewotCSAgICAgIGFk ZHIybGluZV9wYXRoID0gc3RyZHVwIChhcCk7Ci0JICAgICAgcmV0dXJuOwot CSAgICB9Ci0JICBlbHNlCi0JICAgIGFpID0gMDsKKwkgIGFkZHIybGluZV9w YXRoID0gc3RyZHVwIChhcCk7CisJICBicmVhazsKIAl9CiAgICAgfQorICBm cmVlICh0cCk7CisgIGZyZWUgKGFwKTsKICNlbmRpZgogfQogCg== --001a11c2bb4c96c7c40505b36e10--