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.18-273-ged4c993


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  ed4c99394440533818babac9b8ba602e666ded7c (commit)
      from  e7044ea76bd95f8adc0eab0b2bdcab7f51055b48 (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=ed4c99394440533818babac9b8ba602e666ded7c

commit ed4c99394440533818babac9b8ba602e666ded7c
Author: Andreas Schwab <schwab@suse.de>
Date:   Tue Oct 8 20:59:47 2013 +0200

    m68k: use PIC for Scrt1.o

diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k
index 4f933c6..5bcd945 100644
--- a/ports/ChangeLog.m68k
+++ b/ports/ChangeLog.m68k
@@ -1,3 +1,7 @@
+2013-10-08  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/m68k/start.S [SHARED]: Use PIC.
+
 2013-09-20  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* sysdeps/m68k/ffs.c (__ffs): Define as hidden.
diff --git a/ports/sysdeps/m68k/start.S b/ports/sysdeps/m68k/start.S
index a09896f..7ed96cf 100644
--- a/ports/sysdeps/m68k/start.S
+++ b/ports/sysdeps/m68k/start.S
@@ -52,6 +52,8 @@
 					NULL
 */
 
+#include <sysdep.h>
+
 	.text
 	.globl _start
 	.type _start,@function
@@ -74,6 +76,24 @@ _start:
 	pea (%a1)		/* Push address of the shared library
 				   termination function.  */
 
+#ifdef SHARED
+	/* Load PIC register.  */
+	LOAD_GOT (%a5)
+
+	/* Push the address of our own entry points to `.fini' and
+	   `.init'.  */
+	move.l __libc_csu_fini@GOT(%a5), -(%sp)
+	move.l __libc_csu_init@GOT(%a5), -(%sp)
+
+	pea (%a0)		/* Push second argument: argv.  */
+	move.l %d0, -(%sp)	/* Push first argument: argc.  */
+
+	move.l main@GOT(%a5), -(%sp)
+
+	/* Call the user's main function, and exit with its value.  But
+	   let the libc call main.  */
+	jbsr __libc_start_main@PLT
+#else
 	/* Push the address of our own entry points to `.fini' and
 	   `.init'.  */
 	pea __libc_csu_fini
@@ -87,6 +107,7 @@ _start:
 	/* Call the user's main function, and exit with its value.  But
 	   let the libc call main.  */
 	jbsr __libc_start_main
+#endif
 
 	illegal			/* Crash if somehow `exit' does return.  */
 

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

Summary of changes:
 ports/ChangeLog.m68k       |    4 ++++
 ports/sysdeps/m68k/start.S |   21 +++++++++++++++++++++
 2 files changed, 25 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]