From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11190 invoked by alias); 1 Mar 2019 19:45:49 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 11102 invoked by uid 89); 1 Mar 2019 19:45:46 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-6.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,SPF_PASS autolearn=ham version=3.3.2 spammy=H*f:sk:0338ed2, H*i:sk:0338ed2, H*r:0800 X-HELO: quarantine.blueorigin.com Received: from mx30.blueorigin.com (HELO quarantine.blueorigin.com) (50.225.231.195) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 01 Mar 2019 19:45:44 +0000 Received: from pps.filterd (quarantine.blueorigin.com [127.0.0.1]) by quarantine.blueorigin.com (8.16.0.27/8.16.0.27) with SMTP id x21JhvnS001564 for ; Fri, 1 Mar 2019 11:45:42 -0800 Received: from mail01.blueorigin.com (MAIL01.blueorigin.com [10.1.1.45]) by quarantine.blueorigin.com with ESMTP id 2qyb59r01c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Fri, 01 Mar 2019 11:45:42 -0800 Received: from MAIL01.blueorigin.com (10.1.1.45) by MAIL01.blueorigin.com (10.1.1.45) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 1 Mar 2019 11:45:40 -0800 Received: from MAIL01.blueorigin.com ([fe80::38ac:bda:468a:aa3f]) by MAIL01.blueorigin.com ([fe80::38ac:bda:468a:aa3f%21]) with mapi id 15.00.1395.000; Fri, 1 Mar 2019 11:45:40 -0800 From: Jeff Wandling To: "gdb@sourceware.org" Subject: RE: Debugging big-endian ARM target from little-endian host Date: Fri, 01 Mar 2019 19:45:00 -0000 Message-ID: <672b1bfc87164c27a6a3e655eec6d813@MAIL01.blueorigin.com> References: <0338ed2b221c8a9e40d41037a66d847e@polymtl.ca> In-Reply-To: <0338ed2b221c8a9e40d41037a66d847e@polymtl.ca> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-SW-Source: 2019-03/txt/msg00003.txt.bz2 -----Original Message----- From: Simon Marchi =20 Sent: Thursday, February 28, 2019 6:02 AM To: Jeff Wandling Cc: gdb@sourceware.org Subject: Re: Debugging big-endian ARM target from little-endian host Do "set debug remote 1" and then "continue" so that you hit your breakpoint= . Towards the end of the debug output, you should see a vCont;c packet, wi= th a "stop reply" packet (assuming JLink supports the vCont packet, and you= use the all-stop mode). Here's an example with x86-64: Sending packet: $vCont;c:p209a.-1#da...Packet received:=20 T05swbreak:;06:10ddffffff7f0000;07:10ddffffff7f0000;10:0c46555555550000;thr= ead:p209a.209a;core:0; In the response, you can see a few pairs of register number/register values= . Since you know the PC you expect your program to stop at, it should be f= airly easy to spot the PC register. The value should be in big endian, in = your case. In my case, 10:0c46555555550000 corresponds to the PC value in = little endian: (gdb) p $pc $1 =3D (void (*)()) 0x55555555460c If you have trouble interpreting the debug remote output, pastebin it and s= end the link. Results: https://gist.github.com/jwandblue/e1ede3f41a4e7effa7e80d5066c96724 The interesting result was the JLinkGDBServer doesn't emit the "vCont" pack= et unless I am misreading the result. I'm boxed into a corner since I have a SEGGER JLink dongol and so choosing = to use JLinkGDBServer is not arbitrary.