[uclibc-ng-devel] uClibc-ng - small C library for embedded systems branch master updated. 4a076a061e57c55d94c79d0fd3b201c3a84a30cb

wbx wbx at helium.waldemar-brodkorb.de
Tue Sep 23 18:32:19 CEST 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".

The branch, master has been updated
       via  4a076a061e57c55d94c79d0fd3b201c3a84a30cb (commit)
      from  4c3023bc803012656cf45749960282351efc8020 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 4a076a061e57c55d94c79d0fd3b201c3a84a30cb
Author: Waldemar Brodkorb <wbx at openadk.org>
Date:   Tue Sep 23 18:31:31 2014 +0200

    add tls test macros for xtensa
    
    http://lists.linux-xtensa.org/pipermail/linux-xtensa/Week-of-Mon-20130819/001153.html

-----------------------------------------------------------------------

Summary of changes:
 test/tls/tls-macros.h |   37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/test/tls/tls-macros.h b/test/tls/tls-macros.h
index 2787809..56347b4 100644
--- a/test/tls/tls-macros.h
+++ b/test/tls/tls-macros.h
@@ -885,6 +885,43 @@ register void *__gp __asm__("$29");
 	  : "=&r" (__result) : "r" (tp));		\
      __result; })
 
+#elif defined __xtensa__
+
+#define TLS_GD(x)							\
+  ({ int *__l;								\
+     asm ("movi  a8, " #x "@TLSFUNC\n\t"				\
+	  "movi a10, " #x "@TLSARG\n\t"					\
+	  "callx8.tls a8, " #x "@TLSCALL\n\t"				\
+	  "mov %0, a10\n\t"						\
+	  : "=r" (__l)							\
+	  :								\
+	  : "a8", "a9", "a10", "a11", "a12", "a13", "a14", "a15");	\
+      __l; })
+
+#define TLS_LD(x)							\
+  ({ int *__l;								\
+     asm ("movi  a8, " #x "@TLSFUNC\n\t"				\
+	  "movi a10, " #x "@TLSARG\n\t"					\
+	  "callx8.tls a8, " #x "@TLSCALL\n\t"				\
+	  "movi %0, " #x "@TPOFF\n\t"					\
+	  "add %0, %0, a10\n\t"						\
+	  : "=r" (__l)							\
+	  :								\
+	  : "a8", "a9", "a10", "a11", "a12", "a13", "a14", "a15");	\
+      __l; })
+
+#define TLS_IE(x) TLS_LE(x)
+
+#define TLS_LE(x)							\
+  ({ int *__l;								\
+     int __t;								\
+     asm ("rur %0, threadptr\n\t"					\
+	  "movi %1, " #x "@TPOFF\n\t"					\
+	  "add %0, %0, %1\n\t"						\
+	  : "=r" (__l), "=r" (__t) );					\
+     __l; });								\
+
+
 #elif !defined TLS_LE || !defined TLS_IE \
       || !defined TLS_LD || !defined TLS_GD
 # error "No support for this architecture so far."


hooks/post-receive
-- 
uClibc-ng - small C library for embedded systems


More information about the devel mailing list