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.13-81-g2739047


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  2739047682590b1df473401b4febf424f857fccf (commit)
       via  1044270502f31134c6a252dfe71ce8f586bc0d00 (commit)
      from  7b57bfe5988e476ea40934457dfd1c8a231e2391 (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=2739047682590b1df473401b4febf424f857fccf

commit 2739047682590b1df473401b4febf424f857fccf
Author: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Date:   Sun Apr 17 20:43:59 2011 -0400

    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  <Andreas.Krebbel@de.ibm.com>
+
+	* 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  <Andreas.Krebbel@de.ibm.com>
 
 	* 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),		\

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=1044270502f31134c6a252dfe71ce8f586bc0d00

commit 1044270502f31134c6a252dfe71ce8f586bc0d00
Author: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Date:   Sun Apr 17 20:41:45 2011 -0400

    Skip extra zeroes when searching auxv on s390

diff --git a/ChangeLog b/ChangeLog
index 468799c..99f4b64 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-04-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+	* sysdeps/s390/s390-32/elf/start.S (_start): Skip extra zeroes
+	between environment variables and auxiliary vector.
+
 2011-04-16  Ulrich Drepper  <drepper@gmail.com>
 
 	* Makefile: Add rules to build linkobj/libc.so.
diff --git a/sysdeps/s390/s390-32/elf/start.S b/sysdeps/s390/s390-32/elf/start.S
index 8e48abb..c568f82 100644
--- a/sysdeps/s390/s390-32/elf/start.S
+++ b/sysdeps/s390/s390-32/elf/start.S
@@ -75,6 +75,18 @@ _start:
 	ltr	%r5,%r5
 	jne	.L12
 
+	/* Usually the auxiliary vector can be expected directly after
+	   the environment variables.  But we have to skip extra zeros
+	   because the loader might have removed unsecure variables for
+	   setuid programs.  */
+
+.L26:	l	%r5,0(%r6)
+	la	%r6,4(%r6)
+	ltr	%r5,%r5
+	jz	.L26
+
+	ahi	%r6,-4
+
 	/* Obtain the needed values from the auxiliary vector.  */
 
 	lhi	%r7,16	       /* AT_HWCAP */

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

Summary of changes:
 ChangeLog                             |   12 ++++++++++++
 sysdeps/s390/s390-32/elf/start.S      |   12 ++++++++++++
 sysdeps/s390/s390-64/utf16-utf32-z9.c |    5 ++++-
 sysdeps/s390/s390-64/utf8-utf16-z9.c  |    5 ++++-
 sysdeps/s390/s390-64/utf8-utf32-z9.c  |    5 ++++-
 5 files changed, 36 insertions(+), 3 deletions(-)


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]