$NetBSD: patch-xn,v 1.1 2014/07/27 05:36:07 ryoon Exp $ --- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s.orig 2012-08-25 00:31:35.000000000 +0000 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s @@ -16,6 +16,47 @@ #include #endif +#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 # argument slots is sometimes predefined in the header files.