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.23-404-g3904414


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  3904414a3008751ffcaf18fbe33bd34812b7bfe5 (commit)
      from  d6af2388f7085b134d289b034a9cbe21a2d5f819 (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=3904414a3008751ffcaf18fbe33bd34812b7bfe5

commit 3904414a3008751ffcaf18fbe33bd34812b7bfe5
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon May 30 01:24:09 2016 +0200

    hurd: fix _hurd_self_sigstate reference from ____longjmp_chk
    
    	* sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk) [PIC]:
    	  Use PLT entry for calling _hurd_self_sigstate.

diff --git a/ChangeLog b/ChangeLog
index 1e11464..3eee1b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-05-30  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	* sysdeps/mach/hurd/i386/____longjmp_chk.S (____longjmp_chk) [PIC]:
+	  Use PLT entry for calling _hurd_self_sigstate.
+
 2016-05-27  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* sysdeps/x86/cacheinfo.c (init_cacheinfo): Count number of
diff --git a/sysdeps/mach/hurd/i386/____longjmp_chk.S b/sysdeps/mach/hurd/i386/____longjmp_chk.S
index 4ddf6cd..dec8ea7 100644
--- a/sysdeps/mach/hurd/i386/____longjmp_chk.S
+++ b/sysdeps/mach/hurd/i386/____longjmp_chk.S
@@ -66,7 +66,12 @@ ENTRY (____longjmp_chk)
 
 	/* TODO: need locking?  */
 	/* struct hurd_sigstate * _hurd_self_sigstate (void) */
-	call	_hurd_self_sigstate
+#ifdef PIC
+	call    1f
+1:	popl    %ebx
+	addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
+#endif
+	call	JUMPTARGET(_hurd_self_sigstate)
 	/* TODO: %eax and %eax->sigaltstack are always valid?  */
 
 	testl	$SS_ONSTACK, (HURD_SIGSTATE__SIGALTSTACK__OFFSET + SIGALTSTACK__SS_FLAGS__OFFSET)(%eax)

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

Summary of changes:
 ChangeLog                                |    5 +++++
 sysdeps/mach/hurd/i386/____longjmp_chk.S |    7 ++++++-
 2 files changed, 11 insertions(+), 1 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]