glibc/sysdeps/unix/sysv/linux/s390/s390-32
Stefan Liebler 5e5b3b8866 S390: Fix build with gcc configured with --enable-default-pie. [BZ #21537]
Building glibc with gcc configured with --enable-default-pie failed on s390
due to assembler messages:
../sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S:44:
Error: junk at end of line, first unrecognized character is `@'

HIDDEN_JUMPTARGET was expanded to exit@PLT@GOTOFF.
If SHARED is not defined, HIDDEN_JUMPTARGET is defined to JUMPTARGET
in sysdeps/s390/s390-32/sysdep.h.  There it expanded to exit@PLT
in non SHARED case as PIC is defined if gcc is configured with
--enable-default-pie. Thus I've changed the "ifdef PIC" to "ifdef SHARED"
as we do not want PLTs in the static obj files.  I've also changed this
in sysdeps/s390/s390-64/sysdep.h.

I've also adjusted sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S.
If glibc is configured with --disable-hidden-plt, then NO_HIDDEN is defined.
In SHARED case HIDDEN_JUMPTARGET would be expanded to exit@PLT@GOTOFF
instead of __GI_exit@GOTOFF.
Now we jump to:
- __GI_exit if SHARED is defined
- exit@PLT if SHARED and NO_HIDDEN is defined
- exit if both are not defined.
On s390 31bit we have to setup GOT pointer in r12 if we use a PLT stub.
Therefore I use SYSCALL_PIC_SETUP from sysdep.h and added the missing semicolons.

ChangeLog:

	[BZ #21537]
	* sysdeps/s390/s390-32/sysdep.h (JUMPTARGET, SYSCALL_PIC_SETUP):
	Check SHARED instead of PIC.
	(SYSCALL_PIC_SETUP): Add missing semicolons.
	* sysdeps/s390/s390-64/sysdep.h (JUMPTARGET, SYSCALL_PIC_SETUP):
	Check SHARED instead of PIC.
	* sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S
	(__makecontext_ret): Adjust code to jump to exit.
2017-06-19 11:08:58 +02:00
..
____longjmp_chk.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__makecontext_ret.S S390: Fix build with gcc configured with --enable-default-pie. [BZ #21537] 2017-06-19 11:08:58 +02:00
alphasort64.c
c++-types.data S390: Consolidate nptl/ subdirectories under linux/... 2014-06-26 09:34:34 -07:00
clone.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fcntl.c
fxstat.c
fxstatat.c
getcontext.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getdents64.c
getutent_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getutent.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getutid_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getutid.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getutline_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getutline.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getutmp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getutxent.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getutxid.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getutxline.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ld.abilist ld.so: Remove __libc_memalign 2016-11-30 16:23:58 +01:00
libBrokenLocale.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libc.abilist posix: Implement preadv2 and pwritev2 2017-05-31 17:35:46 -03:00
libcrypt.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libdl.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libm.abilist Add fromfp functions. 2016-12-31 00:40:59 +00:00
libnsl.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libpthread.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libresolv.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
librt.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libthread_db.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libutil.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
lockf64.c
login32.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
login.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lxstat.c
makecontext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makefile Build divdi3 only for architecture that required it 2017-04-06 15:14:34 -03:00
posix_fadvise64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
profil-counter.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
pututxline.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
readdir64_r.c
readdir64.c
register-dump.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
scandir64.c
setcontext.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
swapcontext.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
syscall.S s390: optimize syscall function 2017-06-19 10:59:40 +02:00
syscalls.list Consolidate Linux setrlimit and getrlimit implementation 2016-11-17 15:54:22 -02:00
sysdep-cancel.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sysdep.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
updwtmp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
updwtmpx.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
utmp32.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
utmp32.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
utmp-compat.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
utmp-convert.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
utmpx32.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
utmpx32.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
utmpx-convert.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Versions Revert {send,sendm,recv,recvm}msg conformance changes 2016-06-10 11:58:16 -03:00
versionsort64.c
vfork.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
xstat.c