Suppress a gcc array bounds overrun warning when filling in the SPARC signal frame by adjusting our definition of the structure so that the fp and callers_pc membes are part of the ins[] array rather than separate fields; since qemu has no need to access the fields individually there is no need to follow the kernel's structure field naming exactly.
Signed-off-by: Peter Maydell <[email protected]> --- This is a fix for another warning that the armel gcc gives: linux-user/signal.c:1979: error: array subscript is above array bounds so if it passes review I think it's a good candidate for putting in 0.14. linux-user/signal.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/linux-user/signal.c b/linux-user/signal.c index 0664770..b01bd64 100644 --- a/linux-user/signal.c +++ b/linux-user/signal.c @@ -1817,9 +1817,10 @@ struct target_sigcontext { /* A Sparc stack frame */ struct sparc_stackf { abi_ulong locals[8]; - abi_ulong ins[6]; - struct sparc_stackf *fp; - abi_ulong callers_pc; + abi_ulong ins[8]; + /* It's simpler to treat fp and callers_pc as elements of ins[] + * since we never need to access them ourselves. + */ char *structptr; abi_ulong xargs[6]; abi_ulong xxargs[1]; -- 1.7.1
