diff options
Diffstat (limited to 'libc/ports/sysdeps/mips/sys')
-rw-r--r-- | libc/ports/sysdeps/mips/sys/asm.h | 13 | ||||
-rw-r--r-- | libc/ports/sysdeps/mips/sys/tas.h | 5 |
2 files changed, 13 insertions, 5 deletions
diff --git a/libc/ports/sysdeps/mips/sys/asm.h b/libc/ports/sysdeps/mips/sys/asm.h index 605451a88..293cf364e 100644 --- a/libc/ports/sysdeps/mips/sys/asm.h +++ b/libc/ports/sysdeps/mips/sys/asm.h @@ -26,6 +26,10 @@ # define CAT(str1,str2) __CAT(str1,str2) #endif +/* Redefined as nonempty in the internal header. */ +#define __mips_cfi_startproc /* Empty. */ +#define __mips_cfi_endproc /* Empty. */ + /* * Macros to handle different pointer/register sizes for 32/64-bit code * @@ -147,7 +151,8 @@ l: \ .align 2; \ .type symbol,@function; \ .ent symbol,0; \ -symbol: .frame sp,0,ra +symbol: .frame sp,0,ra; \ + __mips_cfi_startproc /* * NESTED - declare nested routine entry point @@ -157,13 +162,15 @@ symbol: .frame sp,0,ra .align 2; \ .type symbol,@function; \ .ent symbol,0; \ -symbol: .frame sp, framesize, rpc +symbol: .frame sp, framesize, rpc; \ + __mips_cfi_startproc /* * END - mark end of function */ #ifndef END # define END(function) \ + __mips_cfi_endproc; \ .end function; \ .size function,.-function #endif @@ -173,7 +180,7 @@ symbol: .frame sp, framesize, rpc */ #define EXPORT(symbol) \ .globl symbol; \ -symbol: +symbol: __mips_cfi_startproc /* * ABS - export absolute symbol diff --git a/libc/ports/sysdeps/mips/sys/tas.h b/libc/ports/sysdeps/mips/sys/tas.h index 603346ac3..871818565 100644 --- a/libc/ports/sysdeps/mips/sys/tas.h +++ b/libc/ports/sysdeps/mips/sys/tas.h @@ -24,7 +24,8 @@ __BEGIN_DECLS -extern int _test_and_set (int *__p, int __v) __THROW; +extern int _test_and_set (int *__p, int __v) + __THROW __attribute__ ((__nomips16__)); #ifdef __USE_EXTERN_INLINES @@ -32,7 +33,7 @@ extern int _test_and_set (int *__p, int __v) __THROW; # define _EXTERN_INLINE __extern_inline # endif -_EXTERN_INLINE int +_EXTERN_INLINE int __attribute__ ((__nomips16__)) __NTH (_test_and_set (int *__p, int __v)) { int __r, __t; |