$NetBSD: patch-xo,v 1.3 2012/04/28 16:56:59 ryoon Exp $ --- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.orig 2012-04-20 22:40:27.000000000 +0000 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s @@ -26,8 +26,46 @@ /* This code is for MIPS using the O32 ABI. */ -#include -#include +#ifdef __NetBSD__ +# include +# include +# ifndef fp +# define fp s8 +# endif +# ifndef PTRLOG +# if SZREG == 4 +# define PTRLOG 2 +# else +# define PTRLOG 3 +# endif +# endif +# ifndef SETUP_GP +# if defined(__mips_o32) +# define SETUP_GP \ + .set push; \ + .set noreorder; \ + .cpload t9; \ + .set pop +# define SAVE_GP(x) \ + .cprestore x +# else +# define SETUP_GP +# define SAVE_GP(x) +# endif +# endif +# ifndef ALSZ +# if defined(__mips_n32) || defined(__mips_n64) +# define ALSZ 15 +# define ALMASK ~15 +# else +# define ALSZ 7 +# define ALMASK ~7 +# endif +# endif +#else +# include +# include +#endif # NARGSAVE is the argument space in the callers frame, including extra # 'shadowed' space for the argument registers. The minimum of 4