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 0AB7438582A4; Mon, 20 Nov 2023 19:57:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0AB7438582A4 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 0AB7438582A4 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=1700510260; cv=none; b=knrI6VnBS0N0KdKEv95BUi3kUnnhlE+apeupCgsB0sjssMmKDcmKsNRRlVLeWSdLKuWSG8LJS2u1ZQNPzgpaX2sqP3jQapJHJ2nnuNU8okZTdG7A4ybZBSmg7XK7D8jLlMlDoDVXCzfcAchchWcXtOUcHErqkyW+r9Nc8YtBP8U= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700510260; c=relaxed/simple; bh=6yn7u82jMeBmxpoWFNpwTV63Ujebb9ODT6NAjkgJKzg=; h=Message-ID:Date:MIME-Version:Subject:To:From; b=xqW0kijl75IigzO2Qy7PauHGijbt7e6p6LUszAODv8Cd8Qb2uCp6MU9kNPGxHtMj4dIG2JMxnugfu+m/k8SkAveXRzvwXNTdpIwlXfqEiWrghNR1Cz3tTMocjq3FJ76DvR6txDQL16rDu7YVFAkSScrZOJQZR6kdDMtmoV9HhQo= 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 EFFCD7001EB; Mon, 20 Nov 2023 20:57:37 +0100 (CET) Content-Type: multipart/mixed; boundary="------------WL4GgvDhyMtIK9e06zYcjTAa" Message-ID: Date: Mon, 20 Nov 2023 20:57:38 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH 3/4] libbacktrace: work with aslr on windows Content-Language: de-DE, en-US To: Eli Zaretskii , Gabriel Ravier Cc: gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org References: <20230120105409.54949-1-gcc@hazardy.de> <20230120105409.54949-3-gcc@hazardy.de> <83zgadmik1.fsf@gnu.org> <83k01hm2sm.fsf@gnu.org> <64148e01-15a1-0331-ad52-bf131403ed76@gmail.com> <83h6wkmt0t.fsf@gnu.org> <83pmb8ktbe.fsf@gnu.org> From: =?UTF-8?Q?Bj=c3=b6rn_Sch=c3=a4pers?= In-Reply-To: <83pmb8ktbe.fsf@gnu.org> X-Spam-Status: No, score=-14.8 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,NICE_REPLY_A,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. --------------WL4GgvDhyMtIK9e06zYcjTAa Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit An updated version, using neither A or W, but just the macro. Am 21.01.2023 um 12:42 schrieb Eli Zaretskii: >> Date: Sat, 21 Jan 2023 11:47:42 +0100 >> Cc: gcc@hazardy.de, gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org >> From: Gabriel Ravier >> >> >> On 1/21/23 05:05, Eli Zaretskii wrote: >>>> Date: Fri, 20 Jan 2023 21:39:56 +0100 >>>> Cc: gcc@hazardy.de, gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org >>>> From: Gabriel Ravier >>>> >>>>>> - using wide APIs with Windows is generally considered to be a best >>>>>> practice, even when not strictly needed (and in this case I can't see >>>>>> any problem with doing so, unless maybe we want to code to work with >>>>>> Windows 95 or something like that...) >>>>> There's no reason to forcibly break GDB on platforms where wide APIs >>>>> are not available. >>>> Are there even any platforms that have GetModuleHandleA but not >>>> GetModuleHandleW ? MSDN states that Windows XP and Windows Server 2003 >>>> are the first versions to support both of the APIs, so if this is >>>> supposed to work on Windows 98, for instance, whether we're using >>>> GetModuleHandleA or GetModuleHandleW won't matter. >>> I'm not sure I follow the logic. A program that calls >>> GetModuleHandleW will refuse to start on Windows that doesn't have >>> that API. So any version before XP is automatically excluded the >>> moment you use code which calls that API directly (i.e. not through a >>> function pointer or somesuch). >> A program that calls GetModuleHandleA will also refuse to start on >> Windows if it doesn't have that API. The set of Windows versions that do >> not have GetModuleHandleA is, according to MSDN, the same as the set of >> Windows versions that do not have GetModuleHandleW. > > MSDN lies (because it wants to pretend that older versions don't > exist). Try this much more useful site: > > http://winapi.freetechsecrets.com/win32/WIN32GetModuleHandle.htm --------------WL4GgvDhyMtIK9e06zYcjTAa Content-Type: text/plain; charset=UTF-8; name="0002-libbacktrace-work-with-aslr-on-windows.patch" Content-Disposition: attachment; filename="0002-libbacktrace-work-with-aslr-on-windows.patch" Content-Transfer-Encoding: base64 RnJvbSA1MmNiZTA2YjFjMTY1MTcyMTkxZjY2ZmY3ZTU1YTQ5YWRlY2Y2NjFkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qmo9QzM9QjZybj0yMFNjaD1DMz1B NHBlcnM/PSA8YmpvZXJuQGhhemFyZHkuZGU+CkRhdGU6IFN1biwgMzAgQXByIDIwMjMgMjM6 NTI6MzcgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvM10gbGliYmFja3RyYWNlOiB3b3JrIHdp dGggYXNsciBvbiB3aW5kb3dzCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 CgpBbnkgdW5kZXJmbG93IHdoaWNoIG1pZ2h0IGhhcHBlbiwgd2lsbCBiZSBjb3VudGVyZWQg YnkgYW4gb3ZlcmZsb3cgaW4KZHdhcmYuYy4KClRlc3RlZCBvbiB4ODZfNjQtbGludXggYW5k IGk2ODYtdzY0LW1pbmd3MzIuCgotLSA+OCAtLQoKRml4ZXMgaHR0cHM6Ly9naXRodWIuY29t L2lhbmxhbmNldGF5bG9yL2xpYmJhY2t0cmFjZS9pc3N1ZXMvODkgYW5kCmh0dHBzOi8vZ2l0 aHViLmNvbS9pYW5sYW5jZXRheWxvci9saWJiYWNrdHJhY2UvaXNzdWVzLzgyLgoKCSogcGVj b2ZmLmMgKGNvZmZfYWRkKTogU2V0IHRoZSBiYXNlX2FkZHJlc3Mgb2YgdGhlIG1vZHVsZSwg dG8KCWZpbmQgdGhlIGRlYnVnIGluZm9ybWF0aW9uIG9uIG1vdmVkIGFwcGxpY2F0aW9ucy4K ClNpZ25lZC1vZmYtYnk6IEJqw7ZybiBTY2jDpHBlcnMgPGJqb2VybkBoYXphcmR5LmRlPgot LS0KIGxpYmJhY2t0cmFjZS9wZWNvZmYuYyB8IDIxICsrKysrKysrKysrKysrKysrKysrLQog MSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9saWJiYWNrdHJhY2UvcGVjb2ZmLmMgYi9saWJiYWNrdHJhY2UvcGVjb2ZmLmMK aW5kZXggNTZhZjQ4MjhlMjcuLjljYzEzYjQ3OTQ3IDEwMDY0NAotLS0gYS9saWJiYWNrdHJh Y2UvcGVjb2ZmLmMKKysrIGIvbGliYmFja3RyYWNlL3BlY29mZi5jCkBAIC0zOSw2ICszOSwx OCBAQCBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gICovCiAjaW5jbHVkZSAiYmFja3Ry YWNlLmgiCiAjaW5jbHVkZSAiaW50ZXJuYWwuaCIKIAorI2lmZGVmIEhBVkVfV0lORE9XU19I CisjaWZuZGVmIFdJTjMyX01FQU5fQU5EX0xFQU4KKyNkZWZpbmUgV0lOMzJfTUVBTl9BTkRf TEVBTgorI2VuZGlmCisKKyNpZm5kZWYgTk9NSU5NQVgKKyNkZWZpbmUgTk9NSU5NQVgKKyNl bmRpZgorCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2VuZGlmCisKIC8qIENvZmYgZmlsZSBo ZWFkZXIuICAqLwogCiB0eXBlZGVmIHN0cnVjdCB7CkBAIC02MTAsNiArNjIyLDggQEAgY29m Zl9hZGQgKHN0cnVjdCBiYWNrdHJhY2Vfc3RhdGUgKnN0YXRlLCBpbnQgZGVzY3JpcHRvciwK ICAgaW50IGRlYnVnX3ZpZXdfdmFsaWQ7CiAgIGludCBpc182NDsKICAgdWludHB0cl90IGlt YWdlX2Jhc2U7CisgIHVpbnRwdHJfdCBiYXNlX2FkZHJlc3MgPSAwOworICB1aW50cHRyX3Qg bW9kdWxlX2hhbmRsZTsKICAgc3RydWN0IGR3YXJmX3NlY3Rpb25zIGR3YXJmX3NlY3Rpb25z OwogCiAgICpmb3VuZF9zeW0gPSAwOwpAQCAtODU2LDcgKzg3MCwxMiBAQCBjb2ZmX2FkZCAo c3RydWN0IGJhY2t0cmFjZV9zdGF0ZSAqc3RhdGUsIGludCBkZXNjcmlwdG9yLAogCQkJCSAg KyAoc2VjdGlvbnNbaV0ub2Zmc2V0IC0gbWluX29mZnNldCkpOwogICAgIH0KIAotICBpZiAo IWJhY2t0cmFjZV9kd2FyZl9hZGQgKHN0YXRlLCAvKiBiYXNlX2FkZHJlc3MgKi8gMCwgJmR3 YXJmX3NlY3Rpb25zLAorI2lmZGVmIEhBVkVfV0lORE9XU19ICisgICAgbW9kdWxlX2hhbmRs ZSA9ICh1aW50cHRyX3QpIEdldE1vZHVsZUhhbmRsZSAoTlVMTCk7CisgICAgYmFzZV9hZGRy ZXNzID0gbW9kdWxlX2hhbmRsZSAtIGltYWdlX2Jhc2U7CisjZW5kaWYKKworICBpZiAoIWJh Y2t0cmFjZV9kd2FyZl9hZGQgKHN0YXRlLCBiYXNlX2FkZHJlc3MsICZkd2FyZl9zZWN0aW9u cywKIAkJCSAgICAwLCAvKiBGSVhNRTogaXNfYmlnZW5kaWFuICovCiAJCQkgICAgTlVMTCwg LyogYWx0bGluayAqLwogCQkJICAgIGVycm9yX2NhbGxiYWNrLCBkYXRhLCBmaWxlbGluZV9m biwKLS0gCjIuNDIuMQoK --------------WL4GgvDhyMtIK9e06zYcjTAa--