$NetBSD: patch-xo,v 1.1.1.1 2012/03/15 08:58:28 ryoon Exp $ --- xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.orig 2012-03-09 22:20:38.000000000 +0000 +++ 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