mips-tdep.c: Sign-extend pointers for n32

Daniel Jacobowitz drow@false.org
Thu Dec 20 17:07:00 GMT 2007

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?


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 */

And possibly TYPE_CODE_MEMBERPTR too... that's a signed offset,
probably 32-bit in the n32 case.  Getting this right is a real

Daniel Jacobowitz

More information about the Gdb-patches mailing list