This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] [SPARC] callfuncs.exp: avoid spurious register differences in sparc64 targets.
- From: Pedro Alves <palves at redhat dot com>
- To: "Jose E. Marchesi" <jose dot marchesi at oracle dot com>, gdb-patches at sourceware dot org
- Date: Thu, 19 Nov 2015 16:18:11 +0000
- Subject: Re: [PATCH] [SPARC] callfuncs.exp: avoid spurious register differences in sparc64 targets.
- Authentication-results: sourceware.org; auth=none
- References: <87ziyam0yh dot fsf at oracle dot com>
On 11/19/2015 04:02 PM, Jose E. Marchesi wrote:
>
> Hi all! Ok to commit?
>
> commit 50fa72dabc43ba7fabbd5d213013d78cd22e2342
> Author: Jose E. Marchesi <jose.marchesi@oracle.com>
> Date: Thu Nov 19 10:55:06 2015 -0500
>
> callfuncs.exp: avoid spurious register differences in sparc64 targets.
>
> The Linux kernel disables the FPU upon returning to userland. This
> introduces spurious failures in the register preservation tests in
> callfuncs.exp, since the pstate.PEF bit gets cleared after system calls.
> + -re "^pstate\[ \t\]+\[^\r\n\]+\r\n" {
> + if [istarget "sparc64-*-linux-gnu"] {
> + # Filter out the pstate register, since in sparc64
> + # targets the Linux kernel disables pstate.PEF when
> + # returning from traps, giving spurious differences.
Isn't this a kernel bug? It sounds like it's impossible to debug FPU
code if you e.g. step over FPU instructions?
> + } else {
> + lappend all_registers_lines $expect_out(0,string)
> + }
> + exp_continue
> + }
Thanks,
Pedro Alves