summaryrefslogtreecommitdiff
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)
+*/