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 gentoo/2.23 updated. glibc-2.23-14-g8649aef


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, gentoo/2.23 has been updated
       via  8649aef19cb2edcc5bfa86e5e8b89f2c80401b0f (commit)
      from  827b40098862b65fdc1a96288fbd930f16b3e49f (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=8649aef19cb2edcc5bfa86e5e8b89f2c80401b0f

commit 8649aef19cb2edcc5bfa86e5e8b89f2c80401b0f
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Wed Mar 9 00:25:00 2016 +0100

    mips: terminate the FDE before the return trampoline in makecontext
    
    In makecontext the FDE needs to be terminated before the return
    trampoline otherwise backtrace called within a context created by
    makecontext yields infinite backtrace.
    
    This bug has been present for a long time, stdlib/tst-makecontext did
    not fail until recent commit e535ce25. Tested on mips-linux-gnu and
    mips64el-linux-gnuabi64 and mips-linux-gnu, no regression.
    
    This fixes stdlib/tst-makecontext on MIPS.
    
    Changelog:
    	[BZ #19792]
    	* sysdeps/unix/sysv/linux/mips/makecontext.S (__makecontext):
    	Terminate FDE before return label.
    
    (cherry picked from commit f8e9c4d30c28b8815e65a391416e8b15d2e7cbb8)
    (cherry picked from commit 63ed4db4b45cab21cf6f68aac7b9fce2f770fe74)

diff --git a/sysdeps/unix/sysv/linux/mips/makecontext.S b/sysdeps/unix/sysv/linux/mips/makecontext.S
index 66600c7..3196554 100644
--- a/sysdeps/unix/sysv/linux/mips/makecontext.S
+++ b/sysdeps/unix/sysv/linux/mips/makecontext.S
@@ -153,6 +153,11 @@ NESTED (__makecontext, FRAMESZ, ra)
 #endif
 	jr	ra
 
+	/* We need to terminate the FDE to stop unwinding if backtrace was
+	   called within a context created by makecontext.  */
+	cfi_endproc
+	nop
+
 99:
 #ifdef __PIC__
 	move	gp, s1
@@ -186,6 +191,8 @@ NESTED (__makecontext, FRAMESZ, ra)
 1:
 	lb	zero, (zero)
 	b	1b
+
+	cfi_startproc
 PSEUDO_END (__makecontext)
 
 weak_alias (__makecontext, makecontext)

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

Summary of changes:
 sysdeps/unix/sysv/linux/mips/makecontext.S |    7 +++++++
 1 files changed, 7 insertions(+), 0 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]