This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Fix SH4 register-dump.h for soft-float
On Tue, 15 Nov 2016, Mike Frysinger wrote:
> seems like you could just move it into the existing ifdef scope
> rather than duplicating the logic ? fpregs is only used inside
> of an existing if(){...} scope.
Here is a patch which does that. (To be clear, it has to stay outside the
if (), because pointers into it are used by writev after that if () has
finished, so it needs to be live at that point.)
Fix SH4 register-dump.h for soft-float.
This patch fixes SH4 register-dump.h to declare a variable inside the
#ifdef in it is used, to avoid an unused variable error breaking the
build for soft-float.
Tested (compilation only) for SH4 soft-float.
2016-11-16 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/sh/sh4/register-dump.h (register_dump):
Only declare fpregs if [__SH_FPU_ANY__].
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h b/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
index 4a642ab..519a2ce 100644
--- a/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
+++ b/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
@@ -56,7 +56,6 @@ static void
register_dump (int fd, struct sigcontext *ctx)
{
char regs[22][8];
- char fpregs[34][8];
struct iovec iov[22 * 2 + 34 * 2 + 2];
size_t nr = 0;
@@ -144,6 +143,7 @@ register_dump (int fd, struct sigcontext *ctx)
ADD_STRING ("\n");
#ifdef __SH_FPU_ANY__
+ char fpregs[34][8];
if (ctx->sc_ownedfp != 0)
{
hexvalue (ctx->sc_fpregs[0], fpregs[0], 8);
--
Joseph S. Myers
joseph@codesourcery.com