From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x841.google.com (mail-qt1-x841.google.com [IPv6:2607:f8b0:4864:20::841]) by sourceware.org (Postfix) with ESMTPS id B6536383F843 for ; Mon, 8 Jun 2020 12:00:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B6536383F843 Received: by mail-qt1-x841.google.com with SMTP id g18so14319956qtu.13 for ; Mon, 08 Jun 2020 05:00:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=fCjxgIGz+S7pfLaHsJnf/dot47lxzkHkaelOmRARCfk=; b=ukkQWJ8U5CAAN1C7y8zJTy5SQux2yl1K+LVSMSPneDcq3eQxYZNRjvjDSuRRE4eVTm BkEV1uF9OTwgz8BHEPeoO9MftdekrzAsro0u5iIpT3ZGkNG3nGrmBQIEG4LPWOEGXXnj 6DvxdfRMJZNJVWOXH8KcBClIo+pXx6GZmia+8V4pLNoJoDRZabXrF2STS9LLJuxE2KES IxQIOATOfu9EBFKCHZe6SCK+qUAlw3AzNvf7QbVDnbyLfatolKpDfzMC/r8Hvx3M9mQl bwXQoNxO3MK5bslBD/ZbqX9CjO6zHj6UnBpeMT7uCoieS4j/ORdprwJxaIiHvnTRCK1i Bbhg== X-Gm-Message-State: AOAM533IPqMDvblzJ5b1hGeLirbxhD4rkhIVxqBdiieb2aSNUjMPP5bP u7zlg7xrukEDA8vZ53pmSDzlgz7CUZk= X-Google-Smtp-Source: ABdhPJy2OO04zSqmENoMBTxjAvY8BGvk/8lp3MBuyuFAJFxQg6sH0c/EViQkSt91JjuePg7DRJ5LHw== X-Received: by 2002:ac8:4b50:: with SMTP id e16mr23713835qts.159.1591617631868; Mon, 08 Jun 2020 05:00:31 -0700 (PDT) Received: from [192.168.0.185] ([191.34.156.93]) by smtp.gmail.com with ESMTPSA id s45sm7617240qte.26.2020.06.08.05.00.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 08 Jun 2020 05:00:31 -0700 (PDT) Subject: Re: [PATCH v2] [gdb] Support frames inlined into the outer frame To: Simon Marchi , Scott Linder , gdb-patches@sourceware.org References: <41baeec4e477b1287e331e58adb9abf4@scottlinder.com> <20200331191856.31222-1-scott@scottlinder.com> <9e2832f3-c3c4-76da-9c40-85b8055bdee5@simark.ca> <6273d9f5-5c42-620b-daff-c332ab148623@simark.ca> From: Luis Machado Message-ID: Date: Mon, 8 Jun 2020 09:00:26 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <6273d9f5-5c42-620b-daff-c332ab148623@simark.ca> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.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_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jun 2020 12:00:34 -0000 On 6/4/20 4:23 PM, Simon Marchi wrote: > On 2020-06-04 12:11 p.m., Simon Marchi wrote: >> On 2020-03-31 3:18 p.m., Scott Linder wrote: >>> @@ -763,6 +760,24 @@ frame_id_eq (struct frame_id l, struct frame_id r) >>> return eq; >>> } >>> >>> +int >>> +outer_frame_id_p (struct frame_id l) >>> +{ >>> + int p; >>> + >>> + /* The artificial_depth can vary so we ignore it when checking if this is >>> + an outer_frame_id. */ >>> + l.artificial_depth = 0; >>> + p = memcmp (&l, &outer_frame_id, sizeof (outer_frame_id)); >> >> This should be `memcmp (...) == 0`. Currently, the function returns true when >> the frame is not an outer frame id, which is the opposite of what it is supposed >> to do. >> >> With this, the test gdb.base/break.exp on AArch64 runs fine. I will launch a full >> test run to see if there are any other problems. >> >> You can make the new function return "bool" instead of "int", and use true/false instead >> of zero/non-zero (both in the code and comments). >> >> Simon > > With this change, the full test run on AArch64 came out clean. I'll try a try > job on the buildbot, but I haven't had much success with it recently. > > Simon > I don't see the same, even with the fixup of memcmp. Though gdb.base/break.exp has full passes with the change, the following tests internal error with the patch... gdb.mi/mi-nonstop.exp gdb.threads/clone-thread_db.exp gdb.threads/current-lwp-dead.exp gdb.threads/hand-call-in-threads.exp gdb.threads/linux-dp.exp gdb.threads/local-watch-wrong-thread.exp gdb.threads/queue-signal.exp gdb.threads/schedlock.exp gdb.threads/thread_check.exp gdb.threads/tls.exp #1 0x0000ffffb7fa1088 in start_thread () from /lib/aarch64-linux-gnu/libpthread.so.0 ../../../repos/binutils-gdb/gdb/frame.c:551: internal-error: void compute_frame_id(frame_info*): Assertion `frame_id_p (fi->this_id.value)' failed. Scott, could you please send a v3 so I can make sure I tested the right version? I was initially slightly confused with what version Simon was talking about since I had already tested v2.