about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--elf/tls-macros.h4
-rw-r--r--sysdeps/generic/tls-macros.h12
3 files changed, 21 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 27b822ff41..7aa21541d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-03-13  Roland McGrath  <roland@redhat.com>
+
+	* elf/tls-macros.h: #include_next <tls-macros.h> to get a sysdeps
+	version if there is one.  Only #error if macros are then undefined.
+	* sysdeps/generic/tls-macros.h: New file.
+
 2005-03-10  GOTO Masanori  <gotom@debian.or.jp>
 
 	* sysdeps/hppa/configure.in: Remove old Makefile leftovers.
diff --git a/elf/tls-macros.h b/elf/tls-macros.h
index bed2e14899..c6626c2e75 100644
--- a/elf/tls-macros.h
+++ b/elf/tls-macros.h
@@ -16,6 +16,7 @@
 /* XXX Until we get compiler support we don't need declarations.  */
 #define VAR_INT_DECL(x)
 
+#include_next <tls-macros.h>
 
   /* XXX Each architecture must have its own asm for now.  */
 #ifdef __i386__
@@ -731,6 +732,7 @@ register void *__gp __asm__("$29");
       __result;  \
   })
 
-#else
+#elif !defined TLS_LE || !defined TLS_IE \
+      || !defined TLS_LD || !defined TLS_GD(x)
 # error "No support for this architecture so far."
 #endif
diff --git a/sysdeps/generic/tls-macros.h b/sysdeps/generic/tls-macros.h
new file mode 100644
index 0000000000..0a08f7c145
--- /dev/null
+++ b/sysdeps/generic/tls-macros.h
@@ -0,0 +1,12 @@
+/* Macros to support TLS testing in times of missing compiler support.
+   Stub version.
+
+   These macros should yield int * expressions for the TLS symbol X
+   accessed using the various TLS access models.  Macros for some machines
+   are defined in elf/tls-macros.h, but ports can instead provide this file.
+
+#define TLS_LE(x)
+#define TLS_IE(x)
+#define TLS_LD(x)
+#define TLS_GD(x)
+*/