This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.16-ports-merge-59-gd37cbda


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 "GNU C Library master sources".

The branch, master has been updated
       via  d37cbdaa86f484dc5be58be391da739df862bf96 (commit)
      from  46f85fc22637213e4a97b306f40a64ae09f82f18 (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 -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d37cbdaa86f484dc5be58be391da739df862bf96

commit d37cbdaa86f484dc5be58be391da739df862bf96
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date:   Thu Jul 19 17:04:04 2012 -0300

    Split tls-macros.h in sysdeps directories.
    
    Split PowerPC definitions in PPC32 and PPC64 headers.

diff --git a/ChangeLog b/ChangeLog
index d96f368..5f26926 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-07-19 Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
+	* sysdeps/powerpc/tls-macros.h: Split PowerPC definitions in
+	PPC32 and PPC64 files.
+	* sysdeps/powerpc/powerpc32/tls-macros.h: New file.
+	* sysdeps/powerpc/powerpc64/tls-macros.h: Likewise.
+
 2012-07-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
 	* sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c: Move
diff --git a/sysdeps/powerpc/powerpc32/tls-macros.h b/sysdeps/powerpc/powerpc32/tls-macros.h
new file mode 100644
index 0000000..0df0814
--- /dev/null
+++ b/sysdeps/powerpc/powerpc32/tls-macros.h
@@ -0,0 +1,87 @@
+/* Include sysdeps/powerpc/tls-macros.h for __TLS_CALL_CLOBBERS  */
+#include_next "tls-macros.h"
+#include "config.h"
+
+/* PowerPC32 Local Exec TLS access.  */
+#define TLS_LE(x)							      \
+  ({ int *__result;							      \
+     asm ("addi %0,2," #x "@tprel"					      \
+	  : "=r" (__result));						      \
+     __result; })
+
+/* PowerPC32 Initial Exec TLS access.  */
+#ifdef HAVE_ASM_PPC_REL16
+# define TLS_IE(x)							      \
+  ({ int *__result;							      \
+     asm ("bcl 20,31,1f\n1:\t"						      \
+	  "mflr %0\n\t"							      \
+	  "addis %0,%0,_GLOBAL_OFFSET_TABLE_-1b@ha\n\t"			      \
+	  "addi %0,%0,_GLOBAL_OFFSET_TABLE_-1b@l\n\t"			      \
+	  "lwz %0," #x "@got@tprel(%0)\n\t"				      \
+	  "add %0,%0," #x "@tls"					      \
+	  : "=b" (__result) :						      \
+	  : "lr");							      \
+     __result; })
+#else
+# define TLS_IE(x)							      \
+  ({ int *__result;							      \
+     asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t"			      \
+	  "mflr %0\n\t"							      \
+	  "lwz %0," #x "@got@tprel(%0)\n\t"				      \
+	  "add %0,%0," #x "@tls"					      \
+	  : "=b" (__result) :						      \
+	  : "lr");							      \
+     __result; })
+#endif
+
+/* PowerPC32 Local Dynamic TLS access.  */
+#ifdef HAVE_ASM_PPC_REL16
+# define TLS_LD(x)							      \
+  ({ int *__result;							      \
+     asm ("bcl 20,31,1f\n1:\t"						      \
+	  "mflr 3\n\t"							      \
+	  "addis 3,3,_GLOBAL_OFFSET_TABLE_-1b@ha\n\t"			      \
+	  "addi 3,3,_GLOBAL_OFFSET_TABLE_-1b@l\n\t"			      \
+	  "addi 3,3," #x "@got@tlsld\n\t"				      \
+	  "bl __tls_get_addr@plt\n\t"					      \
+	  "addi %0,3," #x "@dtprel"					      \
+	  : "=r" (__result) :						      \
+	  : "3", __TLS_CALL_CLOBBERS);					      \
+     __result; })
+#else
+# define TLS_LD(x)							      \
+  ({ int *__result;							      \
+     asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t"			      \
+	  "mflr 3\n\t"							      \
+	  "addi 3,3," #x "@got@tlsld\n\t"				      \
+	  "bl __tls_get_addr@plt\n\t"					      \
+	  "addi %0,3," #x "@dtprel"					      \
+	  : "=r" (__result) :						      \
+	  : "3", __TLS_CALL_CLOBBERS);					      \
+     __result; })
+#endif
+
+/* PowerPC32 General Dynamic TLS access.  */
+#ifdef HAVE_ASM_PPC_REL16
+# define TLS_GD(x)							      \
+  ({ register int *__result __asm__ ("r3");				      \
+     asm ("bcl 20,31,1f\n1:\t"						      \
+	  "mflr 3\n\t"							      \
+	  "addis 3,3,_GLOBAL_OFFSET_TABLE_-1b@ha\n\t"			      \
+	  "addi 3,3,_GLOBAL_OFFSET_TABLE_-1b@l\n\t"			      \
+	  "addi 3,3," #x "@got@tlsgd\n\t"				      \
+	  "bl __tls_get_addr@plt"					      \
+	  : "=r" (__result) :						      \
+	  : __TLS_CALL_CLOBBERS);					      \
+     __result; })
+#else
+# define TLS_GD(x)							      \
+  ({ register int *__result __asm__ ("r3");				      \
+     asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t"			      \
+	  "mflr 3\n\t"							      \
+	  "addi 3,3," #x "@got@tlsgd\n\t"				      \
+	  "bl __tls_get_addr@plt"					      \
+	  : "=r" (__result) :						      \
+	  : __TLS_CALL_CLOBBERS);					      \
+     __result; })
+#endif
diff --git a/sysdeps/powerpc/powerpc64/tls-macros.h b/sysdeps/powerpc/powerpc64/tls-macros.h
new file mode 100644
index 0000000..198215d
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/tls-macros.h
@@ -0,0 +1,46 @@
+/* Include sysdeps/powerpc/tls-macros.h for __TLS_CALL_CLOBBERS  */
+#include_next "tls-macros.h"
+
+/* PowerPC64 Local Exec TLS access.  */
+#define TLS_LE(x)							      \
+  ({ int * __result;							      \
+     asm ("addis %0,13," #x "@tprel@ha\n\t"				      \
+	  "addi  %0,%0," #x "@tprel@l"					      \
+	  : "=b" (__result) );						      \
+     __result;								      \
+  })
+/* PowerPC64 Initial Exec TLS access.  */
+#define TLS_IE(x)							      \
+  ({ int * __result;							      \
+     asm ("ld  %0," #x "@got@tprel(2)\n\t"				      \
+	  "add %0,%0," #x "@tls"					      \
+	  : "=r" (__result) );						      \
+     __result;								      \
+  })
+#ifdef HAVE_ASM_GLOBAL_DOT_NAME
+# define __TLS_GET_ADDR ".__tls_get_addr"
+#else
+# define __TLS_GET_ADDR "__tls_get_addr"
+#endif
+/* PowerPC64 Local Dynamic TLS access.  */
+#define TLS_LD(x)							      \
+  ({ int * __result;							      \
+     asm ("addi  3,2," #x "@got@tlsld\n\t"				      \
+	  "bl    " __TLS_GET_ADDR "\n\t"				      \
+	  "nop   \n\t"							      \
+	  "addis %0,3," #x "@dtprel@ha\n\t"				      \
+	  "addi  %0,%0," #x "@dtprel@l"					      \
+	  : "=b" (__result) :						      \
+	  : "3", __TLS_CALL_CLOBBERS);					      \
+     __result;								      \
+  })
+/* PowerPC64 General Dynamic TLS access.  */
+#define TLS_GD(x)							      \
+  ({ register int *__result __asm__ ("r3");				      \
+     asm ("addi  3,2," #x "@got@tlsgd\n\t"				      \
+	  "bl    " __TLS_GET_ADDR "\n\t"				      \
+	  "nop   "							      \
+	  : "=r" (__result) :						      \
+	  : __TLS_CALL_CLOBBERS);					      \
+     __result;								      \
+  })
diff --git a/sysdeps/powerpc/tls-macros.h b/sysdeps/powerpc/tls-macros.h
index e9c2543..809ef5c 100644
--- a/sysdeps/powerpc/tls-macros.h
+++ b/sysdeps/powerpc/tls-macros.h
@@ -1,138 +1,3 @@
 #define __TLS_CALL_CLOBBERS						      \
 	"0", "4", "5", "6", "7", "8", "9", "10", "11", "12",		      \
 	"lr", "ctr", "cr0", "cr1", "cr5", "cr6", "cr7"
-
-#ifndef __powerpc64__
-
-# include "config.h"
-
-/* PowerPC32 Local Exec TLS access.  */
-# define TLS_LE(x)							      \
-  ({ int *__result;							      \
-     asm ("addi %0,2," #x "@tprel"					      \
-	  : "=r" (__result));						      \
-     __result; })
-
-/* PowerPC32 Initial Exec TLS access.  */
-# ifdef HAVE_ASM_PPC_REL16
-#  define TLS_IE(x)							      \
-  ({ int *__result;							      \
-     asm ("bcl 20,31,1f\n1:\t"						      \
-	  "mflr %0\n\t"							      \
-	  "addis %0,%0,_GLOBAL_OFFSET_TABLE_-1b@ha\n\t"			      \
-	  "addi %0,%0,_GLOBAL_OFFSET_TABLE_-1b@l\n\t"			      \
-	  "lwz %0," #x "@got@tprel(%0)\n\t"				      \
-	  "add %0,%0," #x "@tls"					      \
-	  : "=b" (__result) :						      \
-	  : "lr");							      \
-     __result; })
-# else
-#  define TLS_IE(x)							      \
-  ({ int *__result;							      \
-     asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t"			      \
-	  "mflr %0\n\t"							      \
-	  "lwz %0," #x "@got@tprel(%0)\n\t"				      \
-	  "add %0,%0," #x "@tls"					      \
-	  : "=b" (__result) :						      \
-	  : "lr");							      \
-     __result; })
-# endif
-
-/* PowerPC32 Local Dynamic TLS access.  */
-# ifdef HAVE_ASM_PPC_REL16
-#  define TLS_LD(x)							      \
-  ({ int *__result;							      \
-     asm ("bcl 20,31,1f\n1:\t"						      \
-	  "mflr 3\n\t"							      \
-	  "addis 3,3,_GLOBAL_OFFSET_TABLE_-1b@ha\n\t"			      \
-	  "addi 3,3,_GLOBAL_OFFSET_TABLE_-1b@l\n\t"			      \
-	  "addi 3,3," #x "@got@tlsld\n\t"				      \
-	  "bl __tls_get_addr@plt\n\t"					      \
-	  "addi %0,3," #x "@dtprel"					      \
-	  : "=r" (__result) :						      \
-	  : "3", __TLS_CALL_CLOBBERS);					      \
-     __result; })
-# else
-#  define TLS_LD(x)							      \
-  ({ int *__result;							      \
-     asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t"			      \
-	  "mflr 3\n\t"							      \
-	  "addi 3,3," #x "@got@tlsld\n\t"				      \
-	  "bl __tls_get_addr@plt\n\t"					      \
-	  "addi %0,3," #x "@dtprel"					      \
-	  : "=r" (__result) :						      \
-	  : "3", __TLS_CALL_CLOBBERS);					      \
-     __result; })
-# endif
-
-/* PowerPC32 General Dynamic TLS access.  */
-# ifdef HAVE_ASM_PPC_REL16
-#  define TLS_GD(x)							      \
-  ({ register int *__result __asm__ ("r3");				      \
-     asm ("bcl 20,31,1f\n1:\t"						      \
-	  "mflr 3\n\t"							      \
-	  "addis 3,3,_GLOBAL_OFFSET_TABLE_-1b@ha\n\t"			      \
-	  "addi 3,3,_GLOBAL_OFFSET_TABLE_-1b@l\n\t"			      \
-	  "addi 3,3," #x "@got@tlsgd\n\t"				      \
-	  "bl __tls_get_addr@plt"					      \
-	  : "=r" (__result) :						      \
-	  : __TLS_CALL_CLOBBERS);					      \
-     __result; })
-# else
-#  define TLS_GD(x)							      \
-  ({ register int *__result __asm__ ("r3");				      \
-     asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t"			      \
-	  "mflr 3\n\t"							      \
-	  "addi 3,3," #x "@got@tlsgd\n\t"				      \
-	  "bl __tls_get_addr@plt"					      \
-	  : "=r" (__result) :						      \
-	  : __TLS_CALL_CLOBBERS);					      \
-     __result; })
-# endif
-
-#else
-
-/* PowerPC64 Local Exec TLS access.  */
-# define TLS_LE(x)							      \
-  ({ int * __result;							      \
-     asm ("addis %0,13," #x "@tprel@ha\n\t"				      \
-	  "addi  %0,%0," #x "@tprel@l"					      \
-	  : "=b" (__result) );						      \
-     __result;								      \
-  })
-/* PowerPC64 Initial Exec TLS access.  */
-# define TLS_IE(x)							      \
-  ({ int * __result;							      \
-     asm ("ld  %0," #x "@got@tprel(2)\n\t"				      \
-	  "add %0,%0," #x "@tls"					      \
-	  : "=r" (__result) );						      \
-     __result;								      \
-  })
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#  define __TLS_GET_ADDR ".__tls_get_addr"
-# else
-#  define __TLS_GET_ADDR "__tls_get_addr"
-# endif
-/* PowerPC64 Local Dynamic TLS access.  */
-# define TLS_LD(x)							      \
-  ({ int * __result;							      \
-     asm ("addi  3,2," #x "@got@tlsld\n\t"				      \
-	  "bl    " __TLS_GET_ADDR "\n\t"				      \
-	  "nop   \n\t"							      \
-	  "addis %0,3," #x "@dtprel@ha\n\t"				      \
-	  "addi  %0,%0," #x "@dtprel@l"					      \
-	  : "=b" (__result) :						      \
-	  : "3", __TLS_CALL_CLOBBERS);					      \
-     __result;								      \
-  })
-/* PowerPC64 General Dynamic TLS access.  */
-# define TLS_GD(x)							      \
-  ({ register int *__result __asm__ ("r3");				      \
-     asm ("addi  3,2," #x "@got@tlsgd\n\t"				      \
-	  "bl    " __TLS_GET_ADDR "\n\t"				      \
-	  "nop   "							      \
-	  : "=r" (__result) :						      \
-	  : __TLS_CALL_CLOBBERS);					      \
-     __result;								      \
-  })
-#endif

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

Summary of changes:
 ChangeLog                              |    7 ++
 sysdeps/powerpc/powerpc32/tls-macros.h |   87 ++++++++++++++++++++
 sysdeps/powerpc/powerpc64/tls-macros.h |   46 +++++++++++
 sysdeps/powerpc/tls-macros.h           |  135 --------------------------------
 4 files changed, 140 insertions(+), 135 deletions(-)
 create mode 100644 sysdeps/powerpc/powerpc32/tls-macros.h
 create mode 100644 sysdeps/powerpc/powerpc64/tls-macros.h


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]