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.27.9000-75-g3785b31


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  3785b31c16a507538a9f67f20c75b8a1dfe9939a (commit)
      from  055ac2a7eeb14755e946440af3d2cdfe95f18f8e (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3785b31c16a507538a9f67f20c75b8a1dfe9939a

commit 3785b31c16a507538a9f67f20c75b8a1dfe9939a
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Feb 15 21:01:25 2018 +0000

    Fix hppa local PLT entries for sigprocmask (bug 18124).
    
    When adding/updating localplt.data for various architectures to get
    the compilation tests passing everywhere, I generally made it reflect
    the existing state of what local PLT entries were actually seen,
    rather than an ideal state with as few as possible such entries,
    mainly for functions that are intended to be interposable.
    
    This patch eliminates some local PLT entries for hppa by using
    __sigprocmask instead of sigprocmask in getcontext and setcontext.
    The specific case of sigprocmask called by setcontext is the third of
    four items in bug 18124 (the other three have already been fixed for
    2.26 or earlier releases).  Note that hppa-specific localplt.data
    entries for __sigsetjmp, _IO_funlockfile and __errno_location remain,
    but the causes / fixes are less immediately obvious from source
    inspection.
    
    Tested (compilation tests only) with build-many-glibcs.py for
    hppa-linux-gnu.
    
    	[BZ #18124]
    	* sysdeps/hppa/bsd-setjmp.S: Include <sysdep.h>.
    	(setjmp): Use HIDDEN_JUMPTARGET with __sigsetjmp.
    	* sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Call
    	__sigprocmask instead of sigprocmask.
    	* sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext):
    	Likewise.
    	* sysdeps/unix/sysv/linux/hppa/localplt.data: Remove entries for
    	__sigsetjmp and sigprocmask.

diff --git a/ChangeLog b/ChangeLog
index 9007cea..9bc1c16 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2018-02-15  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #18124]
+	* sysdeps/hppa/bsd-setjmp.S: Include <sysdep.h>.
+	(setjmp): Use HIDDEN_JUMPTARGET with __sigsetjmp.
+	* sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Call
+	__sigprocmask instead of sigprocmask.
+	* sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext):
+	Likewise.
+	* sysdeps/unix/sysv/linux/hppa/localplt.data: Remove entries for
+	__sigsetjmp and sigprocmask.
+
 	[BZ #15105]
 	* include/argz.h (argz_next): Use libc_hidden_proto.
 	(__argz_next): Likewise.
diff --git a/sysdeps/unix/sysv/linux/hppa/getcontext.S b/sysdeps/unix/sysv/linux/hppa/getcontext.S
index 4261f60..b8f978f 100644
--- a/sysdeps/unix/sysv/linux/hppa/getcontext.S
+++ b/sysdeps/unix/sysv/linux/hppa/getcontext.S
@@ -160,7 +160,7 @@ ENTRY(__getcontext)
 	/* sigprocmask(SIG_BLOCK, NULL, &ucp->uc_sigmask);  */
 	ldo	oSIGMASK(%r26), %r24
 	copy	%r0, %r25
-	bl	sigprocmask, %r2
+	bl	__sigprocmask, %r2
 	ldi	SIG_BLOCK, %r26
 
 	/* Epilogue */
diff --git a/sysdeps/unix/sysv/linux/hppa/localplt.data b/sysdeps/unix/sysv/linux/hppa/localplt.data
index 3279c0a..5f3475d 100644
--- a/sysdeps/unix/sysv/linux/hppa/localplt.data
+++ b/sysdeps/unix/sysv/linux/hppa/localplt.data
@@ -8,7 +8,6 @@ libc.so: memalign
 libc.so: realloc
 libc.so: __sigsetjmp
 libc.so: _IO_funlockfile
-libc.so: sigprocmask
 libc.so: __errno_location
 libm.so: matherr
 libpthread.so: __errno_location
diff --git a/sysdeps/unix/sysv/linux/hppa/setcontext.S b/sysdeps/unix/sysv/linux/hppa/setcontext.S
index 8dc0ecf..d5ebc7c 100644
--- a/sysdeps/unix/sysv/linux/hppa/setcontext.S
+++ b/sysdeps/unix/sysv/linux/hppa/setcontext.S
@@ -43,7 +43,7 @@ ENTRY(__setcontext)
 	/* sigprocmask(SIG_BLOCK, &ucp->uc_sigmask, NULL);  */
 	copy	%r0, %r24
 	ldo	oSIGMASK(%r3), %r25
-	bl	sigprocmask, %r2
+	bl	__sigprocmask, %r2
 	ldi	SIG_SETMASK, %r26
 
 	comib,<>,n 0,%ret0,.Lerror

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

Summary of changes:
 ChangeLog                                  |   10 ++++++++++
 sysdeps/unix/sysv/linux/hppa/getcontext.S  |    2 +-
 sysdeps/unix/sysv/linux/hppa/localplt.data |    1 -
 sysdeps/unix/sysv/linux/hppa/setcontext.S  |    2 +-
 4 files changed, 12 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]