From patchwork Mon Apr 17 16:24:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: hev X-Patchwork-Id: 67825 Return-Path: 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 7F3913857BB2 for ; Mon, 17 Apr 2023 16:25:05 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by sourceware.org (Postfix) with ESMTPS id 2E6F83858C53 for ; Mon, 17 Apr 2023 16:24:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2E6F83858C53 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=hev.cc Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hev.cc Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1a66e7a52d3so6364055ad.0 for ; Mon, 17 Apr 2023 09:24:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hev-cc.20221208.gappssmtp.com; s=20221208; t=1681748681; x=1684340681; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=2NNPIXokggz/odhUmwbZG4n1vvgVJEh27Qxp9aruszU=; b=iggadqRKb2v3TtAFhNRME+t1s+mEIlR+0RLuEev75BxQpY2gbqid+U/pdKbRnRP2fk KBrYSlXkIRkG7dsFPRW0EEMTBxIo1LNnWSc9dwrMWfsHsAQqpGZgkxzO9R+9O38rrCzB Hl+zVLAfhxM9EQ7vJlt2kAGYjF1aqGC3nyk3UFKjrDMLScuIF4p/wTsQ0IX8LH1PKNQO dY804yJ8pQ4SSLd52auQYLXtByIh+205yTSJ9XUnAfDc2UTZrIBcdGBw8VS7RgELWY82 s/PbiukV9o3eWfLHsd21jEoA7euzezNoiGR60E93oz21sNyD3HkhuQb5qrf26I51uQUI zGww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681748681; x=1684340681; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=2NNPIXokggz/odhUmwbZG4n1vvgVJEh27Qxp9aruszU=; b=JveHnsCRoS8viU2hBjWDobHfFEidBkVkW5GHo6tzW3uKllII5ghtZc9trkCIvJk3K7 7ZM3fh5V/yW4bpsAhFDM1FF/lO/qtZG4+GVgk2ABR2EAx4fE0ckg0QOGJbBDhTX35nq7 2Kh047SmZp3sFLLgyVO11WvWILmR2j2PtBesvRQTUWRPg7YZYDz4Ik50mn5Z/h7y8dGj 4qrVBVvgq6o5IifgKCePH/En6U2TIDrcltt+bxXl4FGz8ZgawIbqrnK8DX58ygMfHvBu xDxuq55EP3JpVO+Rq4w+sjjomzJTAdAjbKe8yixWjrhNbtJngq/LQNLomKEtwOdMtW+2 7NCA== X-Gm-Message-State: AAQBX9dms4/YqdsRIyEG6qeTYNb71h29sWIJ3swKTs/LuU9alv5L5yPa T/mqpwrqTETcxU+bXUX95uTcbhKQ0ctVE48CmISkvdZZ2uo= X-Google-Smtp-Source: AKy350Z/5lILv0XQ/lJHBXeeNPienGApish3oxfE+bJnPB1IZrRfVgGr+pwN5N2xkfB9xQSWx49vXQ== X-Received: by 2002:a05:6a00:a8f:b0:62a:4503:53ba with SMTP id b15-20020a056a000a8f00b0062a450353bamr22360461pfl.26.1681748680724; Mon, 17 Apr 2023 09:24:40 -0700 (PDT) Received: from localhost.localdomain ([2400:8901:e002:5400::]) by smtp.gmail.com with ESMTPSA id i16-20020aa78d90000000b005ae02dc5b94sm7819622pfr.219.2023.04.17.09.24.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Apr 2023 09:24:40 -0700 (PDT) From: WANG Rui To: gdb-patches@sourceware.org Cc: Lancelot SIX , WANG Rui Subject: [PATCH] gdb: Fix false match issue in skip_prologue_using_linetable Date: Tue, 18 Apr 2023 00:24:28 +0800 Message-Id: <20230417162428.48426-1-r@hev.cc> X-Mailer: git-send-email 2.40.0 MIME-Version: 1.0 X-Spam-Status: No, score=-13.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, 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: 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: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" We should exclude matches to the ending PC to prevent false matches with the next function, as prologue_end is located at the end PC. : 0x00: ... <-- start_pc 0x04: ... 0x08: ... <-- breakpoint 0x0c: ret : 0x10: ret <-- end_pc | prologue_end of fun2 --- gdb/symtab.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/symtab.c b/gdb/symtab.c index f2b1a14e006..a662d7d1869 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -3735,7 +3735,7 @@ skip_prologue_using_linetable (CORE_ADDR func_addr) }); for (; - it < linetable->item + linetable->nitems && it->pc <= end_pc; + it < linetable->item + linetable->nitems && it->pc < end_pc; it++) if (it->prologue_end) return {it->pc};