Message ID | aa3ba66c-cedb-4dc4-9cab-cabed4770e2b@suse.com |
---|---|
State | New |
Headers |
Return-Path: <binutils-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 72C463858C33 for <patchwork@sourceware.org>; Mon, 3 Feb 2025 11:44:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 72C463858C33 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=google header.b=WZZeE1vz X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by sourceware.org (Postfix) with ESMTPS id 741E43858290 for <binutils@sourceware.org>; Mon, 3 Feb 2025 11:42:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 741E43858290 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 741E43858290 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::535 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738582932; cv=none; b=GN2OxM6g7XauohWUqTDXf7julAqQJQCl15jGPSVggiv2Rt9kmxDvc/DGbnjv9T24m5mBq68W9pl1JGkKTgZHhheSeGH7Tv473U+5kRs3GEsCYPkYuJEdNOh0kEe3ppzmknL6NnSZXv67cBFLzi1xN5GOX07yDnAwzHyk4QCm0eM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738582932; c=relaxed/simple; bh=iP4Bmomia4gAK5L9cBaA/7sE4ac/dDuQZjssdKDO+kA=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:From:To; b=i/isKV5yY3hugYu8B6kPWHuwk7WrslHaTNuD1LvEmpSCqxvi2FOn520zPPHIo84toBn+/kDYcnUIOLGF+8T7/C5IZbNc9+vBkSBw0OuuqneYSZENyTYQcOzaR9y4q9zGqaQmmytV9x3Ntij1Wbg9FBGdP6UnmIG/LIv4Rpj9mUI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 741E43858290 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-5d3bdccba49so7342970a12.1 for <binutils@sourceware.org>; Mon, 03 Feb 2025 03:42:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1738582920; x=1739187720; darn=sourceware.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=mztXHz3AJXnTHBzKEqABzXUEWdfl2MrwU+9arZVSYKI=; b=WZZeE1vzHQDS7pryPO/1brpnfZjYAG9SE6rCfIOcUCKbgPV1Mq+Ap00xNPuszCwwUb R8lRMPJgUy3zBIYR1mNEEwkwXaBlIpqQgDscfHsCV7JRBa5SUXfpboUUqxvlkQR6OOuo bpAC7dsebXFU16eVC5mN2dHJYEJ7fbOmxiodssvTrYUFkUi2p0VlgWVYmVpaxYMHNno3 n+sG8Y3l19b0LQGgP8zcqeuauLvCYttWMzVPBGTha6sec2s/Eu+z8lmDQNP6YsvYxaCl dQJmkB3hV0BQE3Qmy/0U//KNNORCxS5a3L7/zkLe/pfDP5fJOTePjG8MrCLrmQp0AZfQ 66gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738582920; x=1739187720; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mztXHz3AJXnTHBzKEqABzXUEWdfl2MrwU+9arZVSYKI=; b=C1//zscJwkVdMTmW+1DA6LGZE/p3hKzIkF7FXgkFf8ILNT2csib+o40ShR4AGzuHju yEVfJrdlTmP6Clo5ZaZSCOn/wuZL0lKHjJMjAdsn4f5K6DFs9uDvKsAX7IO/nOOuKwvz s4u/l52erkI/OgFk5LzWzGUqHWwZgd5SSNXjtPE61uaPe1iAqnrIs2bPMp68uvfGeJJk 1eFaAGWp+XLgQNYgAJkoiqf1ooovl6gL8wC377D3pQ3MqGB/yZwy4iBDGxlK5RxfinxJ E+60K4NeiOVGPtH+mv0O2W1pvA+hfXnIyioJT2256N20W4rmwIIRyWHwL8BTVGFZnEdo IYRg== X-Gm-Message-State: AOJu0YxQsyppEAEbwI/FLKzA3Hdn8fCIhczdas93GbqKiBKjedcb/2a0 oDO1cLgMgO0HIAYmsR7A2H1Ar4GZlaJr7Hus7P2Kto/D1b7kqDoQuOqp/cE23o0lvE6Ecq2apY0 = X-Gm-Gg: ASbGncv8w3GaPQ7MMVMdLia3g0Aj/ApF/bJRYAaXHV/bBEbrn6AzCPxeynoTYOyax4L 9xIk1I7uRlcDIR4BHdZd1EbuxAJXwUUa8eOTE0HKUl8lZuROLccV2TrPRVlc20fbXGsVjtGVpRc F+CRotNA0v1Q/ddY+YpULemZrEcNcdr+odFZ5Vv3xYymO77WuqVWGDD6uuP0yBI+3mD2v2aWTWY bIXVIbFv9txLcgWB9zzE7izZgokebep/kMZGH+V/LGtUsWXlJTy+0nFDOzK+8PpluxLLpkgS8up ysWNddV2OGMEMYy/uw1rLgi5aiqGHihp6LKbFaBWbCuh4N+OBKtNHFjY6wzWkZPfn+zbQIm9+/N r X-Google-Smtp-Source: AGHT+IHvnnQcROG6w1KVZhl8iF5e3cK/6nOQ6N9RxCM2o875wKZFwFLPAciXy+7XHKON1jYucp6skA== X-Received: by 2002:a17:907:6d12:b0:aaf:1183:e9be with SMTP id a640c23a62f3a-ab6cfc857f4mr2360280566b.2.1738582920206; Mon, 03 Feb 2025 03:42:00 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab6ee3ded78sm684320066b.90.2025.02.03.03.41.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 03 Feb 2025 03:41:59 -0800 (PST) Message-ID: <aa3ba66c-cedb-4dc4-9cab-cabed4770e2b@suse.com> Date: Mon, 3 Feb 2025 12:42:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 5/5] ix86: restrict use of GOT32X relocs From: Jan Beulich <jbeulich@suse.com> To: Binutils <binutils@sourceware.org> Cc: "H.J. Lu" <hjl.tools@gmail.com> References: <5bc20aeb-77a8-49c5-9aa1-3548ae39d462@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <5bc20aeb-77a8-49c5-9aa1-3548ae39d462@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3022.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list <binutils.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/binutils>, <mailto:binutils-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/binutils/> List-Post: <mailto:binutils@sourceware.org> List-Help: <mailto:binutils-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/binutils>, <mailto:binutils-request@sourceware.org?subject=subscribe> Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org |
Series |
x86: further GOT{,PCREL} related adjustments
|
|
Checks
Context | Check | Description |
---|---|---|
linaro-tcwg-bot/tcwg_binutils_build--master-arm | success | Build passed |
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 | success | Build passed |
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 | success | Test passed |
linaro-tcwg-bot/tcwg_binutils_check--master-arm | success | Test passed |
Commit Message
Jan Beulich
Feb. 3, 2025, 11:42 a.m. UTC
The linker rejects use of this reloc type without a base register for PIC code. Suppress its use by gas in such cases. --- The linker also rejects use of GOT32, but that's an issue the programmer has to deal with. In the assembler we need to avoid doing something wrong that the programmer has not explicitly asked for.
Comments
On Mon, Feb 3, 2025 at 7:42 PM Jan Beulich <jbeulich@suse.com> wrote: > > The linker rejects use of this reloc type without a base register for > PIC code. Suppress its use by gas in such cases. > --- > The linker also rejects use of GOT32, but that's an issue the programmer > has to deal with. In the assembler we need to avoid doing something > wrong that the programmer has not explicitly asked for. > > --- a/gas/config/tc-i386.c > +++ b/gas/config/tc-i386.c > @@ -12990,7 +12990,8 @@ output_disp (fragS *insn_start_frag, off > } > } > else if (generate_relax_relocations > - || (i.rm.mode == 0 && i.rm.regmem == 5)) > + ? (!shared || i.rm.mode != 0 || i.rm.regmem != 5) > + : (!shared && i.rm.mode == 0 && i.rm.regmem == 5)) > fixP->fx_tcbit2 = 1; > } > } > Please add a testcase to show it makes a difference. Thanks.
On 03.02.2025 23:41, H.J. Lu wrote: > On Mon, Feb 3, 2025 at 7:42 PM Jan Beulich <jbeulich@suse.com> wrote: >> >> The linker rejects use of this reloc type without a base register for >> PIC code. Suppress its use by gas in such cases. >> --- >> The linker also rejects use of GOT32, but that's an issue the programmer >> has to deal with. In the assembler we need to avoid doing something >> wrong that the programmer has not explicitly asked for. >> >> --- a/gas/config/tc-i386.c >> +++ b/gas/config/tc-i386.c >> @@ -12990,7 +12990,8 @@ output_disp (fragS *insn_start_frag, off >> } >> } >> else if (generate_relax_relocations >> - || (i.rm.mode == 0 && i.rm.regmem == 5)) >> + ? (!shared || i.rm.mode != 0 || i.rm.regmem != 5) >> + : (!shared && i.rm.mode == 0 && i.rm.regmem == 5)) >> fixP->fx_tcbit2 = 1; >> } >> } > > Please add a testcase to show it makes a difference. Such a testcase wouldn't fit my quality criteria, I'm afraid: It would likely need to look for the specific diagnostic text, and that's what I'm pretty sure you know I argue against when others try to add such tests. It'll also be in the linker testsuite, despite testing gas behavior. All this said, I guess I'll think about making a testcase nevertheless. Jan
On Tue, Feb 4, 2025 at 3:24 PM Jan Beulich <jbeulich@suse.com> wrote: > > On 03.02.2025 23:41, H.J. Lu wrote: > > On Mon, Feb 3, 2025 at 7:42 PM Jan Beulich <jbeulich@suse.com> wrote: > >> > >> The linker rejects use of this reloc type without a base register for > >> PIC code. Suppress its use by gas in such cases. > >> --- > >> The linker also rejects use of GOT32, but that's an issue the programmer > >> has to deal with. In the assembler we need to avoid doing something > >> wrong that the programmer has not explicitly asked for. > >> > >> --- a/gas/config/tc-i386.c > >> +++ b/gas/config/tc-i386.c > >> @@ -12990,7 +12990,8 @@ output_disp (fragS *insn_start_frag, off > >> } > >> } > >> else if (generate_relax_relocations > >> - || (i.rm.mode == 0 && i.rm.regmem == 5)) > >> + ? (!shared || i.rm.mode != 0 || i.rm.regmem != 5) > >> + : (!shared && i.rm.mode == 0 && i.rm.regmem == 5)) > >> fixP->fx_tcbit2 = 1; > >> } > >> } > > > > Please add a testcase to show it makes a difference. > > Such a testcase wouldn't fit my quality criteria, I'm afraid: It would > likely need to look for the specific diagnostic text, and that's what > I'm pretty sure you know I argue against when others try to add such > tests. > > It'll also be in the linker testsuite, despite testing gas behavior. That is true for this kind of changes. > All this said, I guess I'll think about making a testcase nevertheless. > > Jan
--- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -12990,7 +12990,8 @@ output_disp (fragS *insn_start_frag, off } } else if (generate_relax_relocations - || (i.rm.mode == 0 && i.rm.regmem == 5)) + ? (!shared || i.rm.mode != 0 || i.rm.regmem != 5) + : (!shared && i.rm.mode == 0 && i.rm.regmem == 5)) fixP->fx_tcbit2 = 1; } }