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.20-294-gbbe4c14


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  bbe4c142b024d639418069b480b0f3d05b489803 (commit)
      from  909e16d96064708b43170eeb01135315f540e6ff (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=bbe4c142b024d639418069b480b0f3d05b489803

commit bbe4c142b024d639418069b480b0f3d05b489803
Author: Petar Jovanovic <petar.jovanovic@rt-rk.com>
Date:   Tue Dec 2 23:04:43 2014 +0000

    mips: Do not use jal to reach __libc_start_main
    
    Since __libc_start_main may not be in the same 256MB-aligned region as
    the function __start, replace use of jal instruction with la/jalr.
    
    This fixes linker issue reported in:
    https://sourceware.org/bugzilla/show_bug.cgi?id=17601
    
    	[BZ #17601]
    	* sysdeps/mips/start.S (__start): Use indirect jump to call
    	__libc_start_main.

diff --git a/ChangeLog b/ChangeLog
index a2c8b76..f8e0e6c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-12-02  Petar Jovanovic  <petar.jovanovic@rt-rk.com>
+
+	[BZ #17601]
+	* sysdeps/mips/start.S (__start): Use indirect jump to call
+	__libc_start_main.
+
 2014-12-02  Joseph Myers  <joseph@codesourcery.com>
 
 	* nptl/tst-stack4.c (dso_process): Use int not uintptr_t for t.
diff --git a/NEWS b/NEWS
index 1e2d2ae..33ab071 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,7 @@ Version 2.21
   16619, 16740, 16857, 17192, 17266, 17344, 17363, 17370, 17371, 17411,
   17460, 17475, 17485, 17501, 17506, 17508, 17522, 17555, 17570, 17571,
   17572, 17573, 17574, 17581, 17582, 17583, 17584, 17585, 17589, 17594,
-  17608, 17616, 17625, 17633, 17664, 17665.
+  17601, 17608, 17616, 17625, 17633, 17664, 17665.
 
 * CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
   under certain input conditions resulting in the execution of a shell for
diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S
index a454941..3c012f1 100644
--- a/sysdeps/mips/start.S
+++ b/sysdeps/mips/start.S
@@ -106,7 +106,8 @@ ENTRY_POINT:
 	move $9, $2		/* rtld_fini */
 	move $10, $29		/* stack_end */
 # endif
-	jal __libc_start_main
+	PTR_LA $25, __libc_start_main
+	jalr   $25
 hlt:	b hlt			/* Crash if somehow it does return.  */
 
 #elif _MIPS_SIM == _ABIO32 /* __mips16 */
@@ -157,7 +158,9 @@ ENTRY_POINT:
 	sw	$4, 16($sp)			/* fini */
 	lw	$4, 3f				/* main */
 	sw	$2, 20($sp)			/* rtld_fini */
-	jal	__libc_start_main
+	/* Load and call __libc_start_main().  */
+	lw	$3, 4f
+	jalr	$3
 # endif
 hlt:	b	hlt		/* Crash if somehow it does return.  */
 # ifndef __PIC__
@@ -165,6 +168,7 @@ hlt:	b	hlt		/* Crash if somehow it does return.  */
 1:	.word	__libc_csu_fini
 2:	.word	__libc_csu_init
 3:	.word	main
+4:	.word	__libc_start_main
 # endif
 
 #else /* __mips16 && _MIPS_SIM != _ABIO32 */

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

Summary of changes:
 ChangeLog            |    6 ++++++
 NEWS                 |    2 +-
 sysdeps/mips/start.S |    8 ++++++--
 3 files changed, 13 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]