This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.18-273-ged4c993
- From: schwab at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 8 Oct 2013 19:08:34 -0000
- Subject: 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