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 6f952f08b52e0187acde789232a1f520fedc615f (commit)
via 141a12ff8bc8bc01b4e3bfb217a3f0e699c6e618 (commit)
from bcd581688e7222af52ff23b815fdc878c2703245 (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 6f952f08b52e0187acde789232a1f520fedc615f
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Fri Nov 13 06:37:45 2015 +0100
metag: add missing header file
When installing header files a warning is generated, because
the header is mandatory.
commit 141a12ff8bc8bc01b4e3bfb217a3f0e699c6e618
Author: James Hogan <james.hogan(a)imgtec.com>
Date: Wed Nov 11 11:17:37 2015 +0000
tests/tls: Implement TLS macros for metag
Implement the TLS macros in tls-macros.h for metag.
Signed-off-by: James Hogan <james.hogan(a)imgtec.com>
-----------------------------------------------------------------------
Summary of changes:
libc/sysdeps/linux/{mips => metag}/jmpbuf-unwind.h | 10 ++---
test/tls/tls-macros.h | 39 ++++++++++++++++++++
2 files changed, 44 insertions(+), 5 deletions(-)
copy libc/sysdeps/linux/{mips => metag}/jmpbuf-unwind.h (66%)
diff --git a/libc/sysdeps/linux/mips/jmpbuf-unwind.h
b/libc/sysdeps/linux/metag/jmpbuf-unwind.h
similarity index 66%
copy from libc/sysdeps/linux/mips/jmpbuf-unwind.h
copy to libc/sysdeps/linux/metag/jmpbuf-unwind.h
index 2c0df95..175cd7a 100644
--- a/libc/sysdeps/linux/mips/jmpbuf-unwind.h
+++ b/libc/sysdeps/linux/metag/jmpbuf-unwind.h
@@ -1,14 +1,14 @@
/*
- * Copyright (C) 2000-2006 Erik Andersen <andersen(a)uclibc.org>
- *
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
+
#include <setjmp.h>
/* Test if longjmp to JMPBUF would unwind the frame
containing a local variable at ADDRESS. */
-#define _JMPBUF_UNWINDS(jmpbuf, address) \
- ((void *) (address) < (void *) (jmpbuf)[0].__sp)
+#undef _JMPBUF_UNWINDS
+#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \
+ ((void *) (address) > (void *) demangle (jmpbuf[JB_SP]))
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
#include <stdint.h>
@@ -18,5 +18,5 @@
_JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
- ((uintptr_t) (_address) - (_adj) < (uintptr_t) (_jmpbuf)[0].__sp - (_adj))
+ ((uintptr_t) (_address) - (_adj) > (uintptr_t) (_jmpbuf)[JB_SP] - (_adj))
#endif
diff --git a/test/tls/tls-macros.h b/test/tls/tls-macros.h
index 315f0e2..d243743 100644
--- a/test/tls/tls-macros.h
+++ b/test/tls/tls-macros.h
@@ -948,6 +948,45 @@ register void *__gp __asm__("$29");
: "=r" (__l), "=r" (__t) ); \
__l; }); \
+#elif defined __metag__
+
+# define TLS_GD(x) \
+ ({ void *__result; \
+ extern void *__tls_get_addr (void *); \
+ __asm__ ("MOV %0, A1LbP\n\t" \
+ "ADD %0, %0, #(" #x "@TLSGD)" \
+ : "=d" (__result)); \
+ (int *)__tls_get_addr (__result); })
+
+# define TLS_LD(x) \
+ ({ void *__result; \
+ extern void *__tls_get_addr (void *); \
+ __asm__ ("MOV %0, A1LbP\n\t" \
+ "ADD %0, %0, #(" #x "@TLSLDM)" \
+ : "=d" (__result)); \
+ __result = __tls_get_addr (__result); \
+ __asm__ ("ADDT %0,%0,#HI(" #x "@TLSLDO)\n\t" \
+ "ADD %0,%0,#LO(" #x "@TLSLDO)" \
+ : "+d" (__result)); \
+ __result; })
+
+# define TLS_IE(x) \
+ ({ void *__result; \
+ unsigned long __rel; \
+ extern void *__metag_load_tp (void); \
+ __asm__ ("GETD %0,[A1LbP+#(" #x "@TLSIE)]" \
+ : "=d" (__rel)); \
+ __result = __metag_load_tp(); \
+ __result + __rel; })
+
+# define TLS_LE(x) \
+ ({ void *__result; \
+ extern void *__metag_load_tp (void); \
+ __result = __metag_load_tp(); \
+ __asm__ ("ADDT %0,%0,#HI(" #x "@TLSLE)\n\t" \
+ "ADD %0,%0,#LO(" #x "@TLSLE)" \
+ : "+d" (__result)); \
+ __result; })
#elif !defined TLS_LE || !defined TLS_IE \
|| !defined TLS_LD || !defined TLS_GD
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
Show replies by date