about summary refs log tree commit diff
path: root/sysdeps/s390/s390-64
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.vnet.ibm.com>2015-11-20 08:56:40 +0100
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2015-11-20 08:56:40 +0100
commit31cf39421bae23ffc7b6c6a229e14f8faa41608f (patch)
tree06c691d99784858f0ccd30133fed70f9362b91a5 /sysdeps/s390/s390-64
parent9695cb3e6528d9f6f5c7c7f96bd6c94e5ba0e2c4 (diff)
downloadglibc-31cf39421bae23ffc7b6c6a229e14f8faa41608f.tar.gz
glibc-31cf39421bae23ffc7b6c6a229e14f8faa41608f.tar.xz
glibc-31cf39421bae23ffc7b6c6a229e14f8faa41608f.zip
S390: Use __asm__ instead of asm.
	* sysdeps/s390/fpu/bits/mathinline.h:
	Use __asm__ [__volatile__] instead of asm [volatile].
	* sysdeps/s390/abort-instr.h: Likewise.
	* sysdeps/s390/atomic-machine.h: Likewise.
	* sysdeps/s390/bits/string.h: Likewise.
	* sysdeps/s390/dl-tls.h: Likewise.
	* sysdeps/s390/fpu/e_sqrt.c: Likewise.
	* sysdeps/s390/fpu/e_sqrtf.c: Likewise.
	* sysdeps/s390/fpu/e_sqrtl.c: Likewise.
	* sysdeps/s390/fpu/fesetround.c: Likewise.
	* sysdeps/s390/fpu/fpu_control.h: Likewise.
	* sysdeps/s390/fpu/s_fma.c: Likewise.
	* sysdeps/s390/fpu/s_fmaf.c: Likewise.
	* sysdeps/s390/memusage.h: Likewise.
	* sysdeps/s390/multiarch/ifunc-resolve.h: Likewise.
	* sysdeps/s390/nptl/pthread_spin_lock.c: Likewise.
	* sysdeps/s390/nptl/pthread_spin_trylock.c: Likewise.
	* sysdeps/s390/nptl/pthread_spin_unlock.c: Likewise.
	* sysdeps/s390/nptl/tls.h: Likewise.
	* sysdeps/s390/s390-32/__longjmp.c: Likewise.
	* sysdeps/s390/s390-32/backtrace.c: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/multiarch/memcmp.c: Likewise.
	* sysdeps/s390/s390-32/stackguard-macros.h: Likewise.
	* sysdeps/s390/s390-32/tls-macros.h: Likewise.
	* sysdeps/s390/s390-64/__longjmp.c: Likewise.
	* sysdeps/s390/s390-64/backtrace.c: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/iso-8859-1_cp037_z900.c: Likewise.
	* sysdeps/s390/s390-64/multiarch/memcmp.c: Likewise.
	* sysdeps/s390/s390-64/stackguard-macros.h: Likewise.
	* sysdeps/s390/s390-64/tls-macros.h: Likewise.
	* sysdeps/s390/s390-64/utf16-utf32-z9.c: Likewise.
	* sysdeps/s390/s390-64/utf8-utf16-z9.c: Likewise.
	* sysdeps/s390/s390-64/utf8-utf32-z9.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/brk.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/elision-trylock.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/sysconf.c: Likewise.
Diffstat (limited to 'sysdeps/s390/s390-64')
-rw-r--r--sysdeps/s390/s390-64/__longjmp.c64
-rw-r--r--sysdeps/s390/s390-64/backtrace.c2
-rw-r--r--sysdeps/s390/s390-64/dl-machine.h16
-rw-r--r--sysdeps/s390/s390-64/iso-8859-1_cp037_z900.c32
-rw-r--r--sysdeps/s390/s390-64/multiarch/memcmp.c2
-rw-r--r--sysdeps/s390/s390-64/stackguard-macros.h24
-rw-r--r--sysdeps/s390/s390-64/tls-macros.h110
-rw-r--r--sysdeps/s390/s390-64/utf16-utf32-z9.c28
-rw-r--r--sysdeps/s390/s390-64/utf8-utf16-z9.c28
-rw-r--r--sysdeps/s390/s390-64/utf8-utf32-z9.c28
10 files changed, 167 insertions, 167 deletions
diff --git a/sysdeps/s390/s390-64/__longjmp.c b/sysdeps/s390/s390-64/__longjmp.c
index e75e648a32..e962195c83 100644
--- a/sysdeps/s390/s390-64/__longjmp.c
+++ b/sysdeps/s390/s390-64/__longjmp.c
@@ -37,52 +37,52 @@ __longjmp (__jmp_buf env, int val)
 #elif defined CHECK_SP
   CHECK_SP (env, 0);
 #endif
-  register long int r2 __asm ("%r2") = val == 0 ? 1 : val;
+  register long int r2 __asm__ ("%r2") = val == 0 ? 1 : val;
 #ifdef PTR_DEMANGLE
-  register uintptr_t r3 __asm ("%r3") = guard;
-  register void *r1 __asm ("%r1") = (void *) env;
+  register uintptr_t r3 __asm__ ("%r3") = guard;
+  register void *r1 __asm__ ("%r1") = (void *) env;
 #endif
   /* Restore registers and jump back.  */
-  asm volatile (
-		/* longjmp probe expects longjmp first argument, second
-		   argument and target address.  */
+  __asm__ __volatile__ (
+			/* longjmp probe expects longjmp first argument, second
+			   argument and target address.  */
 #ifdef PTR_DEMANGLE
-		"lmg  %%r4,%%r5,64(%1)\n\t"
-		"xgr  %%r4,%2\n\t"
-		"xgr  %%r5,%2\n\t"
-		LIBC_PROBE_ASM (longjmp, 8@%1 -4@%0 8@%%r4)
+			"lmg  %%r4,%%r5,64(%1)\n\t"
+			"xgr  %%r4,%2\n\t"
+			"xgr  %%r5,%2\n\t"
+			LIBC_PROBE_ASM (longjmp, 8@%1 -4@%0 8@%%r4)
 #else
-		LIBC_PROBE_ASM (longjmp, 8@%1 -4@%0 8@%%r14)
+			LIBC_PROBE_ASM (longjmp, 8@%1 -4@%0 8@%%r14)
 #endif
 
-		/* restore fpregs  */
-		"ld    %%f8,80(%1)\n\t"
-		"ld    %%f9,88(%1)\n\t"
-		"ld    %%f10,96(%1)\n\t"
-		"ld    %%f11,104(%1)\n\t"
-		"ld    %%f12,112(%1)\n\t"
-		"ld    %%f13,120(%1)\n\t"
-		"ld    %%f14,128(%1)\n\t"
-		"ld    %%f15,136(%1)\n\t"
+			/* restore fpregs  */
+			"ld    %%f8,80(%1)\n\t"
+			"ld    %%f9,88(%1)\n\t"
+			"ld    %%f10,96(%1)\n\t"
+			"ld    %%f11,104(%1)\n\t"
+			"ld    %%f12,112(%1)\n\t"
+			"ld    %%f13,120(%1)\n\t"
+			"ld    %%f14,128(%1)\n\t"
+			"ld    %%f15,136(%1)\n\t"
 
-		/* restore gregs and return to jmp_buf target  */
+			/* restore gregs and return to jmp_buf target  */
 #ifdef PTR_DEMANGLE
-		"lmg  %%r6,%%r13,0(%1)\n\t"
-		"lgr  %%r15,%%r5\n\t"
-		LIBC_PROBE_ASM (longjmp_target, 8@%1 -4@%0 8@%%r4)
-		"br   %%r4"
+			"lmg  %%r6,%%r13,0(%1)\n\t"
+			"lgr  %%r15,%%r5\n\t"
+			LIBC_PROBE_ASM (longjmp_target, 8@%1 -4@%0 8@%%r4)
+			"br   %%r4"
 #else
-		"lmg  %%r6,%%r15,0(%1)\n\t"
-		LIBC_PROBE_ASM (longjmp_target, 8@%1 -4@%0 8@%%r14)
-		"br   %%r14"
+			"lmg  %%r6,%%r15,0(%1)\n\t"
+			LIBC_PROBE_ASM (longjmp_target, 8@%1 -4@%0 8@%%r14)
+			"br   %%r14"
 #endif
-		: : "r" (r2),
+			: : "r" (r2),
 #ifdef PTR_DEMANGLE
-		    "r" (r1), "r" (r3)
+			  "r" (r1), "r" (r3)
 #else
-		    "a" (env)
+			  "a" (env)
 #endif
-		);
+			);
 
   /* Avoid `volatile function does return' warnings.  */
   for (;;);
diff --git a/sysdeps/s390/s390-64/backtrace.c b/sysdeps/s390/s390-64/backtrace.c
index e4d7efe2a3..6f15ce9a52 100644
--- a/sysdeps/s390/s390-64/backtrace.c
+++ b/sysdeps/s390/s390-64/backtrace.c
@@ -84,7 +84,7 @@ __backchain_backtrace (void **array, int size)
   struct layout *stack;
   int cnt = 0;
 
-  asm ("LGR  %0,%%r15" : "=d" (stack) );
+  __asm__ ("LGR  %0,%%r15" : "=d" (stack) );
   /* We skip the call to this function, it makes no sense to record it.  */
   stack = (struct layout *) stack->back_chain;
   while (cnt < size)
diff --git a/sysdeps/s390/s390-64/dl-machine.h b/sysdeps/s390/s390-64/dl-machine.h
index eeadbcd163..0b01d2f4dd 100644
--- a/sysdeps/s390/s390-64/dl-machine.h
+++ b/sysdeps/s390/s390-64/dl-machine.h
@@ -50,8 +50,8 @@ elf_machine_dynamic (void)
 {
   register Elf64_Addr *got;
 
-  asm( "	larl   %0,_GLOBAL_OFFSET_TABLE_\n"
-       : "=&a" (got) : : "0" );
+  __asm__ ( "	larl   %0,_GLOBAL_OFFSET_TABLE_\n"
+	    : "=&a" (got) : : "0" );
 
   return *got;
 }
@@ -62,11 +62,11 @@ elf_machine_load_address (void)
 {
   Elf64_Addr addr;
 
-  asm( "   larl	 %0,_dl_start\n"
-       "   larl	 1,_GLOBAL_OFFSET_TABLE_\n"
-       "   lghi	 2,_dl_start@GOT\n"
-       "   slg	 %0,0(2,1)"
-       : "=&d" (addr) : : "1", "2" );
+  __asm__( "   larl	 %0,_dl_start\n"
+	   "   larl	 1,_GLOBAL_OFFSET_TABLE_\n"
+	   "   lghi	 2,_dl_start@GOT\n"
+	   "   slg	 %0,0(2,1)"
+	   : "=&d" (addr) : : "1", "2" );
   return addr;
 }
 
@@ -126,7 +126,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
    The C function `_dl_start' is the real entry point;
    its return value is the user program's entry point.	*/
 
-#define RTLD_START asm ("\n\
+#define RTLD_START __asm__ ("\n\
 .text\n\
 .align 4\n\
 .globl _start\n\
diff --git a/sysdeps/s390/s390-64/iso-8859-1_cp037_z900.c b/sysdeps/s390/s390-64/iso-8859-1_cp037_z900.c
index d020fd01db..9ec84a337a 100644
--- a/sysdeps/s390/s390-64/iso-8859-1_cp037_z900.c
+++ b/sysdeps/s390/s390-64/iso-8859-1_cp037_z900.c
@@ -184,28 +184,28 @@ __attribute__ ((aligned (8))) =
 
 #define TROO_LOOP(TABLE)						\
   {									\
-    register const unsigned char test asm ("0") = 0;			\
-    register const unsigned char *pTable asm ("1") = TABLE;		\
-    register unsigned char *pOutput asm ("2") = outptr;			\
-    register uint64_t length asm ("3");					\
+    register const unsigned char test __asm__ ("0") = 0;		\
+    register const unsigned char *pTable __asm__ ("1") = TABLE;		\
+    register unsigned char *pOutput __asm__ ("2") = outptr;		\
+    register uint64_t length __asm__ ("3");				\
     const unsigned char* pInput = inptr;				\
     uint64_t tmp;							\
 									\
     length = (inend - inptr < outend - outptr				\
 	      ? inend - inptr : outend - outptr);			\
 									\
-    asm volatile ("0:                        \n\t"			\
-                  "  troo    %0,%1           \n\t"			\
-                  "  jz      1f              \n\t"			\
-                  "  jo      0b              \n\t"			\
-                  "  llgc    %3,0(%1)        \n\t"			\
-                  "  la      %3,0(%3,%4)     \n\t"			\
-                  "  mvc     0(1,%0),0(%3)   \n\t"			\
-                  "  aghi    %1,1            \n\t"			\
-                  "  aghi    %0,1            \n\t"			\
-                  "  aghi    %2,-1           \n\t"			\
-                  "  j       0b              \n\t"			\
-                  "1:                        \n"			\
+    __asm__ volatile ("0:                        \n\t"			\
+		      "  troo    %0,%1           \n\t"			\
+		      "  jz      1f              \n\t"			\
+		      "  jo      0b              \n\t"			\
+		      "  llgc    %3,0(%1)        \n\t"			\
+		      "  la      %3,0(%3,%4)     \n\t"			\
+		      "  mvc     0(1,%0),0(%3)   \n\t"			\
+		      "  aghi    %1,1            \n\t"			\
+		      "  aghi    %0,1            \n\t"			\
+		      "  aghi    %2,-1           \n\t"			\
+		      "  j       0b              \n\t"			\
+		      "1:                        \n"			\
 									\
      : "+a" (pOutput), "+a" (pInput), "+d" (length), "=&a" (tmp)        \
      : "a" (pTable), "d" (test)						\
diff --git a/sysdeps/s390/s390-64/multiarch/memcmp.c b/sysdeps/s390/s390-64/multiarch/memcmp.c
index a3607e4472..d861e0b045 100644
--- a/sysdeps/s390/s390-64/multiarch/memcmp.c
+++ b/sysdeps/s390/s390-64/multiarch/memcmp.c
@@ -20,5 +20,5 @@
 # include <ifunc-resolve.h>
 
 s390_libc_ifunc (memcmp)
-asm(".weak bcmp ; bcmp = memcmp");
+__asm__(".weak bcmp ; bcmp = memcmp");
 #endif
diff --git a/sysdeps/s390/s390-64/stackguard-macros.h b/sysdeps/s390/s390-64/stackguard-macros.h
index c8270fbe79..2c97d3824f 100644
--- a/sysdeps/s390/s390-64/stackguard-macros.h
+++ b/sysdeps/s390/s390-64/stackguard-macros.h
@@ -1,18 +1,18 @@
 #include <stdint.h>
 
 #define STACK_CHK_GUARD \
-  ({ uintptr_t x; asm ("ear %0,%%a0; sllg %0,%0,32; ear %0,%%a1; lg %0,0x28(%0)" : "=a" (x)); x; })
+  ({ uintptr_t x; __asm__ ("ear %0,%%a0; sllg %0,%0,32; ear %0,%%a1; lg %0,0x28(%0)" : "=a" (x)); x; })
 
 /* On s390/s390x there is no unique pointer guard, instead we use the
    same value as the stack guard.  */
-#define POINTER_CHK_GUARD \
-  ({							\
-     uintptr_t x;					\
-     asm ("ear %0,%%a0;"				\
-	  "sllg %0,%0,32;"				\
-	  "ear %0,%%a1;"				\
-	  "lg %0,%1(%0)"				\
-	 : "=a" (x)					\
-	 : "i" (offsetof (tcbhead_t, stack_guard)));	\
-     x;							\
-   })
+#define POINTER_CHK_GUARD					\
+  ({								\
+    uintptr_t x;						\
+    __asm__ ("ear %0,%%a0;"					\
+	     "sllg %0,%0,32;"					\
+	     "ear %0,%%a1;"					\
+	     "lg %0,%1(%0)"					\
+	     : "=a" (x)						\
+	     : "i" (offsetof (tcbhead_t, stack_guard)));	\
+    x;								\
+  })
diff --git a/sysdeps/s390/s390-64/tls-macros.h b/sysdeps/s390/s390-64/tls-macros.h
index 3c59436341..d70ea6ce0c 100644
--- a/sysdeps/s390/s390-64/tls-macros.h
+++ b/sysdeps/s390/s390-64/tls-macros.h
@@ -1,88 +1,88 @@
 #define TLS_LE(x) \
   ({ unsigned long __offset;						      \
-     asm ("bras %0,1f\n"						      \
-	  "0:\t.quad " #x "@ntpoff\n"					      \
-	  "1:\tlg %0,0(%0)"						      \
-	  : "=a" (__offset) : : "cc" );					      \
+     __asm__ ("bras %0,1f\n"						      \
+	      "0:\t.quad " #x "@ntpoff\n"				      \
+	      "1:\tlg %0,0(%0)"						      \
+	      : "=a" (__offset) : : "cc" );				      \
      (int *) (__builtin_thread_pointer() + __offset); })
 
 #ifdef PIC
 # define TLS_IE(x) \
   ({ unsigned long __offset, __got;					      \
-     asm ("bras %0,0f\n\t"						      \
-	  ".quad " #x "@gotntpoff\n"					      \
-	  "0:\tlarl %1,_GLOBAL_OFFSET_TABLE_\n\t"			      \
-	  "lg %0,0(%0)\n\t"						      \
-	  "lg %0,0(%0,%1):tls_load:" #x	"\n"				      \
-	  : "=&a" (__offset), "=&a" (__got) : : "cc" );			      \
+     __asm__ ("bras %0,0f\n\t"						      \
+	      ".quad " #x "@gotntpoff\n"				      \
+	      "0:\tlarl %1,_GLOBAL_OFFSET_TABLE_\n\t"			      \
+	      "lg %0,0(%0)\n\t"						      \
+	      "lg %0,0(%0,%1):tls_load:" #x	"\n"			      \
+	      : "=&a" (__offset), "=&a" (__got) : : "cc" );		      \
      (int *) (__builtin_thread_pointer() + __offset); })
 #else
 # define TLS_IE(x) \
   ({ unsigned long  __offset;						      \
-     asm ("bras %0,1f\n"						      \
-	  "0:\t.quad " #x "@indntpoff\n"				      \
-	  "1:\t lg %0,0(%0)\n\t"					      \
-	  "lg %0,0(%0):tls_load:" #x					      \
-	  : "=&a" (__offset) : : "cc" );				      \
+     __asm__ ("bras %0,1f\n"						      \
+	      "0:\t.quad " #x "@indntpoff\n"				      \
+	      "1:\t lg %0,0(%0)\n\t"					      \
+	      "lg %0,0(%0):tls_load:" #x				      \
+	      : "=&a" (__offset) : : "cc" );				      \
      (int *) (__builtin_thread_pointer() + __offset); })
 #endif
 
 #ifdef PIC
 # define TLS_LD(x) \
   ({ unsigned long __offset, __save12;					      \
-     asm ("bras %0,1f\n"						      \
-	  "0:\t.quad " #x "@tlsldm\n\t"					      \
-	  ".quad " #x "@dtpoff\n"					      \
-	  "1:\tlgr %1,%%r12\n\t"					      \
-	  "larl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"			      \
-	  "lg %%r2,0(%0)\n\t"						      \
-	  "brasl %%r14,__tls_get_offset@plt:tls_ldcall:" #x "\n\t"	      \
-	  "lg %0,8(%0)\n\t"						      \
-	  "algr %0,%%r2\n\t"						      \
-	  "lgr %%r12,%1"						      \
-	  : "=&a" (__offset), "=&a" (__save12)				      \
-	  : : "cc", "0", "1", "2", "3", "4", "5", "14" );		      \
+     __asm__ ("bras %0,1f\n"						      \
+	      "0:\t.quad " #x "@tlsldm\n\t"				      \
+	      ".quad " #x "@dtpoff\n"					      \
+	      "1:\tlgr %1,%%r12\n\t"					      \
+	      "larl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"			      \
+	      "lg %%r2,0(%0)\n\t"					      \
+	      "brasl %%r14,__tls_get_offset@plt:tls_ldcall:" #x "\n\t"	      \
+	      "lg %0,8(%0)\n\t"						      \
+	      "algr %0,%%r2\n\t"					      \
+	      "lgr %%r12,%1"						      \
+	      : "=&a" (__offset), "=&a" (__save12)			      \
+	      : : "cc", "0", "1", "2", "3", "4", "5", "14" );		      \
      (int *) (__builtin_thread_pointer() + __offset); })
 #else
 # define TLS_LD(x) \
   ({ unsigned long __offset;						      \
-     asm ("bras %0,1f\n"						      \
-	  "0:\t.quad " #x "@tlsldm\n\t"					      \
-	  ".quad " #x "@dtpoff\n"					      \
-	  "1:\tlarl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"			      \
-	  "lg %%r2,0(%0)\n\t"						      \
-	  "brasl %%r14,__tls_get_offset@plt:tls_ldcall:" #x "\n\t"	      \
-	  "lg %0,8(%0)\n\t"						      \
-	  "algr %0,%%r2"						      \
-	  : "=&a" (__offset)						      \
-	  : : "cc", "0", "1", "2", "3", "4", "5", "12", "14" );		      \
+     __asm__ ("bras %0,1f\n"						      \
+	      "0:\t.quad " #x "@tlsldm\n\t"				      \
+	      ".quad " #x "@dtpoff\n"					      \
+	      "1:\tlarl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"		      \
+	      "lg %%r2,0(%0)\n\t"					      \
+	      "brasl %%r14,__tls_get_offset@plt:tls_ldcall:" #x "\n\t"	      \
+	      "lg %0,8(%0)\n\t"						      \
+	      "algr %0,%%r2"						      \
+	      : "=&a" (__offset)					      \
+	      : : "cc", "0", "1", "2", "3", "4", "5", "12", "14" );	      \
      (int *) (__builtin_thread_pointer() + __offset); })
 #endif
 
 #ifdef PIC
 # define TLS_GD(x) \
   ({ unsigned long __offset, __save12;					      \
-     asm ("bras %0,1f\n"						      \
-	  "0:\t.quad " #x "@tlsgd\n"					      \
-	  "1:\tlgr %1,%%r12\n\t"					      \
-	  "larl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"			      \
-	  "lg %%r2,0(%0)\n\t"						      \
-	  "brasl %%r14,__tls_get_offset@plt:tls_gdcall:" #x "\n\t"	      \
-	  "lgr %0,%%r2\n\t"						      \
-	  "lgr %%r12,%1"						      \
-	  : "=&a" (__offset), "=&a" (__save12)				      \
-	  : : "cc", "0", "1", "2", "3", "4", "5", "14" );		      \
+     __asm__ ("bras %0,1f\n"						      \
+	      "0:\t.quad " #x "@tlsgd\n"				      \
+	      "1:\tlgr %1,%%r12\n\t"					      \
+	      "larl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"			      \
+	      "lg %%r2,0(%0)\n\t"					      \
+	      "brasl %%r14,__tls_get_offset@plt:tls_gdcall:" #x "\n\t"	      \
+	      "lgr %0,%%r2\n\t"						      \
+	      "lgr %%r12,%1"						      \
+	      : "=&a" (__offset), "=&a" (__save12)			      \
+	      : : "cc", "0", "1", "2", "3", "4", "5", "14" );		      \
      (int *) (__builtin_thread_pointer() + __offset); })
 #else
 # define TLS_GD(x) \
   ({ unsigned long __offset;						      \
-     asm ("bras %0,1f\n"						      \
-	  "0:\t.quad " #x "@tlsgd\n"					      \
-	  "1:\tlarl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"			      \
-	  "lg %%r2,0(%0)\n\t"						      \
-	  "brasl %%r14,__tls_get_offset@plt:tls_gdcall:" #x "\n\t"	      \
-	  "lgr %0,%%r2"							      \
-	  : "=&a" (__offset)						      \
-	  : : "cc", "0", "1", "2", "3", "4", "5", "12", "14" );		      \
+     __asm__ ("bras %0,1f\n"						      \
+	      "0:\t.quad " #x "@tlsgd\n"				      \
+	      "1:\tlarl %%r12,_GLOBAL_OFFSET_TABLE_\n\t"		      \
+	      "lg %%r2,0(%0)\n\t"					      \
+	      "brasl %%r14,__tls_get_offset@plt:tls_gdcall:" #x "\n\t"	      \
+	      "lgr %0,%%r2"						      \
+	      : "=&a" (__offset)					      \
+	      : : "cc", "0", "1", "2", "3", "4", "5", "12", "14" );	      \
      (int *) (__builtin_thread_pointer() + __offset); })
 #endif
diff --git a/sysdeps/s390/s390-64/utf16-utf32-z9.c b/sysdeps/s390/s390-64/utf16-utf32-z9.c
index f887c34e61..d9177bff18 100644
--- a/sysdeps/s390/s390-64/utf16-utf32-z9.c
+++ b/sysdeps/s390/s390-64/utf16-utf32-z9.c
@@ -163,22 +163,22 @@ gconv_end (struct __gconv_step *data)
    directions.  */
 #define HARDWARE_CONVERT(INSTRUCTION)					\
   {									\
-    register const unsigned char* pInput asm ("8") = inptr;		\
-    register unsigned long long inlen asm ("9") = inend - inptr;	\
-    register unsigned char* pOutput asm ("10") = outptr;		\
-    register unsigned long long outlen asm("11") = outend - outptr;	\
+    register const unsigned char* pInput __asm__ ("8") = inptr;		\
+    register unsigned long long inlen __asm__ ("9") = inend - inptr;	\
+    register unsigned char* pOutput __asm__ ("10") = outptr;		\
+    register unsigned long long outlen __asm__("11") = outend - outptr;	\
     uint64_t cc = 0;							\
 									\
-    asm volatile (".machine push       \n\t"				\
-                  ".machine \"z9-109\" \n\t"				\
-		  "0: " INSTRUCTION "  \n\t"				\
-                  ".machine pop        \n\t"				\
-                  "   jo     0b        \n\t"				\
-		  "   ipm    %2        \n"			        \
-		  : "+a" (pOutput), "+a" (pInput), "+d" (cc),		\
-		    "+d" (outlen), "+d" (inlen)				\
-		  :							\
-		  : "cc", "memory");					\
+    __asm__ volatile (".machine push       \n\t"			\
+		      ".machine \"z9-109\" \n\t"			\
+		      "0: " INSTRUCTION "  \n\t"			\
+		      ".machine pop        \n\t"			\
+		      "   jo     0b        \n\t"			\
+		      "   ipm    %2        \n"				\
+		      : "+a" (pOutput), "+a" (pInput), "+d" (cc),	\
+		      "+d" (outlen), "+d" (inlen)			\
+		      :							\
+		      : "cc", "memory");				\
 									\
     inptr = pInput;							\
     outptr = pOutput;							\
diff --git a/sysdeps/s390/s390-64/utf8-utf16-z9.c b/sysdeps/s390/s390-64/utf8-utf16-z9.c
index 6712c1c6fa..b3bf554509 100644
--- a/sysdeps/s390/s390-64/utf8-utf16-z9.c
+++ b/sysdeps/s390/s390-64/utf8-utf16-z9.c
@@ -145,22 +145,22 @@ gconv_end (struct __gconv_step *data)
    directions.  */
 #define HARDWARE_CONVERT(INSTRUCTION)					\
   {									\
-    register const unsigned char* pInput asm ("8") = inptr;		\
-    register unsigned long long inlen asm ("9") = inend - inptr;	\
-    register unsigned char* pOutput asm ("10") = outptr;		\
-    register unsigned long long outlen asm("11") = outend - outptr;	\
+    register const unsigned char* pInput __asm__ ("8") = inptr;		\
+    register unsigned long long inlen __asm__ ("9") = inend - inptr;	\
+    register unsigned char* pOutput __asm__ ("10") = outptr;		\
+    register unsigned long long outlen __asm__("11") = outend - outptr;	\
     uint64_t cc = 0;							\
 									\
-    asm volatile (".machine push       \n\t"				\
-                  ".machine \"z9-109\" \n\t"				\
-		  "0: " INSTRUCTION "  \n\t"				\
-                  ".machine pop        \n\t"				\
-                  "   jo     0b        \n\t"				\
-		  "   ipm    %2        \n"			        \
-		  : "+a" (pOutput), "+a" (pInput), "+d" (cc),		\
-		    "+d" (outlen), "+d" (inlen)				\
-		  :							\
-		  : "cc", "memory");					\
+    __asm__ volatile (".machine push       \n\t"			\
+		      ".machine \"z9-109\" \n\t"			\
+		      "0: " INSTRUCTION "  \n\t"			\
+		      ".machine pop        \n\t"			\
+		      "   jo     0b        \n\t"			\
+		      "   ipm    %2        \n"				\
+		      : "+a" (pOutput), "+a" (pInput), "+d" (cc),	\
+			"+d" (outlen), "+d" (inlen)			\
+		      :							\
+		      : "cc", "memory");				\
 									\
     inptr = pInput;							\
     outptr = pOutput;							\
diff --git a/sysdeps/s390/s390-64/utf8-utf32-z9.c b/sysdeps/s390/s390-64/utf8-utf32-z9.c
index 9a74448285..fc7aec8c4c 100644
--- a/sysdeps/s390/s390-64/utf8-utf32-z9.c
+++ b/sysdeps/s390/s390-64/utf8-utf32-z9.c
@@ -149,22 +149,22 @@ gconv_end (struct __gconv_step *data)
    directions.  */
 #define HARDWARE_CONVERT(INSTRUCTION)					\
   {									\
-    register const unsigned char* pInput asm ("8") = inptr;		\
-    register unsigned long long inlen asm ("9") = inend - inptr;	\
-    register unsigned char* pOutput asm ("10") = outptr;		\
-    register unsigned long long outlen asm("11") = outend - outptr;	\
+    register const unsigned char* pInput __asm__ ("8") = inptr;		\
+    register unsigned long long inlen __asm__ ("9") = inend - inptr;	\
+    register unsigned char* pOutput __asm__ ("10") = outptr;		\
+    register unsigned long long outlen __asm__("11") = outend - outptr;	\
     uint64_t cc = 0;							\
 									\
-    asm volatile (".machine push       \n\t"				\
-                  ".machine \"z9-109\" \n\t"				\
-		  "0: " INSTRUCTION "  \n\t"				\
-                  ".machine pop        \n\t"				\
-                  "   jo     0b        \n\t"				\
-		  "   ipm    %2        \n"				\
-		  : "+a" (pOutput), "+a" (pInput), "+d" (cc),		\
-		    "+d" (outlen), "+d" (inlen)				\
-		  :							\
-		  : "cc", "memory");					\
+    __asm__ volatile (".machine push       \n\t"			\
+		      ".machine \"z9-109\" \n\t"			\
+		      "0: " INSTRUCTION "  \n\t"			\
+		      ".machine pop        \n\t"			\
+		      "   jo     0b        \n\t"			\
+		      "   ipm    %2        \n"				\
+		      : "+a" (pOutput), "+a" (pInput), "+d" (cc),	\
+		      "+d" (outlen), "+d" (inlen)			\
+		      :							\
+		      : "cc", "memory");				\
 									\
     inptr = pInput;							\
     outptr = pOutput;							\