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@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@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@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@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