From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.hazardy.de (mail.hazardy.de [78.94.181.132]) by sourceware.org (Postfix) with ESMTPS id D657B385E452; Fri, 15 Mar 2024 20:41:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D657B385E452 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=hazardy.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hazardy.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D657B385E452 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=78.94.181.132 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710535303; cv=none; b=WdqvSjEjcp0lnGKKw6B0iICNYyfUnFcYhetFVcFFWsIGp9UOJgCjbSKquOjzHG/WMrjVXRX+6t3ZeWGdhD80fDpdzBPp8YLxKQntAbBdMXK+fZV7PbuEuV12BXI+wAD13gje1XnLkfUTIhAUbbX3dSsyfLMAAcSIiscUoFpHfio= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710535303; c=relaxed/simple; bh=MpJOee2MCmvUOMWj9zGYPbqobja8tAgY1GWeVtZg9xU=; h=Message-ID:Date:MIME-Version:Subject:To:From; b=rYsW/QLSIaq0XId/GYEy17XWpfmXlzFEyNESpo69f69lTeNhsWQ0TqriImUbNrL03b2/KLeBIYzp8KYbyeMWQrlFs4r4DkV9Iap/DlsK6csjl3s+71Wb0Df82sLY0vZaxHSNyu7KJ+KSnG41y3L3W8Bz9dX5aInsOXTFjiVwMjI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from [10.0.1.129] (hades.hazardy.de [10.0.1.129]) by mail.hazardy.de (Postfix) with ESMTPSA id 97A32700532; Fri, 15 Mar 2024 21:41:40 +0100 (CET) Content-Type: multipart/mixed; boundary="------------TIsL3Xp7H5TN79CEjQlLzyn2" Message-ID: <6e6822f2-d3e9-4b61-a177-8e846e3c6380@hazardy.de> Date: Fri, 15 Mar 2024 21:41:41 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 6/4] libbacktrace: Add loaded dlls after initialize Content-Language: en-US To: Eli Zaretskii Cc: iant@google.com, gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org References: <20230120105409.54949-1-gcc@hazardy.de> <20230120105409.54949-4-gcc@hazardy.de> <0c08e584-499f-473f-8699-a41c6a967536@hazardy.de> <863fd658-11e9-455e-9def-8a95217bc98f@hazardy.de> <83bk9xsklk.fsf@gnu.org> <4cb3a2a5-c0b3-40c8-b460-f21d65a9aea2@hazardy.de> <83ttnpqk0g.fsf@gnu.org> <4630f8bb-5859-483e-9db3-e09e4cb46ecf@hazardy.de> <83msthqdmx.fsf@gnu.org> <83h6jlnz8t.fsf@gnu.org> From: =?UTF-8?Q?Bj=C3=B6rn_Sch=C3=A4pers?= In-Reply-To: <83h6jlnz8t.fsf@gnu.org> X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: This is a multi-part message in MIME format. --------------TIsL3Xp7H5TN79CEjQlLzyn2 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Am 10.01.2024 um 13:34 schrieb Eli Zaretskii: >> Date: Tue, 9 Jan 2024 21:02:44 +0100 >> Cc: iant@google.com, gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org >> From: Björn Schäpers >> >> Am 07.01.2024 um 18:03 schrieb Eli Zaretskii: >>> In that case, you an call either GetModuleHandeExA or >>> GetModuleHandeExW, the difference is minor. >> >> Here an updated version without relying on TEXT or TCHAR, directly calling >> GetModuleHandleExW. > > Thanks, this LGTM (but I couldn't test it, I just looked at the > sour ce code). Here an updated version. It is rebased on the combined approach of getting the loaded DLLs and two minor changes to suppress warnings. --------------TIsL3Xp7H5TN79CEjQlLzyn2 Content-Type: text/plain; charset=UTF-8; name="0004-libbacktrace-Add-loaded-dlls-after-initialize.patch" Content-Disposition: attachment; filename="0004-libbacktrace-Add-loaded-dlls-after-initialize.patch" Content-Transfer-Encoding: base64 RnJvbSA1NWQwZjMxMmMwYTljNGUyMzA1ZDcyZmEyMzI5YjM3OTM3YTAyZTQ0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qmo9QzM9QjZybj0yMFNjaD1DMz1B NHBlcnM/PSA8YmpvZXJuQGhhemFyZHkuZGU+CkRhdGU6IFNhdCwgNiBKYW4gMjAyNCAyMjo1 Mzo1NCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBsaWJiYWNrdHJhY2U6IEFkZCBsb2Fk ZWQgZGxscyBhZnRlciBpbml0aWFsaXplCgpsaWJiYWNrdHJhY2UvQ2hhbmdlbG9nOgoKCSog cGVjb2ZmLmMgW0hBVkVfV0lORE9XU19IXToKCSAgKGRsbF9ub3RpZmljYXRpb25fZGF0YSk6 IEFkZGVkCgkgIChkbGxfbm90aWZpY2F0aW9uX2NvbnRleHQpOiBBZGRlZAoJICAoZGxsX25v dGlmaWNhdGlvbik6IEFkZGVkCgkgIChiYWNrdHJhY2VfaW5pdGlhbGl6ZSk6IFVzZSBMZHJS ZWdpc3RlckRsbE5vdGlmaWNhdGlvbiB0byBsb2FkCgkgICAgICAgICAgICAgICAgICAgICAg ICAgIGRlYnVnIGluZm9ybWF0aW9uIG9mIGxhdGVyIGxvYWRlZAoJICAgICAgICAgICAgICAg ICAgICAgICAgICBkbGxzLgotLS0KIGxpYmJhY2t0cmFjZS9wZWNvZmYuYyB8IDEwNiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2Vk LCAxMDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmJhY2t0cmFjZS9wZWNvZmYu YyBiL2xpYmJhY2t0cmFjZS9wZWNvZmYuYwppbmRleCBmYWEwYmUwYjcwMC4uNDU1YTVjMjE5 MWQgMTAwNjQ0Ci0tLSBhL2xpYmJhY2t0cmFjZS9wZWNvZmYuYworKysgYi9saWJiYWNrdHJh Y2UvcGVjb2ZmLmMKQEAgLTYxLDYgKzYxLDM0IEBAIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN QUdFLiAgKi8KICN1bmRlZiBNb2R1bGUzMk5leHQKICNlbmRpZgogI2VuZGlmCisKKyNpZiBk ZWZpbmVkKF9BUk1fKQorI2RlZmluZSBOVEFQSQorI2Vsc2UKKyNkZWZpbmUgTlRBUEkgX19z dGRjYWxsCisjZW5kaWYKKworLyogVGhpcyBpcyBhIHNpbXBsaWZpZWQgKGJ1dCBiaW5hcnkg Y29tcGF0aWJsZSkgdmVyc2lvbiBvZiB3aGF0IE1pY3Jvc29mdAorICAgZGVmaW5lcyBpbiB0 aGVpciBkb2N1bWVudGF0aW9uLiAqLworc3RydWN0IGRsbF9ub3RpZmNhdGlvbl9kYXRhCit7 CisgIFVMT05HIHJlc2VydmVkOworICAvKiBUaGUgbmFtZSBhcyBVTklDT0RFX1NUUklORyBz dHJ1Y3QuICovCisgIFBWT0lEIGZ1bGxfZGxsX25hbWU7CisgIFBWT0lEIGJhc2VfZGxsX25h bWU7CisgIFBWT0lEIGRsbF9iYXNlOworICBVTE9ORyBzaXplX29mX2ltYWdlOworfTsKKwor I2RlZmluZSBMRFJfRExMX05PVElGSUNBVElPTl9SRUFTT05fTE9BREVEIDEKKwordHlwZWRl ZiBMT05HIE5UU1RBVFVTOwordHlwZWRlZiBWT0lEIENBTExCQUNLICgqTERSX0RMTF9OT1RJ RklDQVRJT04pKFVMT05HLAorCQkJCQkgICAgICBzdHJ1Y3QgZGxsX25vdGlmY2F0aW9uX2Rh dGEqLAorCQkJCQkgICAgICBQVk9JRCk7Cit0eXBlZGVmIE5UU1RBVFVTIE5UQVBJICgqTERS X1JFR0lTVEVSX0ZVTkNUSU9OKShVTE9ORywKKwkJCQkJCUxEUl9ETExfTk9USUZJQ0FUSU9O LCBQVk9JRCwKKwkJCQkJCVBWT0lEKik7CiAjZW5kaWYKIAogLyogQ29mZiBmaWxlIGhlYWRl ci4gICovCkBAIC05MTEsNiArOTM5LDUzIEBAIGNvZmZfYWRkIChzdHJ1Y3QgYmFja3RyYWNl X3N0YXRlICpzdGF0ZSwgaW50IGRlc2NyaXB0b3IsCiAgIHJldHVybiAwOwogfQogCisjaWZk ZWYgSEFWRV9XSU5ET1dTX0gKK3N0cnVjdCBkbGxfbm90aWZpY2F0aW9uX2NvbnRleHQKK3sK KyAgc3RydWN0IGJhY2t0cmFjZV9zdGF0ZSAqc3RhdGU7CisgIGJhY2t0cmFjZV9lcnJvcl9j YWxsYmFjayBlcnJvcl9jYWxsYmFjazsKKyAgdm9pZCAqZGF0YTsKK307CisKK3N0YXRpYyBW T0lEIENBTExCQUNLCitkbGxfbm90aWZpY2F0aW9uIChVTE9ORyByZWFzb24sCisJCSAgc3Ry dWN0IGRsbF9ub3RpZmNhdGlvbl9kYXRhICpub3RpZmljYXRpb25fZGF0YSwKKwkJICBQVk9J RCBjb250ZXh0KQoreworICBjaGFyIG1vZHVsZV9uYW1lW01BWF9QQVRIXTsKKyAgaW50IGRl c2NyaXB0b3I7CisgIHN0cnVjdCBkbGxfbm90aWZpY2F0aW9uX2NvbnRleHQqIGRsbF9jb250 ZXh0ID0KKyAgICAoc3RydWN0IGRsbF9ub3RpZmljYXRpb25fY29udGV4dCopIGNvbnRleHQ7 CisgIHN0cnVjdCBiYWNrdHJhY2Vfc3RhdGUgKnN0YXRlID0gZGxsX2NvbnRleHQtPnN0YXRl OworICB2b2lkICpkYXRhID0gZGxsX2NvbnRleHQtPmRhdGE7CisgIGJhY2t0cmFjZV9lcnJv cl9jYWxsYmFjayBlcnJvcl9jYWxsYmFjayA9IGRsbF9jb250ZXh0LT5kYXRhOworICBmaWxl bGluZSBmaWxlbGluZTsKKyAgaW50IGZvdW5kX3N5bTsKKyAgaW50IGZvdW5kX2R3YXJmOwor ICBITU9EVUxFIG1vZHVsZV9oYW5kbGU7CisKKyAgaWYgKHJlYXNvbiAhPSBMRFJfRExMX05P VElGSUNBVElPTl9SRUFTT05fTE9BREVEKQorICAgIHJldHVybjsKKworICBpZiAoIUdldE1v ZHVsZUhhbmRsZUV4VyAoR0VUX01PRFVMRV9IQU5ETEVfRVhfRkxBR19GUk9NX0FERFJFU1MK KwkJCSAgIHwgR0VUX01PRFVMRV9IQU5ETEVfRVhfRkxBR19VTkNIQU5HRURfUkVGQ09VTlQs CisJCQkgICAod2NoYXJfdCopIG5vdGlmaWNhdGlvbl9kYXRhLT5kbGxfYmFzZSwKKwkJCSAg ICZtb2R1bGVfaGFuZGxlKSkKKyAgICByZXR1cm47CisKKyAgaWYgKCFHZXRNb2R1bGVGaWxl TmFtZUEgKChITU9EVUxFKSBtb2R1bGVfaGFuZGxlLCBtb2R1bGVfbmFtZSwgTUFYX1BBVEgg LSAxKSkKKyAgICByZXR1cm47CisKKyAgZGVzY3JpcHRvciA9IGJhY2t0cmFjZV9vcGVuICht b2R1bGVfbmFtZSwgZXJyb3JfY2FsbGJhY2ssIGRhdGEsIE5VTEwpOworCisgIGlmIChkZXNj cmlwdG9yIDwgMCkKKyAgICByZXR1cm47CisKKyAgY29mZl9hZGQgKHN0YXRlLCBkZXNjcmlw dG9yLCBlcnJvcl9jYWxsYmFjaywgZGF0YSwgJmZpbGVsaW5lLCAmZm91bmRfc3ltLAorCSAg ICAmZm91bmRfZHdhcmYsICh1aW50cHRyX3QpIG1vZHVsZV9oYW5kbGUpOworfQorI2VuZGlm CisKIC8qIEluaXRpYWxpemUgdGhlIGJhY2t0cmFjZSBkYXRhIHdlIG5lZWQgZnJvbSBhbiBF TEYgZXhlY3V0YWJsZS4gIEF0CiAgICB0aGUgRUxGIGxldmVsLCBhbGwgd2UgbmVlZCB0byBk byBpcyBmaW5kIHRoZSBkZWJ1ZyBpbmZvCiAgICBzZWN0aW9ucy4gICovCkBAIC05MzUsNiAr MTAxMCw4IEBAIGJhY2t0cmFjZV9pbml0aWFsaXplIChzdHJ1Y3QgYmFja3RyYWNlX3N0YXRl ICpzdGF0ZSwKICNlbmRpZgogCiAjaWZkZWYgSEFWRV9XSU5ET1dTX0gKKyAgSE1PRFVMRSBu dF9kbGxfaGFuZGxlOworCiAgIG1vZHVsZV9oYW5kbGUgPSAodWludHB0cl90KSBHZXRNb2R1 bGVIYW5kbGUgKE5VTEwpOwogI2VuZGlmCiAKQEAgLTk4MSw2ICsxMDU4LDM1IEBAIGJhY2t0 cmFjZV9pbml0aWFsaXplIChzdHJ1Y3QgYmFja3RyYWNlX3N0YXRlICpzdGF0ZSwKICAgICB9 CiAjZW5kaWYKIAorI2lmZGVmIEhBVkVfV0lORE9XU19ICisgIG50X2RsbF9oYW5kbGUgPSBH ZXRNb2R1bGVIYW5kbGVXIChMIm50ZGxsLmRsbCIpOworICBpZiAobnRfZGxsX2hhbmRsZSkK KyAgICB7CisgICAgICBMRFJfUkVHSVNURVJfRlVOQ1RJT04gcmVnaXN0ZXJfZnVuYzsKKyAg ICAgIGNvbnN0IGNoYXIgcmVnaXN0ZXJfbmFtZVtdID0gIkxkclJlZ2lzdGVyRGxsTm90aWZp Y2F0aW9uIjsKKyAgICAgIHJlZ2lzdGVyX2Z1bmMgPSAodm9pZCopIEdldFByb2NBZGRyZXNz IChudF9kbGxfaGFuZGxlLAorCQkJCQkgICAgICByZWdpc3Rlcl9uYW1lKTsKKworICAgICAg aWYgKHJlZ2lzdGVyX2Z1bmMpCisJeworCSAgUFZPSUQgY29va2llOworCSAgc3RydWN0IGRs bF9ub3RpZmljYXRpb25fY29udGV4dCAqY29udGV4dAorCSAgICA9IGJhY2t0cmFjZV9hbGxv YyAoc3RhdGUsCisJCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBkbGxfbm90aWZpY2F0aW9uX2Nv bnRleHQpLAorCQkJICAgICAgIGVycm9yX2NhbGxiYWNrLCBkYXRhKTsKKworCSAgaWYgKGNv bnRleHQpCisJICAgIHsKKwkgICAgICBjb250ZXh0LT5zdGF0ZSA9IHN0YXRlOworCSAgICAg IGNvbnRleHQtPmRhdGEgPSBkYXRhOworCSAgICAgIGNvbnRleHQtPmVycm9yX2NhbGxiYWNr ID0gZXJyb3JfY2FsbGJhY2s7CisKKwkgICAgICByZWdpc3Rlcl9mdW5jICgwLCAmZGxsX25v dGlmaWNhdGlvbiwgY29udGV4dCwgJmNvb2tpZSk7CisJICAgIH0KKwl9CisgICAgfQorI2Vu ZGlmCisKICAgaWYgKCFzdGF0ZS0+dGhyZWFkZWQpCiAgICAgewogICAgICAgaWYgKGZvdW5k X3N5bSkKLS0gCjIuNDMuMAoK --------------TIsL3Xp7H5TN79CEjQlLzyn2--