]> sourceware.org Git - glibc.git/commit
Fix hppa local PLT entries for sigprocmask (bug 18124).
authorJoseph Myers <joseph@codesourcery.com>
Thu, 15 Feb 2018 21:01:25 +0000 (21:01 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 15 Feb 2018 21:01:25 +0000 (21:01 +0000)
commit3785b31c16a507538a9f67f20c75b8a1dfe9939a
tree9647b734fb34ad31ca5bf648332d5d347c943bf0
parent055ac2a7eeb14755e946440af3d2cdfe95f18f8e
Fix hppa local PLT entries for sigprocmask (bug 18124).

When adding/updating localplt.data for various architectures to get
the compilation tests passing everywhere, I generally made it reflect
the existing state of what local PLT entries were actually seen,
rather than an ideal state with as few as possible such entries,
mainly for functions that are intended to be interposable.

This patch eliminates some local PLT entries for hppa by using
__sigprocmask instead of sigprocmask in getcontext and setcontext.
The specific case of sigprocmask called by setcontext is the third of
four items in bug 18124 (the other three have already been fixed for
2.26 or earlier releases).  Note that hppa-specific localplt.data
entries for __sigsetjmp, _IO_funlockfile and __errno_location remain,
but the causes / fixes are less immediately obvious from source
inspection.

Tested (compilation tests only) with build-many-glibcs.py for
hppa-linux-gnu.

[BZ #18124]
* sysdeps/hppa/bsd-setjmp.S: Include <sysdep.h>.
(setjmp): Use HIDDEN_JUMPTARGET with __sigsetjmp.
* sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Call
__sigprocmask instead of sigprocmask.
* sysdeps/unix/sysv/linux/hppa/setcontext.S (__setcontext):
Likewise.
* sysdeps/unix/sysv/linux/hppa/localplt.data: Remove entries for
__sigsetjmp and sigprocmask.
ChangeLog
sysdeps/unix/sysv/linux/hppa/getcontext.S
sysdeps/unix/sysv/linux/hppa/localplt.data
sysdeps/unix/sysv/linux/hppa/setcontext.S
This page took 0.043603 seconds and 5 git commands to generate.