# define MONO_THREAD_VAR_OFFSET(var,offset) do { guint64 foo; \
__asm__ ("basr %%r1,0\n\t" \
"j 0f\n\t" \
- ".quad " #var "@INDNTPOFF\n\t" \
+ ".quad " #var "@TLSGD\n\t" \
"0:\n\t" \
"lg %%r2,4(%%r1)\n\t" \
- "brasl %%r14,__tls_get_offset@PLT\n\t" \
+ "brasl %%r14,__tls_get_offset@PLT:tls_gdcall:"#var"\n\t" \
"lgr %0,%%r2\n\t" \
: "=r" (foo) : \
: "1", "2", "14", "cc"); \
#define MONO_DEPRECATED
#endif
+#ifdef __GNUC__
+#define MONO_ALWAYS_INLINE __attribute__((always_inline))
+#else
+#define MONO_ALWAYS_INLINE
+#endif
+
#endif /* __UTILS_MONO_COMPILER_H__*/