From: Andreas Krebbel Date: Mon, 18 Apr 2011 00:43:59 +0000 (-0400) Subject: Use .machine to prevent AS from complaining about z9-109 instructions in iconv modules X-Git-Tag: upstream/2.20~5503 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2739047682590b1df473401b4febf424f857fccf;p=platform%2Fupstream%2Flinaro-glibc.git Use .machine to prevent AS from complaining about z9-109 instructions in iconv modules --- diff --git a/ChangeLog b/ChangeLog index 99f4b64..b2d2597 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-04-13 Andreas Krebbel + + * sysdeps/s390/s390-64/utf16-utf32-z9.c: Wrap the z9-109 + instructions into .machine "z9-109". + * sysdeps/s390/s390-64/utf8-utf16-z9.c: Likewise. + * sysdeps/s390/s390-64/utf8-utf32-z9.c: Likewise. + 2011-04-11 Andreas Krebbel * sysdeps/s390/s390-32/elf/start.S (_start): Skip extra zeroes diff --git a/sysdeps/s390/s390-64/utf16-utf32-z9.c b/sysdeps/s390/s390-64/utf16-utf32-z9.c index 14daf21..5bcaaae 100644 --- a/sysdeps/s390/s390-64/utf16-utf32-z9.c +++ b/sysdeps/s390/s390-64/utf16-utf32-z9.c @@ -169,7 +169,10 @@ gconv_end (struct __gconv_step *data) register unsigned long long outlen asm("11") = outend - outptr; \ uint64_t cc = 0; \ \ - asm volatile ("0: " INSTRUCTION " \n\t" \ + 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), \ diff --git a/sysdeps/s390/s390-64/utf8-utf16-z9.c b/sysdeps/s390/s390-64/utf8-utf16-z9.c index 5f73f3c..812a42f 100644 --- a/sysdeps/s390/s390-64/utf8-utf16-z9.c +++ b/sysdeps/s390/s390-64/utf8-utf16-z9.c @@ -151,7 +151,10 @@ gconv_end (struct __gconv_step *data) register unsigned long long outlen asm("11") = outend - outptr; \ uint64_t cc = 0; \ \ - asm volatile ("0: " INSTRUCTION " \n\t" \ + 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), \ diff --git a/sysdeps/s390/s390-64/utf8-utf32-z9.c b/sysdeps/s390/s390-64/utf8-utf32-z9.c index 17ef8bc..0ffd848 100644 --- a/sysdeps/s390/s390-64/utf8-utf32-z9.c +++ b/sysdeps/s390/s390-64/utf8-utf32-z9.c @@ -155,7 +155,10 @@ gconv_end (struct __gconv_step *data) register unsigned long long outlen asm("11") = outend - outptr; \ uint64_t cc = 0; \ \ - asm volatile ("0: " INSTRUCTION " \n\t" \ + 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), \