From patchwork Tue Apr 18 03:16:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: hev X-Patchwork-Id: 67867 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 AB2D73857703 for ; Tue, 18 Apr 2023 03:16:56 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com [IPv6:2607:f8b0:4864:20::52c]) by sourceware.org (Postfix) with ESMTPS id C5F9F3858D28 for ; Tue, 18 Apr 2023 03:16:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C5F9F3858D28 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-pg1-x52c.google.com with SMTP id f14so2754238pgl.2 for ; Mon, 17 Apr 2023 20:16:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hev-cc.20221208.gappssmtp.com; s=20221208; t=1681787798; x=1684379798; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=zDUVo56YEjES8N2p379JVd7zJ2lrUqiJmTiBaBkq86M=; b=1CDmVWZxCSPZ1JqvtWkqinV2Qg1qCJ89eOTRNZHUORSOEhJzu3YIOhw2TrtGgHO39I let1cD3XuPTJcmzGK7h2IC2ZNRwMQQpg0rdrvhGzXFQV+F4v8TnvNoJu5o6be7t/gSuv 5KPKeFo6Jemkcz3+9D+Q1JXTUjuDh4cvBq6C3pfpJkrmY3LEbZV+Rx083w17GHthQ/Hb P08glf2Df+76TKOVQLjm+3fpiGICqn2LFQ0zG6+Rut1gFZami08GpkKVY714ej7Sr++I LJQm0/tSG/QP23mf8mzpxHuOQeB9m3NFhy8KMytF671haf2sjfls7L+/u2mQNQXWJbQx ROJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681787798; x=1684379798; 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=zDUVo56YEjES8N2p379JVd7zJ2lrUqiJmTiBaBkq86M=; b=L0ekfvkPBOWIK4KWbpXDLa5mYyB4XoHQQ08BkOXK+F2A8+ajidYhagJ8d3/Wi9irUB /CGakqUIG8WkC1h/AkUSWVmoZnxfax6BBtKqxOCbWK3nouOimie5hPQbJ3A/qJzzeCds d2y4jP+/QYzCtJPpwOnRMSQZzhOdQjV4x1XfWvL/nEezLxMEFEZpjon9p6dm155+OYgM XzxQ0QO7lzROBBEuAZH9KyKioIoxINOlnibFA7qxJuO6Ni01EOz9gikjF+fb6TcG7m12 46seW1j7gycmFwamQC09a1GYcLz9JB38rMi194UJuSj0f3d3wclQZ2hUobv3E2f7sLOb Q9pA== X-Gm-Message-State: AAQBX9cjCNzs0VQ4KOaDqItYgp/KOJX28EdwOzSpP+rdgF2QLSop74i9 3Oh6rZOsZWR2THYwTQExMGdgEG/Ip30ZYck4YTzZKBa9nOc= X-Google-Smtp-Source: AKy350YeoD/lCxi/C/YjYwU0QJWCsfPI67iSsmmWwmJ77iFTTPzS+2jywvtoBJ9nBKymGEK7S7vm7Q== X-Received: by 2002:a05:6a20:c530:b0:eb:d63f:c76d with SMTP id gm48-20020a056a20c53000b000ebd63fc76dmr16757297pzb.12.1681787798224; Mon, 17 Apr 2023 20:16:38 -0700 (PDT) Received: from localhost.localdomain ([2400:8901:e002:5400::]) by smtp.gmail.com with ESMTPSA id c17-20020a62e811000000b0063b8f17768dsm2828874pfi.129.2023.04.17.20.16.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Apr 2023 20:16:37 -0700 (PDT) From: WANG Rui To: gdb-patches@sourceware.org Cc: Lancelot SIX , WANG Rui Subject: [PATCH v2] gdb: Fix false match issue in skip_prologue_using_linetable Date: Tue, 18 Apr 2023 11:16:22 +0800 Message-Id: <20230418031622.55130-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 9e9798676cb..a789512d60b 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -3705,7 +3705,7 @@ skip_prologue_using_linetable (CORE_ADDR func_addr) for (; (it < linetable->item + linetable->nitems - && it->raw_pc () <= unrel_end); + && it->raw_pc () < unrel_end); it++) if (it->prologue_end) return {it->pc (objfile)};