aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/s390/Makefile
diff options
context:
space:
mode:
authorIlya Leoshkevich <iii@linux.ibm.com>2018-08-10 09:07:43 +0200
committerStefan Liebler <stli@linux.ibm.com>2018-08-10 09:07:43 +0200
commit69e2444ab1444ab8210598abbcb4822701d368b9 (patch)
treedd8987d70c9f8365bb9d697cfc55cebf94aa2bff /sysdeps/s390/Makefile
parentbde6320f39cfe56fe3cbafe55fc498d7b329ff05 (diff)
downloadglibc-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/Makefile23
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