diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2024-10-29 06:01:14 +0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2024-11-22 06:22:13 +0800 |
commit | e7b553272196e6175b8a15f807cb59217ba2843a (patch) | |
tree | 61d06f2d421422ea5d8e14d93a1fa8395b541d3d /nptl/sysdeps/pthread | |
parent | 713d6d7e781ced6d194d6c147f2db4ce9961bb0c (diff) | |
download | glibc-e7b553272196e6175b8a15f807cb59217ba2843a.zip glibc-e7b553272196e6175b8a15f807cb59217ba2843a.tar.gz glibc-e7b553272196e6175b8a15f807cb59217ba2843a.tar.bz2 |
elf: Handle static PIE with non-zero load address [BZ #31799]
For a static PIE with non-zero load address, its PT_DYNAMIC segment
entries contain the relocated values for the load address in static PIE.
Since static PIE usually doesn't have PT_PHDR segment, use p_vaddr of
the PT_LOAD segment with offset == 0 as the load address in static PIE
and adjust the entries of PT_DYNAMIC segment in static PIE by properly
setting the l_addr field for static PIE. This fixes BZ #31799.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
Diffstat (limited to 'nptl/sysdeps/pthread')
0 files changed, 0 insertions, 0 deletions