From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13092 invoked by alias); 8 Jul 2010 15:59:55 -0000 Received: (qmail 13075 invoked by uid 22791); 8 Jul 2010 15:59:54 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-fx0-f41.google.com (HELO mail-fx0-f41.google.com) (209.85.161.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 08 Jul 2010 15:59:48 +0000 Received: by fxm20 with SMTP id 20so582627fxm.0 for ; Thu, 08 Jul 2010 08:59:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.102.228.9 with SMTP id a9mr1835180muh.6.1278604783781; Thu, 08 Jul 2010 08:59:43 -0700 (PDT) Received: by 10.103.217.10 with HTTP; Thu, 8 Jul 2010 08:59:43 -0700 (PDT) Date: Thu, 08 Jul 2010 15:59:00 -0000 Message-ID: Subject: impossible to resolve symbols in same binary loaded twice with dlmopen From: Mathieu Lacage To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=0016363ba4f0f20737048ae25f52 X-IsSubscribed: yes 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 X-SW-Source: 2010-07/txt/msg00151.txt.bz2 --0016363ba4f0f20737048ae25f52 Content-Type: text/plain; charset=UTF-8 Content-length: 1559 hi, A couple of months ago, I reported on the gdb mailing-list this issue: http://sourceware.org/ml/gdb/2010-02/msg00027.html (the original report mentionned a crash which happened with a different program loader but the root cause of the problem is the same as the one mentionned here) and tom tromey gave hints on how it could be fixed. It took me a while to eventually put together a patch and a reduced testcase for this issue but here it is in the bugzilla database: http://sourceware.org/bugzilla/show_bug.cgi?id=11766 For convenience, this email contains the reduced testcase and patch attached. Here is the associated ChangeLog entry: 2010-XX-XX Mathieu Lacage Fix PR/gdb 11766: gdb does not resolve correctly symbols in binaries loaded twice with dlmopen Because the name of an inferior binary present in the linkmap is not sufficient for the test of uniqueness, of an entry in the list of objfiles, we ensure uniqueness with an extra equality condition, the addr_low member of the binary. * gdb/objfiles.h: add addr_low member variable * gdb/solib.c (solib_read_symbols): check for addr_low in equality test for objfile, initialize addr_low if needed. I really care about fixing this issue because it hits me and a lot of my users and asking them to recompile gdb with a patch is not fun in the long run. I am looking forward to fix this upstream so, please, let me know what I can do to help with the resolution of this issue. Mathieu -- Mathieu Lacage --0016363ba4f0f20737048ae25f52 Content-Type: application/x-gzip; name="test.tar.gz" Content-Disposition: attachment; filename="test.tar.gz" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbds8m530 Content-length: 915 H4sIAAHcKUwAA+2WbU/bMBDH+xZ/ilPpi6RrSx6aRiorGioMTWqZBEPTNrEq Dw6N5sQoSZEmxD77zklaCoOxTSrTtPu9iBP77uzcxX+n4Hmx09gsBuK6TtUO +nfamoZp9k3Ldhx34DYM03TtfgOcDa+rZJEXXgbQSLxiHvPFo3ZPjf+jFKr+ IvZV2ws2M4cq8OBe3dfrb1rusv59w7Cx/rZjYf2NzSznLv95/eO0gEhK0K5k HOrsmgFkvFhkKRi77IapYR/zszYczPG5fQkjZQFrd+t+f/u1iF+k3P+b3PyN J/e/afXt1f4fWEr/bcMxaf8/B9shj+KUw+zo+Gx2+vbsZHwIJtuO00AsQg4v QxEFaW++t9aVF6EvpVCdDJNXxAEodYDAE6ISCmjPOxDINC9qtUi9hFfqoQRF a0epXkuKEo4oRQnRqhG96tZDkX9NQMM4pW9tpulKXEpVSrw4rZy87CLo1BPh /dWn82oqtUgI5T4GL7IFVyHiCLS8yILkErTS1DzvQNNr6jBCEdPRAuC6vMI9 T4AbvHKR80eC+D8JEnnodxulSpGHA6FI5CXH95hMZ28OZseH7ydTjNVbnci5 bHbg5N3kYDbZ//ihTEPl7f+Rd50CXNXdZVal89AZz4KmvvtDN54By+5lHh4I 4D8cwL8fAJtQBEJiMjWv7F09+tUq6Sx5Jkr9n3pfUAUE39AcT/3/WX1r9f9v DMr/P9txSf+fg/Hryf7R6ah7YTOGm3UI6oOAWwFhTN0MYXJQGr4YdUUoGLs1 GK6MJdtqaeOxDi2tttahm6Ms8xC6ElqvoPWZsUBwLx2yrSyBbgTtnlybrJq8 /Q2svZ2QX+2kCyFo+xMEQRAEQRAEQRAEQRAEQRAEQfwW3wFua4JRACgAAA== --0016363ba4f0f20737048ae25f52 Content-Type: application/octet-stream; name="gdb.patch" Content-Disposition: attachment; filename="gdb.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbds94mm1 Content-length: 2408 PyBvYmpkaXIKPyBwYXRjaApJbmRleDogZ2RiL29iamZpbGVzLmgKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9v YmpmaWxlcy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjcyCmRpZmYgLWMg LXAgLXIxLjcyIG9iamZpbGVzLmgKKioqIGdkYi9vYmpmaWxlcy5oCTE0IEFw ciAyMDEwIDE3OjI2OjExIC0wMDAwCTEuNzIKLS0tIGdkYi9vYmpmaWxlcy5o CTcgSnVsIDIwMTAgMTg6MzU6MzggLTAwMDAKKioqKioqKioqKioqKioqIHN0 cnVjdCBvYmpmaWxlCioqKiAxOTMsMTk4ICoqKioKLS0tIDE5MywyMDAgLS0t LQogIAogICAgICBjaGFyICpuYW1lOwogIAorICAgICBDT1JFX0FERFIgYWRk cl9sb3c7CisgCiAgICAgIC8qIFNvbWUgZmxhZyBiaXRzIGZvciB0aGlzIG9i amZpbGUuICovCiAgCiAgICAgIHVuc2lnbmVkIHNob3J0IGZsYWdzOwpJbmRl eDogZ2RiL3NvbGliLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls ZTogL2N2cy9zcmMvc3JjL2dkYi9zb2xpYi5jLHYKcmV0cmlldmluZyByZXZp c2lvbiAxLjE0MApkaWZmIC1jIC1wIC1yMS4xNDAgc29saWIuYwoqKiogZ2Ri L3NvbGliLmMJMTYgTWF5IDIwMTAgMjM6NDk6NTggLTAwMDAJMS4xNDAKLS0t IGdkYi9zb2xpYi5jCTcgSnVsIDIwMTAgMTg6MzU6MzkgLTAwMDAKKioqKioq KioqKioqKioqIHNvbGliX3JlYWRfc3ltYm9scyAoc3RydWN0IHNvX2xpc3Qg KnNvLCAKKioqIDYzNCw2NDQgKioqKgogICAgICAgIFRSWV9DQVRDSCAoZSwg UkVUVVJOX01BU0tfRVJST1IpCiAgCXsKICAJICBzdHJ1Y3Qgc2VjdGlvbl9h ZGRyX2luZm8gKnNhcDsKLSAKICAJICAvKiBIYXZlIHdlIGFscmVhZHkgbG9h ZGVkIHRoaXMgc2hhcmVkIG9iamVjdD8gICovCiAgCSAgQUxMX09CSkZJTEVT IChzby0+b2JqZmlsZSkKICAJICAgIHsKISAJICAgICAgaWYgKHN0cmNtcCAo c28tPm9iamZpbGUtPm5hbWUsIHNvLT5zb19uYW1lKSA9PSAwKQogIAkJYnJl YWs7CiAgCSAgICB9CiAgCSAgaWYgKHNvLT5vYmpmaWxlICE9IE5VTEwpCi0t LSA2MzQsNjQ0IC0tLS0KICAgICAgICBUUllfQ0FUQ0ggKGUsIFJFVFVSTl9N QVNLX0VSUk9SKQogIAl7CiAgCSAgc3RydWN0IHNlY3Rpb25fYWRkcl9pbmZv ICpzYXA7CiAgCSAgLyogSGF2ZSB3ZSBhbHJlYWR5IGxvYWRlZCB0aGlzIHNo YXJlZCBvYmplY3Q/ICAqLwogIAkgIEFMTF9PQkpGSUxFUyAoc28tPm9iamZp bGUpCiAgCSAgICB7CiEgCSAgICAgIGlmIChzdHJjbXAgKHNvLT5vYmpmaWxl LT5uYW1lLCBzby0+c29fbmFtZSkgPT0gMAohIAkJICAmJiBzby0+b2JqZmls ZS0+YWRkcl9sb3cgPT0gc28tPmFkZHJfbG93KQogIAkJYnJlYWs7CiAgCSAg ICB9CiAgCSAgaWYgKHNvLT5vYmpmaWxlICE9IE5VTEwpCioqKioqKioqKioq KioqKiBzb2xpYl9yZWFkX3N5bWJvbHMgKHN0cnVjdCBzb19saXN0ICpzbywg CioqKiA2NDgsNjUzICoqKioKLS0tIDY0OCw2NTQgLS0tLQogIAkJCQkJCQkg ICAgc28tPnNlY3Rpb25zX2VuZCk7CiAgCSAgc28tPm9iamZpbGUgPSBzeW1i b2xfZmlsZV9hZGRfZnJvbV9iZmQgKHNvLT5hYmZkLAogIAkJCQkJCSAgZmxh Z3MsIHNhcCwgT0JKRl9TSEFSRUQpOworIAkgIHNvLT5vYmpmaWxlLT5hZGRy X2xvdyA9IHNvLT5hZGRyX2xvdzsKICAJICBmcmVlX3NlY3Rpb25fYWRkcl9p bmZvIChzYXApOwogIAl9CiAgCg== --0016363ba4f0f20737048ae25f52--