Fix SH4 register-dump.h for soft-float
Commit Message
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__].
Comments
On 16 Nov 2016 01:39, Joseph Myers wrote:
> 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.
OK
-mike
@@ -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);