aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/s390/s390-64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-05-05 18:26:01 +0000
committerUlrich Drepper <drepper@redhat.com>2006-05-05 18:26:01 +0000
commit308bb2d557a6394bd260f549cde01d01c7da9b5c (patch)
treed07b045f41d38341ac8a67b4e72e21404cdcc56f /sysdeps/s390/s390-64
parentcdb9c32138fe80cc4767b5c597713cf773e12f0e (diff)
downloadglibc-308bb2d557a6394bd260f549cde01d01c7da9b5c.tar
glibc-308bb2d557a6394bd260f549cde01d01c7da9b5c.tar.gz
glibc-308bb2d557a6394bd260f549cde01d01c7da9b5c.tar.bz2
glibc-308bb2d557a6394bd260f549cde01d01c7da9b5c.zip
* sysdeps/s390/s390-32/elf/start.S: Replace pc relative relocation
by a GOT relocation to make Scrt1.o position independent. * sysdeps/s390/s390-64/elf/start.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: Add support for six system call parameters. * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.
Diffstat (limited to 'sysdeps/s390/s390-64')
-rw-r--r--sysdeps/s390/s390-64/elf/start.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/sysdeps/s390/s390-64/elf/start.S b/sysdeps/s390/s390-64/elf/start.S
index e5013d0057..c4cb34d02c 100644
--- a/sysdeps/s390/s390-64/elf/start.S
+++ b/sysdeps/s390/s390-64/elf/start.S
@@ -1,5 +1,5 @@
/* Startup code compliant to the 64 bit S/390 ELF ABI.
- Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
@@ -78,12 +78,14 @@ _start:
la %r7,160(%r15)
larl %r6,__libc_csu_fini # load pointer to __libc_csu_fini
larl %r5,__libc_csu_init # load pointer to __libc_csu_init
- larl %r2,main # load pointer to main
/* Ok, now branch to the libc main routine. */
#ifdef PIC
+ larl %r2,main@GOTENT # load pointer to main
+ lg %r2,0(%r2)
brasl %r14,__libc_start_main@plt
#else
+ larl %r2,main # load pointer to main
brasl %r14,__libc_start_main
#endif