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/tst-dl-runtime-mod.S | |
parent | bde6320f39cfe56fe3cbafe55fc498d7b329ff05 (diff) | |
download | glibc-69e2444ab1444ab8210598abbcb4822701d368b9.tar.gz glibc-69e2444ab1444ab8210598abbcb4822701d368b9.tar.xz glibc-69e2444ab1444ab8210598abbcb4822701d368b9.zip |
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/tst-dl-runtime-mod.S')
-rw-r--r-- | sysdeps/s390/tst-dl-runtime-mod.S | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/sysdeps/s390/tst-dl-runtime-mod.S b/sysdeps/s390/tst-dl-runtime-mod.S new file mode 100644 index 0000000000..5568524db9 --- /dev/null +++ b/sysdeps/s390/tst-dl-runtime-mod.S @@ -0,0 +1,30 @@ +/* Shared library for the lazy binding tests. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + + .globl r0x2 + .type r0x2, @function +r0x2: + .cfi_startproc +#if defined (__s390x__) + agr %r0,%r0 +#else + ar %r0,%r0 +#endif + br %r14 + .cfi_endproc + .size r0x2, .-r0x2 |