diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2018-08-10 09:07:43 +0200 |
---|---|---|
committer | Stefan Liebler <stli@linux.ibm.com> | 2018-08-10 09:07:43 +0200 |
commit | 69e2444ab1444ab8210598abbcb4822701d368b9 (patch) | |
tree | dd8987d70c9f8365bb9d697cfc55cebf94aa2bff /sysdeps/s390/Makefile | |
parent | bde6320f39cfe56fe3cbafe55fc498d7b329ff05 (diff) | |
download | glibc-69e2444ab1444ab8210598abbcb4822701d368b9.zip glibc-69e2444ab1444ab8210598abbcb4822701d368b9.tar.gz glibc-69e2444ab1444ab8210598abbcb4822701d368b9.tar.bz2 |
S390: Test that lazy binding does not clobber R0
The following combinations need to be tested:
* 32- (g5, esa and zarch) and 64-bit
* linux32 glibc/configure CC='gcc -m31 -march=g5'
* linux32 glibc/configure CC='gcc -m31'
* linux32 glibc/configure CC='gcc -m31 -mzarch'
* With and without VX:
* glibc/configure libc_cv_asm_s390_vx=no
* With and without profiling (using LD_PROFILE)
* With and without pltexit (using LD_AUDIT)
ChangeLog:
* sysdeps/s390/Makefile: Register the new tests.
* sysdeps/s390/tst-dl-runtime-mod.S: New file.
* sysdeps/s390/tst-dl-runtime-profile-audit.c: New file.
* sysdeps/s390/tst-dl-runtime-profile-noaudit.c: New file.
* sysdeps/s390/tst-dl-runtime-resolve-audit.c: New file.
* sysdeps/s390/tst-dl-runtime-resolve-noaudit.c: New file.
* sysdeps/s390/tst-dl-runtime.c: New file.
Diffstat (limited to 'sysdeps/s390/Makefile')
-rw-r--r-- | sysdeps/s390/Makefile | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/sysdeps/s390/Makefile b/sysdeps/s390/Makefile index 8a54f88..496ab51 100644 --- a/sysdeps/s390/Makefile +++ b/sysdeps/s390/Makefile @@ -29,3 +29,26 @@ $(inst_gconvdir)/%.so: $(objpfx)%.so $(+force) sysdeps-gconv-modules = ../sysdeps/s390/gconv-modules endif + +ifeq ($(subdir),elf) +ifeq ($(build-shared),yes) +tests += tst-dl-runtime-resolve-noaudit tst-dl-runtime-resolve-audit \ + tst-dl-runtime-profile-noaudit +# FIXME: When both LD_PROFILE and LD_AUDIT are set, a segfault occurs. +#tests += tst-dl-runtime-profile-audit +modules-names += tst-dl-runtime-mod +$(objpfx)tst-dl-runtime-resolve-noaudit: $(objpfx)tst-dl-runtime-mod.so +$(objpfx)tst-dl-runtime-resolve-audit: $(objpfx)tst-dl-runtime-mod.so +$(objpfx)tst-dl-runtime-profile-noaudit: $(objpfx)tst-dl-runtime-mod.so +$(objpfx)tst-dl-runtime-profile-audit: $(objpfx)tst-dl-runtime-mod.so +$(objpfx)tst-dl-runtime-resolve-audit.out: $(objpfx)tst-auditmod1.so +$(objpfx)tst-dl-runtime-profile-audit.out: $(objpfx)tst-auditmod1.so +# The profiling output goes to $LD_PROFILE_OUTPUT/$LD_PROFILE.profile +env-profile = LD_PROFILE=$(objpfx)tst-dl-runtime-mod.so \ + LD_PROFILE_OUTPUT=/ +env-audit = LD_AUDIT=$(objpfx)tst-auditmod1.so +tst-dl-runtime-resolve-audit-ENV = $(env-audit) +tst-dl-runtime-profile-noaudit-ENV = $(env-profile) +tst-dl-runtime-profile-audit-ENV = $(env-profile) $(env-audit) +endif +endif |