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, 1.0 has been updated
via d0039e5ac5fe09e04c849c46640c191caa4f9eda (commit)
via 5aa5761498f15a62d3523591384a8b6cd6f3dadc (commit)
from e89e3af8f64bded3920f046fb8db2b95a188ff55 (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 d0039e5ac5fe09e04c849c46640c191caa4f9eda
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 5aa5761498f15a62d3523591384a8b6cd6f3dadc
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