From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sonicconh6003-vm2.mail.ssk.yahoo.co.jp (sonicconh6003-vm2.mail.ssk.yahoo.co.jp [182.22.37.43]) by sourceware.org (Postfix) with ESMTPS id 2804B3858D38 for ; Sat, 18 Feb 2023 04:54:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2804B3858D38 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=yahoo.co.jp Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=yahoo.co.jp X-YMail-OSG: trtIY.QVM1kAE4iWy.TsPMr1tapvefXqmSY6DynLwZEh50wDYuTqNXX739UW2YF HdIlr8_As0Fwg58CupwVzO8Ri3DlyPtyARRJG93gZjV_soIHcGVsXS2TBRD8HF7VZ3hzLQ6ae8l5 L2.0hGSanEvgP62aYzaug6wRu7vIO5fBnXGrc.izDaRzhxQPSCBQVCNrdLA0hl8oH5TgKH1sKTxz YSfhd0X2jTg7.rrlDgCmbXTXO4au1qbN1aDdD.fbhX_KBHlKZqj2BZ0nGyEKgaLRakpOkGzTWr5X Ei3uLXgD0lYGmyYVdaiMu1n6YobvgmpvEasCuDH0AGd0Ju453iYSDVZBIKYhQv6zPsHvBMwkc4wP 6IAOfRGyXK9E5uvDnjmvp1gphnruwyT1Hxc50IHBqwRtSasC1Xoz9qXnqa98Yq5jfCD5RozCkzHv KaYlECbWnGxGUFBUZwUm61bGrrVn657Ckzeev43pYde2G7ZXI4R7sc5a45x16pxEVHvVESDOPMWD kBGQ9u5sUYCoEEfzvptxrI2FDs5.yu2xvey2YQLZeB9cM2jD0ISklouZmAP7pzoprL7KDwHFl9Pp hYxFn6YyeZurpoad8UAxp5YqzXsmbBQ6ykEbJ5eSv2c2Lo4xBKPzjDZOQJLL3.Rq0Nrv958wJo6q wWw90z.RbfQDmseyFJpzMnOZL.IsNbj54zkLygmRzHT_RJMD6F0qGOYetcWFFMv_cOOu4dD7iCmG 82mlOxoBT3yS060eVRlr9SUhdVxoc4nFjADqkuv2ry9sI80rwxpEioK4B5hkZzfsa5Ej6yK2qqzf .qllyeCCn9iZ779Sqtd.oGcPvzThQ7P6.eiXxHrRBBcxGZqEh9JHqT_LcJ5Dpw0xKE1aX112B5OK g8KX6B5p4ZuQEvNi_9yTBXQ9HbRhCm5rsC4PYIt.kgI5BWs9bjR2bHhsq3sPiEK5Q0eQaGMrO5tA Xnck- Received: from sonicgw.mail.yahoo.co.jp by sonicconh6003.mail.ssk.yahoo.co.jp with HTTP; Sat, 18 Feb 2023 04:54:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1676696057; s=yj20110701; d=yahoo.co.jp; h=Message-ID:Date:MIME-Version:To:Cc:From:Subject:Content-Type:Content-Transfer-Encoding:References; bh=RAzD6U7q9K9hbA3RhmJmHxvf5ZoUIfO0kPXQDwpTq0s=; b=YKfJbxi+cFfCnurjTAVP6CE+bUE1/mYFuvDGnTLjSkKMxi7WqsTdR17v9mthNvhs cTv3jpWMDL6w9t0wBCPAtNNdN+lw6xF9L+2xkwrJxEih2j+4tWCs58qGd/edJPEOvyL cdqrMu7VpXtRD+i4D0V0zLEpNfFG3AcEJ3uWnqC4= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=yj20110701; d=yahoo.co.jp; h=Message-ID:Date:MIME-Version:Cc:From:Content-Type:Content-Transfer-Encoding:References; b=Hgtc2aLxgr5TGHd4eFmR8kqEcs0+yLzo9BJUvKceaUk/FFfIc4Y5qQDcc6NNEAzB BLdKAf2F9u9ScOzM/+UO4AGYVSas3Gc+t2hynMs5F3A3j1ZfmtBOHf6xmkCro2HsQHB vPXyB9E7T9W3YXD5/gkyGm6tCesMAk+K4ZWr0A2w=; Received: by smtphe6005.mail.ssk.ynwp.yahoo.co.jp (YJ Hermes SMTP Server) with ESMTPA ID bc47658f9b980c9e98c21692a1a13691; Sat, 18 Feb 2023 13:54:13 +0900 (JST) Message-ID: Date: Sat, 18 Feb 2023 13:54:10 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 To: GCC Patches Cc: Max Filippov From: Takayuki 'January June' Suwa Subject: [PATCH] xtensa: Enforce return address saving when -Og is specified Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit References: X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,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 List-Id: Leaf function often omits saving its return address to the stack slot, and this feature often makes debugging very confusing, especially for stack dump analysis. gcc/ChangeLog: * config/xtensa/xtensa.cc (xtensa_call_save_reg): Change to return true if register A0 (return address register) when -Og is specified. --- gcc/config/xtensa/xtensa.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc index d987f1dfede..1d9e4d1561a 100644 --- a/gcc/config/xtensa/xtensa.cc +++ b/gcc/config/xtensa/xtensa.cc @@ -3224,8 +3224,11 @@ xtensa_call_save_reg (int regno) return false; if (regno == A0_REG) - return crtl->profile || !crtl->is_leaf || crtl->calls_eh_return || - df_regs_ever_live_p (regno); + /* Ensure the return address to be saved to the stack slot in order + to assist stack dump analysis when -Og is specified. */ + return optimize_debug + || crtl->profile || !crtl->is_leaf || crtl->calls_eh_return + || df_regs_ever_live_p (regno); if (crtl->calls_eh_return && IN_RANGE (regno, 2, 3)) return true; -- 2.30.2