From patchwork Tue Apr 19 09:53:40 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yao Qi X-Patchwork-Id: 11802 Received: (qmail 41373 invoked by alias); 19 Apr 2016 09:54:18 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 41112 invoked by uid 89); 19 Apr 2016 09:54:17 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1518, 9717, 2016-04-19, 20160419 X-HELO: mail-pf0-f176.google.com Received: from mail-pf0-f176.google.com (HELO mail-pf0-f176.google.com) (209.85.192.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 19 Apr 2016 09:54:01 +0000 Received: by mail-pf0-f176.google.com with SMTP id e128so5295187pfe.3 for ; Tue, 19 Apr 2016 02:54:01 -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:subject:date:message-id; bh=Z9Cb3FPm1Aq+dzEs5lwv5y27bYAb271BITpF6lSGhJI=; b=kD9bVCWWSC9Ef4sGfYft/eaNaY2IzUBZ2Acjgty0TFFRvmDsKDqEzBIEZguf3+L/Ku nXozOgGxjYu6RPoT9+Fjy1Gq7HQrhbeVXcXYvPab/M471uXfa72vf64HAQmI4Bh87kM5 u3qTj78H3qf56VQBigSjve+Am0tkcfZCRlpjNJ6/Ff6t7g6m6KInXtsqY7IwKUT6u/+C iap7y2P0DnpxHAg1LuNSCDpG1xCML3IRYRhaucWCskOr+qh+DokSU/pi6YPusofc11Rm dY73crr7IGZ6ZSONqdctylSm9vT53SokPkR8UYnnFy1JrrFZSQWSHn9RXcrupcWobHkq sJig== X-Gm-Message-State: AOPr4FXxeWmWLdbemIiBL2P3mqfsuu7yyYbKDY04VwWqWo91QetKuQi1mlkEavayZaa2AQ== X-Received: by 10.98.67.67 with SMTP id q64mr2772837pfa.44.1461059639669; Tue, 19 Apr 2016 02:53:59 -0700 (PDT) Received: from E107787-LIN.cambridge.arm.com (gcc1-power7.osuosl.org. [140.211.15.137]) by smtp.gmail.com with ESMTPSA id o7sm89617949pfa.37.2016.04.19.02.53.58 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 19 Apr 2016 02:53:59 -0700 (PDT) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH] Choose TARGET_OBJECT_STACK_MEMORY and TARGET_OBJECT_MEMORY in read_value_memory Date: Tue, 19 Apr 2016 10:53:40 +0100 Message-Id: <1461059620-27870-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes Before this patch https://sourceware.org/ml/gdb-patches/2014-02/msg00709.html read_value_memory checks parameter 'stack', and call read_stack or read_memory respectively. However, 'stack' is not checked and TARGET_OBJECT_MEMORY is always used in target_xfer_partial, which is a mistake in the patch above. This patch checks parameter 'stack', and choose TARGET_OBJECT_MEMORY or TARGET_OBJECT_STACK_MEMORY accordingly. gdb: 2016-04-19 Yao Qi * valops.c (read_value_memory): New local variable 'stack'. Set it to either TARGET_OBJECT_STACK_MEMORY or TARGET_OBJECT_MEMORY. --- gdb/valops.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb/valops.c b/gdb/valops.c index 5a244a9..03d7cac 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -961,6 +961,9 @@ read_value_memory (struct value *val, int embedded_offset, ULONGEST xfered_total = 0; struct gdbarch *arch = get_value_arch (val); int unit_size = gdbarch_addressable_memory_unit_size (arch); + enum target_object object; + + object = stack ? TARGET_OBJECT_STACK_MEMORY : TARGET_OBJECT_MEMORY; while (xfered_total < length) { @@ -968,7 +971,7 @@ read_value_memory (struct value *val, int embedded_offset, ULONGEST xfered_partial; status = target_xfer_partial (current_target.beneath, - TARGET_OBJECT_MEMORY, NULL, + object, NULL, buffer + xfered_total * unit_size, NULL, memaddr + xfered_total, length - xfered_total,