From patchwork Mon Oct 27 03:10:33 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: vkamensky X-Patchwork-Id: 39537 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ee0-f72.google.com (mail-ee0-f72.google.com [74.125.83.72]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 1794A24026 for ; Mon, 27 Oct 2014 03:11:08 +0000 (UTC) Received: by mail-ee0-f72.google.com with SMTP id d17sf236706eek.11 for ; Sun, 26 Oct 2014 20:11:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:mailing-list :precedence:list-id:list-unsubscribe:list-subscribe:list-archive :list-post:list-help:sender:delivered-to:from:to:cc:subject:date :message-id:in-reply-to:references:x-original-sender :x-original-authentication-results; bh=AdpdJlmAGmdBeGYCzvZRgTsV79AFnn7+9dJOcG9te28=; b=lW5ZUUmRmjyOQnGIl4UKnmuaK6YIYKUyV0tYVvNToESywyFaBbiRTI5ZJUOyqjfEbK itRzBWW+GT9aD3RhDog1QxuixDk0n1xaEXNMHLNQ1ZxaQdqO0oYhi4jl1yYNjWPg6x7j MOW4wBj8T1WUcF1xlYRm9q6B3I9ELrmW0xPHlFl/K4JZjJZ1ikdx3LnTvy7fq1ag/C4t 0K//Gt9+YS3AXhxPj26wEMzVIQmGdPHkPorVchuK82Nrn6jHmc3z5EkKbTLeI3dcpSbe wKY82nTOr/Zk+PDf/EeL8AGS1wSVmROH69I1UMqbEEeuoVugGmo0wcYbx8R9jLiSnpjR OsVA== X-Gm-Message-State: ALoCoQkgAF5j4U3iuHBuho/xUbU6/tlCdy2WQqUPg6e8/MoCPGm0TDjNpapnp1cKxQOvKHLuri2o X-Received: by 10.112.137.202 with SMTP id qk10mr25659lbb.11.1414379466947; Sun, 26 Oct 2014 20:11:06 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.27.129 with SMTP id t1ls609347lag.53.gmail; Sun, 26 Oct 2014 20:11:06 -0700 (PDT) X-Received: by 10.152.1.42 with SMTP id 10mr20778459laj.4.1414379466814; Sun, 26 Oct 2014 20:11:06 -0700 (PDT) Received: from mail-lb0-x22b.google.com (mail-lb0-x22b.google.com. [2a00:1450:4010:c04::22b]) by mx.google.com with ESMTPS id ei3si17800552lad.84.2014.10.26.20.11.06 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 26 Oct 2014 20:11:06 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::22b as permitted sender) client-ip=2a00:1450:4010:c04::22b; Received: by mail-lb0-f171.google.com with SMTP id z11so1559082lbi.30 for ; Sun, 26 Oct 2014 20:11:06 -0700 (PDT) X-Received: by 10.112.138.196 with SMTP id qs4mr19147066lbb.83.1414379466581; Sun, 26 Oct 2014 20:11:06 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.84.229 with SMTP id c5csp223918lbz; Sun, 26 Oct 2014 20:11:05 -0700 (PDT) X-Received: by 10.68.243.34 with SMTP id wv2mr40710pbc.146.1414379464974; Sun, 26 Oct 2014 20:11:04 -0700 (PDT) Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id kk11si9471948pbd.25.2014.10.26.20.11.04 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 26 Oct 2014 20:11:04 -0700 (PDT) Received-SPF: pass (google.com: domain of gdb-patches-return-117035-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Received: (qmail 5566 invoked by alias); 27 Oct 2014 03:10:48 -0000 Mailing-List: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org Precedence: list 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 5358 invoked by uid 89); 27 Oct 2014 03:10:47 -0000 X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-pa0-f44.google.com Received: from mail-pa0-f44.google.com (HELO mail-pa0-f44.google.com) (209.85.220.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 27 Oct 2014 03:10:46 +0000 Received: by mail-pa0-f44.google.com with SMTP id bj1so976812pad.17 for ; Sun, 26 Oct 2014 20:10:45 -0700 (PDT) X-Received: by 10.66.187.234 with SMTP id fv10mr21171963pac.60.1414379444950; Sun, 26 Oct 2014 20:10:44 -0700 (PDT) Received: from kamensky-w530.cisco.com (128-107-239-233.cisco.com. [128.107.239.233]) by mx.google.com with ESMTPSA id sb2sm9410723pbc.24.2014.10.26.20.10.43 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 26 Oct 2014 20:10:44 -0700 (PDT) From: Victor Kamensky To: gdb-patches@sourceware.org, Yao Qi Cc: Andrew Pinski , victor.kamensky@linaro.org Subject: [PATCH V4 2/3] ARM: arm_breakpoint should be little endian form in case for arm BE8 Date: Sun, 26 Oct 2014 20:10:33 -0700 Message-Id: <1414379434-5217-3-git-send-email-victor.kamensky@linaro.org> In-Reply-To: <1414379434-5217-1-git-send-email-victor.kamensky@linaro.org> References: <1414379434-5217-1-git-send-email-victor.kamensky@linaro.org> X-Original-Sender: victor.kamensky@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::22b as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org; dkim=pass header.i=@sourceware.org X-Google-Group-Id: 836684582541 tdep->arm_breakpoint, tdep->thumb_breakpoint, tdep->thumb2_breakpoint should be set le_ variants in case of arm BE8 code. Those instruciton sequences are writen to target with simple write_memory, without regarding gdbarch_byte_order_for_code. But in BE8 case even data memory is in big endian form, instructions are still in little endian form. Because of this issue there are many issues while running gdb test case in armv7b mode. For example gdb.arch/arm-disp-step.exp test fails because it gets SIGILL when displaced instrucion sequence reaches break instruction, which is in wrong byte order. Solution is to set tdep->xxx_breakpoint sequences in BE8 case (i.e when gdbarch_byte_order_for_code is BFD_ENDIAN_BIG. gdb/ChangeLog: 2014-10-21 Victor Kamensky * arm-linux-tdep.c (arm_linux_init_abi): Use info.byte_order_for_code to choose endianity of breakpoint instructions snippets. --- gdb/arm-linux-tdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c index e3587f3..2e79658 100644 --- a/gdb/arm-linux-tdep.c +++ b/gdb/arm-linux-tdep.c @@ -1361,7 +1361,7 @@ arm_linux_init_abi (struct gdbarch_info info, linux_init_abi (info, gdbarch); tdep->lowest_pc = 0x8000; - if (info.byte_order == BFD_ENDIAN_BIG) + if (info.byte_order_for_code == BFD_ENDIAN_BIG) { if (tdep->arm_abi == ARM_ABI_AAPCS) tdep->arm_breakpoint = eabi_linux_arm_be_breakpoint;