From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) by sourceware.org (Postfix) with ESMTPS id 8E7EA3858D20 for ; Wed, 21 Feb 2024 07:34:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8E7EA3858D20 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 8E7EA3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::531 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1708500849; cv=none; b=bTDFIF5Jd7eBbuZOY3ffNxNeSJHFS7hR0eyEQFEM6qMfxqutV/Ea6WcCO7XUQ8AGpjvAfergU04Jin+PdxTMEWjthdXHJwr2NxE0skNqxC9CTg3m0XT1g6h0/fn97o2io2QydbaIgMX/++Ue1OZYLgMVeAMVbO/n6nJr7plJAlk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1708500849; c=relaxed/simple; bh=7D7HxeDQL4dF4OO+3AuJdVNEE+NDf9T6p6NQf7XbBBI=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=DwvpbFjYZTHO7qCRATYeD/7jYSC+KkgtPx7BW+H9VbJRCjkPSp/sT+tL4sSksKkc2mBSqxzbEjvlHsVTwROnimxlZi/Z+BbmQT803VhHKcQG2y+0u3COjDgYjl+bPgCh8wDRNVl9xx5P9r0PzhMA20j9J5kxwbPidJhoXzx+TuM= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-563c2b2bddbso8983957a12.1 for ; Tue, 20 Feb 2024 23:34:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1708500842; x=1709105642; darn=sourceware.org; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=tHDrp3dlJTJjTdMrO6d0LQnQhHjhQ5hEHYPn8+gpipo=; b=LNg3SZV1mDotFKGHrGmw6M880KylDn4YcGPRAfb7uHpGNgNdqcpYOfVsyX+I4vn2NX spSVwKQJIVf/CgvC5uuhsoFhQvXVQfzkjmMt7XH7tIgM755050asUTeFS/rpwXemU55c X23TxM95lzCoWZA5uyD69QSg539sCxFmVtEyxUPPSCBtdGBw9hmq5q34+1MG2wzUdBMh EMmAA25PJdOp5gdvt7r8LImU/kH7L41tAXOJzsyV90HCBScIKXoyFG+ecCH856kV0wT3 UelvBgM2mbplToXAjIPtU2uT4Pn5DRhnviU+AbJXr6lWn+/2xSbCcNgxY+YDcrsP9jNg bkpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708500842; x=1709105642; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=tHDrp3dlJTJjTdMrO6d0LQnQhHjhQ5hEHYPn8+gpipo=; b=MzeZTdEwALOnM+GWD3ZYamdqScaqYldYvbAIlk0EW8pa7Z7tDCl5SjoUJ9jaE52PTb 6Ji8AxDQ8LHDQm1fOG8bYK9h5PTmS00tkoTjZs/U/Okn6d0Vbm347phaZ9rwSD8RPoly 1oJFWf8HkH0H1G7VRwQMePfoyA/Kx3bWZhjDLGEUZnfYanA+9JOnITmRA7vkwDvtN4Ok qTdI0CoDJctxzaF1XfDjMvUvv+v/b2UIFeZF45fm7nch5L1HvJEZA1PWGeAWlieA5FAR A0MzyqpWctJUuhGozLoOgmXk7soENVkvJWPZhpCHT2SSWsbq8Gcxxvgtiro4foIlMaBv Qw6g== X-Forwarded-Encrypted: i=1; AJvYcCUL7boh9tEecSjwxldaytOnkda52lbCN0aXUBqoHhl+J5Aomw6Zwy2RU/hQQ3LzbkqJj0WM4ZFQCdbkX+TlJhim4D2Z9N65jA== X-Gm-Message-State: AOJu0YysKRZZHcjGC5JmucAOBa5201dUgKN+Tci4fDSY7NWS1xFPU4OQ Vzee75o7WWNYE4K0uUqlQlx+1QQYRzIwwTDDI4xw3f7WDyxwZcouPx7xYOIZww== X-Google-Smtp-Source: AGHT+IFCuKzKYT0bPWbJiNbBCnE40pdMQvJ2rvLxVRg/fOG1jnGw829M066KfCho8jPf5RbQXxoDXA== X-Received: by 2002:aa7:c68f:0:b0:564:d664:aca4 with SMTP id n15-20020aa7c68f000000b00564d664aca4mr2337227edq.16.1708500842242; Tue, 20 Feb 2024 23:34:02 -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 u6-20020aa7d546000000b0056503299e26sm187527edr.88.2024.02.20.23.34.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 20 Feb 2024 23:34:01 -0800 (PST) Message-ID: Date: Wed, 21 Feb 2024 08:34:01 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] x86: adjust which Dwarf2 register numbers to use Content-Language: en-US To: Indu Bhagat Cc: "H.J. Lu" , Binutils References: <262f296e-673b-47f0-a764-276939161d64@suse.com> <15c6acc7-21f8-44bb-bf0d-97392f2fcd37@oracle.com> From: Jan Beulich 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: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3025.5 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,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: On 21.02.2024 00:04, Indu Bhagat wrote: > On 2/15/24 23:26, Jan Beulich wrote: >> On 15.02.2024 23:22, Indu Bhagat wrote: >>> On 2/9/24 00:11, Jan Beulich wrote: >>>> Consumers can't know which execution mode is in effect for a certain >>>> piece of code; they can only go from object file properties. Hence which >>>> register numbers to encode ought to depend solely on object file type. >>>> >>>> --- a/gas/config/tc-i386.c >>>> +++ b/gas/config/tc-i386.c >>>> @@ -5409,7 +5409,7 @@ ginsn_dw2_regnum (const reg_entry *ireg) >>>> if (ireg->reg_num == RegIP || ireg->reg_num == RegIZ) >>>> return GINSN_DW2_REGNUM_RSI_DUMMY; >>>> >>>> - dwarf_reg = ireg->dw2_regnum[flag_code >> 1]; >>>> + dwarf_reg = ireg->dw2_regnum[object_64bit]; >>>> >>>> if (dwarf_reg == Dw2Inval) >>>> { >>>> @@ -17461,7 +17461,7 @@ tc_x86_parse_to_dw2regnum (expressionS * >>>> if ((addressT) exp->X_add_number < i386_regtab_size) >>>> { >>>> exp->X_add_number = i386_regtab[exp->X_add_number] >>>> - .dw2_regnum[flag_code >> 1]; >>>> + .dw2_regnum[object_64bit]; >>>> if (exp->X_add_number != Dw2Inval) >>>> exp->X_op = O_constant; >>>> } >>> >>> On one hand, I see that the suggested code changes are making things >>> semantically clearer, I would like to understand: >>> >>> 1. If there is a scenario where flag_code is CODE16_BIT / CODE32_BIT and >>> object_64bit equal to 1 is supported. gcc passes --32 when using -m16 >>> or -m32. >> >> Well, gcc may never produce such input, but hand-written assembly can. > > Then, should we also use sp[object_64bit] instead of sp[flag_code >> 1] > in tc_x86_frame_initial_instructions? Otherwise the assert "gas_assert > (exp.X_op == O_constant)" will trigger, e.g. with .code16 and --64. Indeed. Need to make a v3 then, and probably go hunt for any other "flag_code >> 1". It's really odd how "well" those uses are scattered across, with no mention of the need to stay in sync (which wouldn't have been much of a problem if it had been got right from the beginning). Of course I question the invocation of parsing a register name there; the two numbers that can result are well known. Parsing would perhaps be warranted if, say, for COFF different numbers would result (and hence determining them at build time wouldn't be as easy). So I may end up simplifying this beyond just switching to use of object_64bit. Jan