From patchwork Fri Jan 19 09:42:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 189466 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:2bc4:b0:101:a8e8:374 with SMTP id hx4csp897556dyb; Fri, 19 Jan 2024 01:44:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IFLL/3m8Xaz06Lsf3DVtmuIUMGaWQERTyA0PR8G2TFt+YnzA46zNsRzDr8Y3vs0VBf39xfm X-Received: by 2002:a25:29c4:0:b0:dbe:a003:a255 with SMTP id p187-20020a2529c4000000b00dbea003a255mr2025849ybp.87.1705657495625; Fri, 19 Jan 2024 01:44:55 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705657495; cv=pass; d=google.com; s=arc-20160816; b=JWZzBxt9eyr6H9wJIr98oFe23cesbEXndSmiF7GzU8b9Ox3KbR7qiHZnN08gGR6xcp guu+sxDzXeQIfOaeJzlQjgahjQ7tZH5qDQTCvwftg0whXgNC1po9YZD3ODSZkj9TSjbF EgKZErEw+EMHWhX6tqaRZNaJ5eZtcJe5A+5UvSs1GZNBcrxYGg/C4Q0M9rAP4rMu/OrW /csXxFxsdBOFBK2ZFDN5cTeq5jNMl0z7EypkSDLbXYK2bUqfAzFai/RV8rlET34OTBzh f5lOILV0h4tFhuTzHqOwe1IEoBxsUxuGpIRxd7CHnqNnWU+XacnFNRABlpa1Njg5+NCq Thvw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:message-id:mime-version:subject :to:from:date:dkim-signature:dkim-signature:dkim-signature :dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=Q1+ArzHBf9ztMkMoSKniON3PUwm+biIkQDGsCKhbvug=; fh=hPrbWPhweUx4V0GV9uXJqbyAzg2ABmTz7kczrAQqMmM=; b=MOIdXxR+Sop4VdU3QNqhIFBDyDb676KYV0WB8jJTrKymhKi3tbk8EOCQOenmWs3NWH yRGt24uROGy1XEem1DU2rQsTjIxcVDiLdaGENG8ALfwu6MbxkejzMPViRkvFvjr8/QAl CQ4j+zXLWTd7YKNvYHMCr5cPSbT+zAGFb7InAo8R8Xj2N+Sb5777szF/1w1KjwgY2I+8 KUa8X0k+aS/UEiIYfxmXv/A/eWPE1khMTqjTJq9q/KKvvnQVh6d+I0Luuvcga2L9Ool1 7YIlZ92nPlg85KGUZ5WpCUhr+3DMMNqfowrmeUvInYuxXDL6TEpctal1TkXb4skvbQpp Sy0A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=ioYzKFez; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=DdJ+r7lR; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id h14-20020a05620a13ee00b00783510da42csi12070377qkl.175.2024.01.19.01.44.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Jan 2024 01:44:55 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=ioYzKFez; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=DdJ+r7lR; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 52C22385800B for ; Fri, 19 Jan 2024 09:44:55 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by sourceware.org (Postfix) with ESMTPS id 487913858422 for ; Fri, 19 Jan 2024 09:42:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 487913858422 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 487913858422 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=195.135.223.130 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705657364; cv=none; b=NcPsnPhPFzurWPcrJ+jB1vSpTutXsG74gM0zC/uMTpnjQka8jQevInh4CFnAO04Iquy1edudBJznu97kGtEQarI1VoR9WZBKxqHm3ivDvTKzy0kioVcYsMKo8N7kAlxA2C8rAMxwnejw8Db3QkLQ5D5ttw7sQ/JXu+h8VL3mLn8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705657364; c=relaxed/simple; bh=UBqd/aP4dPF34/l+ksbPiwOLQvOeEUm1+Y1ifshaQ2U=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:Date: From:To:Subject:MIME-Version:Message-Id; b=xJmi0sABXWOwoGuGlbBKUUvvnLeC5LazI6rNqU4KxlI5cww1v6vf/4zBH2lVOTgG394i+weqxXFNSzvlm+XcIRLiQgW8dgdShiWoV4o7CpWEI98kM0qNp/RFLa7UK3ZE/09hjQ8L5wq9ON5MFWeGoTVYxjEB5A2B8CFtHZUgLEI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id DB63521DCE for ; Fri, 19 Jan 2024 09:42:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1705657361; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type; bh=Q1+ArzHBf9ztMkMoSKniON3PUwm+biIkQDGsCKhbvug=; b=ioYzKFezd8WZui9mEUiA5WwUZH/Sy22nDhocq3CwLdXcW8NkQ6p0pbgLvYTBAXH45tElx3 DCKK8F5YdRQYAseZpGiiJNn1SqLuPQ6yEgpa7Xp2tV1/so3C7zXrZO5BTX3Rc/n5hjAMCN F0owiqW0hwtHiHZkLlQ1bkhFxFkEzkw= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1705657361; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type; bh=Q1+ArzHBf9ztMkMoSKniON3PUwm+biIkQDGsCKhbvug=; b=327TPlF+MtbkUk5mmoe3I0Bu8gfjx16gKWPYkCit/LxZh9UqZ59u15ueqGOYQK3gs9mLm2 gCtT0MYKS+v723AA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1705657360; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type; bh=Q1+ArzHBf9ztMkMoSKniON3PUwm+biIkQDGsCKhbvug=; b=DdJ+r7lRsz/npF0KEIVlSt70+wqZN7W7FwAzUg9hvNZmHK+j/+kBcZeIaMQYK0W1d6i67V 2sTpR4yZ5KC7iRguOl7dUn2VHIjHbblDIPQMUvbB2BIAlaxl9c6t7P/b6RShJ1lThh9nT4 RiBWKlaihs3s4QyTUc5rhocO6fPqJ/A= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1705657360; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type; bh=Q1+ArzHBf9ztMkMoSKniON3PUwm+biIkQDGsCKhbvug=; b=HJAJP34whgY+51F4+EgyrYzJ8r4m8GtqRWPwcnR0jp2cKiz9VcXf8UPmKBTDqMmpSuH1l/ hn33BZLDWAebUUAQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id BAB731388C for ; Fri, 19 Jan 2024 09:42:40 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id Q9RUKxBEqmU9WAAAD6G6ig (envelope-from ) for ; Fri, 19 Jan 2024 09:42:40 +0000 Date: Fri, 19 Jan 2024 10:42:40 +0100 (CET) From: Richard Biener To: gcc-patches@gcc.gnu.org Subject: [PATCH] debug/113488 - DW_AT_abstract_origin to self MIME-Version: 1.0 Message-Id: <20240119094240.BAB731388C@imap1.dmz-prg2.suse.org> X-Spam-Level: Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=DdJ+r7lR; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=HJAJP34w X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Spamd-Result: default: False [-3.56 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FROM_HAS_DN(0.00)[]; DWL_DNSWL_MED(-2.00)[suse.de:dkim]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[gcc-patches@gcc.gnu.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_THREE(0.00)[3]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DKIM_TRACE(0.00)[suse.de:+]; MX_GOOD(-0.01)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:dkim]; FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; NEURAL_HAM_SHORT(-0.20)[-1.000]; RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-0.05)[59.39%] X-Spam-Score: -3.56 X-Rspamd-Queue-Id: DB63521DCE X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1788511514565504354 X-GMAIL-MSGID: 1788511514565504354 The new sanity check avoiding creating of DIE refs to self triggers on the PRs testcase when using -g1 and -ffat-lto-objects as while early DWARF with -g1 doesn't contain any DIEs for LABEL_DECLs later cloning will still mark DECLs as in if they would via dwarf2out_abstract_function calling set_block_origin_self. Instead of messing with the delicate setup of dwarf2out at this stage the following simply rectifies things after the fact during LTO streaming when the decl indicates there's an early DIE but there isn't fixup that indication. LTO bootstrapped and tested on x86_64-unknwon-linux-gnu, pushed. PR debug/113488 * lto-streamer-in.cc (lto_read_tree_1): When there isn't an early DIE but there should be, do not pretend there is. --- gcc/lto-streamer-in.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/lto-streamer-in.cc b/gcc/lto-streamer-in.cc index bef0743b2cd..ad0ca24007a 100644 --- a/gcc/lto-streamer-in.cc +++ b/gcc/lto-streamer-in.cc @@ -1746,6 +1746,11 @@ lto_read_tree_1 (class lto_input_block *ib, class data_in *data_in, tree expr) dref_entry e = { expr, str, off }; dref_queue.safe_push (e); } + /* When there's no early DIE to refer to but dwarf2out set up + things in a way to expect that fixup. This tends to happen + with -g1, see for example PR113488. */ + else if (DECL_P (expr) && DECL_ABSTRACT_ORIGIN (expr) == expr) + DECL_ABSTRACT_ORIGIN (expr) = NULL_TREE; } }