This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: mips-tdep.c: Sign-extend pointers for n32
On Thu, Dec 20, 2007 at 04:37:31PM +0000, Maciej W. Rozycki wrote:
> Thus I have taken your suggestion into account and modified the change
> further as follows and regression tested it as previously, successfully.
> Well, I guess it actually means we do not really have a terribly good
> coverage here -- I suppose a set of test cases that would check that
> promotion is performed correctly with manual calls would be useful.
>
> 2007-12-19 David Ung <davidu@mips.com>
> Maciej W. Rozycki <macro@mips.com>
>
> * mips-tdep.c (mips_n32n64_push_dummy_call): Sign-extend
> integers and 32-bit pointers as required by the ABI.
>
> OK to apply?
OK.
I think there's still a problem here, though it is somewhat endemic to
the argument passing routines:
TYPE_CODE_ENUM, /* Enumeration type */
TYPE_CODE_REF, /* C++ Reference types */
TYPE_CODE_CHAR, /* *real* character type */
TYPE_CODE_BOOL,
And possibly TYPE_CODE_MEMBERPTR too... that's a signed offset,
probably 32-bit in the n32 case. Getting this right is a real
pain.
--
Daniel Jacobowitz
CodeSourcery