[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171016153055.GD10500@arm.com>
Date: Mon, 16 Oct 2017 16:30:56 +0100
From: Will Deacon <will.deacon@....com>
To: "chengjian (D)" <cj.chengjian@...wei.com>
Cc: catalin.marinas@....com, oleg@...hat.com, linux@...linux.org.uk,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
"Xiexiuqi (Xie XiuQi)" <xiexiuqi@...wei.com>,
Li Bin <huawei.libin@...wei.com>
Subject: Re: A issue about ptrace/SINGLESTEP on arm64
On Mon, Oct 16, 2017 at 12:27:17PM +0800, chengjian (D) wrote:
> Hi
> I write demo use ptrace/SINGLESTEP to count the number of instructions
> executed by the process
> The parent process fork+exec a child process, and trace(SINGLESTEP) it,
>
> It works fine under the x86_64 architecture but has an exception under
> arm64.
My guess is that you are getting stuck in an LDXR/STXR loop, which cannot
be stepped. Can you jump the PC once the child appears to be "stuck"?
IIRC, GDB has special heuristics to step through LDXR/STXR critical
sections.
Will
Powered by blists - more mailing lists