about summary refs log tree commit diff
path: root/sysdeps/s390/s390-64/s390x-mcount.h
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright dates with scripts/update-copyrights.Joseph Myers2020-01-011-1/+1
|
* Prefer https to http for gnu.org and fsf.org URLsPaul Eggert2019-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, change sources.redhat.com to sourceware.org. This patch was automatically generated by running the following shell script, which uses GNU sed, and which avoids modifying files imported from upstream: sed -ri ' s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g ' \ $(find $(git ls-files) -prune -type f \ ! -name '*.po' \ ! -name 'ChangeLog*' \ ! -path COPYING ! -path COPYING.LIB \ ! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \ ! -path manual/texinfo.tex ! -path scripts/config.guess \ ! -path scripts/config.sub ! -path scripts/install-sh \ ! -path scripts/mkinstalldirs ! -path scripts/move-if-change \ ! -path INSTALL ! -path locale/programs/charmap-kw.h \ ! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \ ! '(' -name configure \ -execdir test -f configure.ac -o -f configure.in ';' ')' \ ! '(' -name preconfigure \ -execdir test -f preconfigure.ac ';' ')' \ -print) and then by running 'make dist-prepare' to regenerate files built from the altered files, and then executing the following to cleanup: chmod a+x sysdeps/unix/sysv/linux/riscv/configure # Omit irrelevant whitespace and comment-only changes, # perhaps from a slightly-different Autoconf version. git checkout -f \ sysdeps/csky/configure \ sysdeps/hppa/configure \ sysdeps/riscv/configure \ sysdeps/unix/sysv/linux/csky/configure # Omit changes that caused a pre-commit check to fail like this: # remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines git checkout -f \ sysdeps/powerpc/powerpc64/ppc-mcount.S \ sysdeps/unix/sysv/linux/s390/s390-64/syscall.S # Omit change that caused a pre-commit check to fail like this: # remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
* Update copyright dates with scripts/update-copyrights.Joseph Myers2019-01-011-1/+1
| | | | | | | * All files with FSF copyright notices: Update copyright dates using scripts/update-copyrights. * locale/programs/charmap-kw.h: Regenerated. * locale/programs/locfile-kw.h: Likewise.
* S390: Implement 64-bit __fentry__Ilya Leoshkevich2018-08-101-0/+99
* Since __fentry__ is almost the same as _mcount, reuse the code by #including it twice with different #defines around. * Remove LA usages - they are needed in 31-bit mode to clear the top bit, but in 64-bit they appear to do nothing. * Add CFI rule for the nonstandard return register. This rule applies to the current function (binutils generates a new CIE - see gas/dw2gencfi.c:select_cie_for_fde()), so it is not necessary to put __fentry__ into a new file. * Fix CFI offset for %r14. * Add CFI rule for %r0. * Fix unwound value of %r15 being off by 244 bytes. * Unwinding in __fentry__@plt does not work, no plan to fix it - it would require asking linker to generate CFI for return address in %r0. From functional perspective keeping it broken is fine, since the callee did not have a chance to do anything yet. From convenience perspective it would be possible to enhance GDB in the future to treat __fentry__@plt in a special way. * Fix whitespace. * Fix offsets in comments, which were copied from 32-bit code. * 32-bit version will not be implemented, since it's not compatible with the corresponding PLT stubs: they assume %r12 points to GOT, which is not the case for gcc-emitted __fentry__ stub, which runs before the prolog. This patch adds the runtime support in glibc for the -mfentry gcc feature introduced in [1] and [2]. [1] https://gcc.gnu.org/ml/gcc-patches/2018-07/msg00784.html [2] https://gcc.gnu.org/ml/gcc-patches/2018-07/msg00912.html ChangeLog: * sysdeps/s390/s390-64/Versions (__fentry__): Add. * sysdeps/s390/s390-64/s390x-mcount.S: Move the common code to s390x-mcount.h and #include it. * sysdeps/s390/s390-64/s390x-mcount.h: New file. * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist (__fentry__): Add.