This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
gdb and binutils branch master updated. 1bab73830f14fc0dcb1b0e7663cf8c2e02b10d72
- From: qiyao at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 18 Dec 2014 12:50:56 -0000
- Subject: gdb and binutils branch master updated. 1bab73830f14fc0dcb1b0e7663cf8c2e02b10d72
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 1bab73830f14fc0dcb1b0e7663cf8c2e02b10d72 (commit)
via cc86d1cb9510dbba32bf19e5d2699f2972efbc03 (commit)
via 2ad47ec43319b87774a276506f48e8e4496bb310 (commit)
from 253342b8e6fbd24249fb84eebc706d923f08406f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1bab73830f14fc0dcb1b0e7663cf8c2e02b10d72
commit 1bab73830f14fc0dcb1b0e7663cf8c2e02b10d72
Author: Yao Qi <yao@codesourcery.com>
Date: Thu Dec 18 20:47:28 2014 +0800
MIPS: Provide FPU info and decode FCSR in `info float'
This patch is the V2. V1 can be found in
https://sourceware.org/ml/gdb-patches/2012-05/msg00938.html
V2 is to address Joel's comment
<https://sourceware.org/ml/gdb-patches/2012-06/msg00289.html> about
keeping dumping floating point registers. Additionally, command
'info float' prints bits on nan2008 and abs2008.
------------------------------------------------------------------
The change below provides a MIPS-specific handler for the:
(gdb) info float
command. It provides information about the FPU type available (if any),
the FPU register width, and decodes the CP1 Floating Point Control and
Status Register (FCSR):
(gdb) print /x $fsr
$1 = 0xff83ffff
(gdb) info float
fpu type: double-precision
reg size: 32 bits
cond : 0 1 2 3 4 5 6 7
cause : inexact uflow oflow div0 inval unimp
mask : inexact uflow oflow div0 inval
flags : inexact uflow oflow div0 inval
rounding: -inf
flush : zero
One point to note about CP1.FCSR are the non-standard Flush-to-Nearest
and Flush-Override bits. They are not a part of the MIPS architecture and
take two positions reserved for an implementation-dependent use in the
architecture. They are present in all the FPU implementations made by
MIPS Technologies since the spin-off from SGI.
I haven't been able to track down a single other MIPS FPU implementation
that would make any use of these bits and they are required to be
hardwired to zero by the architecture specification if unimplemented.
Therefore I think it makes sense to report them in the current way.
GDB has no guaranteed access to the CP0 Processor Identification (PRId)
register to validate this feature properly and the ID information stored
in the CP1 Floating Point Implementation Register (FIR) is from my
experience not reliable enough (there's no Company ID available there for
once unlike in CP0.PRId and Processor ID is not guaranteed to be unique).
As a side note we should probably dump CP1.FIR information as well, as
there's useful stuff indicating some FPU features there. That's material
for another change however.
gdb/
2014-12-18 Nigel Stephens <nigel@mips.com>
Maciej W. Rozycki <macro@codesourcery.com>
* mips-tdep.c (print_fpu_flags): New function.
(mips_print_float_info): Likewise.
(mips_gdbarch_init): Install mips_print_float_info as gdbarch
print_float_info routine.
gdb/testsuite/
2014-12-18 Nigel Stephens <nigel@mips.com>
Maciej W. Rozycki <macro@codesourcery.com>
* gdb.base/float.exp: Handle the new output from "info float" on
MIPS targets.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cc86d1cb9510dbba32bf19e5d2699f2972efbc03
commit cc86d1cb9510dbba32bf19e5d2699f2972efbc03
Author: Yao Qi <yao@codesourcery.com>
Date: Thu Dec 18 20:47:28 2014 +0800
Refactor gdbarch method print_float_info
This patch is to change print_float_info gdbarch method for the
following two reasons,
1. we want to add a default implementation of print_float_info to
dump the float pointer registers. It can be reused by backend to
print something more than float point registers.
2. we want to simplify the caller of print_float_info,
infcmd.c:print_float_info.
gdb:
2014-12-18 Yao Qi <yao@codesourcery.com>
* gdbarch.sh (print_float_info): Change its type from 'M' to 'm'.
* gdbarch.c: Re-generated.
* gdbarch.h: Likewise.
* infcmd.c (default_print_float_info): New function.
(print_float_info): Removed. Move code to
default_print_float_info.
(float_info): Adjust to call gdbarch_print_float_info.
* inferior.h (default_print_float_info): Declare it.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2ad47ec43319b87774a276506f48e8e4496bb310
commit 2ad47ec43319b87774a276506f48e8e4496bb310
Author: Yao Qi <yao@codesourcery.com>
Date: Thu Dec 18 20:47:27 2014 +0800
Remove h8300_print_float_info
In infcmd.c:print_float_info, if the architecture doesn't have gdbarch
method print_float_info implemented and doesn't float reggroup, GDB
will prints "No floating-point info available for this processor."
The h8300 port doesn't have float registers, and don't need to
implement print_float_info. This patch is to remove it.
gdb:
2014-12-18 Yao Qi <yao@codesourcery.com>
* h8300-tdep.c (h8300_print_float_info): Remove.
(h8300_gdbarch_init): Remove the call to
set_gdbarch_print_float_info.
-----------------------------------------------------------------------
Summary of changes:
gdb/ChangeLog | 25 ++++++++++
gdb/gdbarch.c | 13 +-----
gdb/gdbarch.h | 2 -
gdb/gdbarch.sh | 2 +-
gdb/h8300-tdep.c | 9 ----
gdb/infcmd.c | 44 +++++++++---------
gdb/inferior.h | 8 +++
gdb/mips-tdep.c | 93 ++++++++++++++++++++++++++++++++++++++
gdb/testsuite/ChangeLog | 6 +++
gdb/testsuite/gdb.base/float.exp | 9 +++-
10 files changed, 164 insertions(+), 47 deletions(-)
hooks/post-receive
--
gdb and binutils