@@ -118,9 +118,14 @@ register struct pthread *__thread_self __asm__("r23");
((struct pthread *) (READ_THREAD_POINTER () \
- TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE))
+/* Magic for Infinity to know how to do THREAD_SELF. */
+# define I8_THREAD_SELF I8_TS_REGISTER
+# define I8_TS_REG_OFFSET 23 * 4
+# define I8_TS_REG_BIAS -TLS_PRE_TCB_SIZE - TLS_TCB_OFFSET
+
/* Magic for libthread_db to know how to do THREAD_SELF. */
# define DB_THREAD_SELF \
- REGISTER (32, 32, 23 * 4, -TLS_PRE_TCB_SIZE - TLS_TCB_OFFSET)
+ REGISTER (32, 32, I8_TS_REG_OFFSET, I8_TS_REG_BIAS)
/* Access to data in the thread descriptor is easy. */
# define THREAD_GETMEM(descr, member) \