This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Fix ARM big-endian struct arg passing
- From: Richard Earnshaw <richard dot earnshaw at buzzard dot freeserve dot co dot uk>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 19 Jun 2007 23:42:29 +0100
- Subject: Re: Fix ARM big-endian struct arg passing
- References: <Pine.LNX.4.64.0706191808440.15926@digraph.polyomino.org.uk>
On Tue, 2007-06-19 at 18:11 +0000, Joseph S. Myers wrote:
> This patch fixes GDB incorrectly aligning part-register arguments on
> big-endian ARM. It changes the following tests from FAIL to PASS in
> testing with a cross to arm-linux-gnueabi (big-endian multilib); OK to
> commit?
>
> gdb.base/structs.exp: p/c L<n>; call 1 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 1 structs-ts
> gdb.base/structs.exp: p/c L<n>; call 10 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 11 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 13 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 14 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 15 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 2 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 3 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 3 structs-tc-ts
> gdb.base/structs.exp: p/c L<n>; call 3 structs-ts
> gdb.base/structs.exp: p/c L<n>; call 4 structs-ts-tc
> gdb.base/structs.exp: p/c L<n>; call 5 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 5 structs-tc-ts
> gdb.base/structs.exp: p/c L<n>; call 5 structs-ts
> gdb.base/structs.exp: p/c L<n>; call 5 structs-ts-tc
> gdb.base/structs.exp: p/c L<n>; call 6 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 7 structs-tc
> gdb.base/structs.exp: p/c L<n>; call 8 structs-ts-tc
> gdb.base/structs.exp: p/c L<n>; call 9 structs-tc
>
> 2007-06-19 Joseph Myers <joseph@codesourcery.com>
>
> * arm-tdep.c (arm_push_dummy_call): Correct padding of partial
> registers for big-endian.
OK.
R.