From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10772 invoked by alias); 29 Mar 2016 18:18:29 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 10225 invoked by uid 89); 29 Mar 2016 18:18:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,FROM_LOCAL_NOVOWEL,HK_RANDOM_ENVFROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1180 X-HELO: mail-lb0-f177.google.com Received: from mail-lb0-f177.google.com (HELO mail-lb0-f177.google.com) (209.85.217.177) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 29 Mar 2016 18:18:23 +0000 Received: by mail-lb0-f177.google.com with SMTP id bc4so16441897lbc.2 for ; Tue, 29 Mar 2016 11:18:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=qNB6F4u04kZghBsVfDoVrOz3VJNCQ8KAzKx1nXVOLgQ=; b=Tt8tyBhsUmpr6DKf/O1nQUnAFxPMud33W5nuSseAl8iwo0o/f58AKf2bc1A293fWmq DzabUkTFECT2sV11W+QkYfoQxFKLFl9mDv3ZEMUvs+urc5686c5cP3WwsiLG3l7Gh4ui HkmblbiNYSAyA4Y3/XMmeF4Utsoyo55Xt0F9hZMweR+Sq7N21gZTd6yA/PAwRLFFDYPr 9RVpQrCja4GSK/yxXlqLcAtJsIMi7vnJE4O0QUHeRb09EtmfLS+8usRs4ljVLGKPvado 26dhGMVe2L6EPsDHeYE5ofRnspb1A1LVE3bIgFIdL542dzNpuBgM0Vtmlb9Jv5TWnCN4 9DVw== X-Gm-Message-State: AD7BkJLyKYd/eiRslSwwDa0rIgou6JhNxhDymQBeTsoALIXfqCtM5Ho0SYXGPWCpM2fnzQ== X-Received: by 10.112.126.233 with SMTP id nb9mr1819296lbb.74.1459275500570; Tue, 29 Mar 2016 11:18:20 -0700 (PDT) Received: from octofox.metropolis ([5.19.183.212]) by smtp.gmail.com with ESMTPSA id jm10sm5448674lbc.34.2016.03.29.11.18.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 29 Mar 2016 11:18:19 -0700 (PDT) From: Max Filippov To: gdb-patches@sourceware.org Cc: Maxim Grigoriev , Woody LaRue , Marc Gauthier , Max Filippov Subject: [PATCH v2] gdb: xtensa: fix frame initialization when PC is invalid Date: Tue, 29 Mar 2016 18:18:00 -0000 Message-Id: <1459275473-11718-1-git-send-email-jcmvbkbc@gmail.com> X-SW-Source: 2016-03/txt/msg00528.txt.bz2 When gdb is used on core dump and PC is not pointing to a readable memory read_memory_integer call in the xtensa_frame_cache throws an error, making register inspection/backtracing impossible in that thread. Use safe_read_memory_integer instead. 2016-03-29 Max Filippov gdb/ * xtensa-tdep.c (xtensa_frame_cache): Use safe_read_memory_integer instead of read_memory_integer. --- Changes v1->v2: - use safe_read_memory_integer instead of TRY/CATCH block. gdb/xtensa-tdep.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c index 9e87fa5..9aa6232 100644 --- a/gdb/xtensa-tdep.c +++ b/gdb/xtensa-tdep.c @@ -1293,8 +1293,8 @@ xtensa_frame_cache (struct frame_info *this_frame, void **this_cache) ws = get_frame_register_unsigned (this_frame, gdbarch_tdep (gdbarch)->ws_regnum); - op1 = read_memory_integer (pc, 1, byte_order); - if (XTENSA_IS_ENTRY (gdbarch, op1)) + if (safe_read_memory_integer (pc, 1, byte_order, &op1) + && XTENSA_IS_ENTRY (gdbarch, op1)) { int callinc = CALLINC (ps); ra = get_frame_register_unsigned -- 2.1.4