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 /malloc/dynarray_finalize.c | |
| parent | 713d6d7e781ced6d194d6c147f2db4ce9961bb0c (diff) | |
| download | glibc-e7b553272196e6175b8a15f807cb59217ba2843a.tar.xz glibc-e7b553272196e6175b8a15f807cb59217ba2843a.zip | |
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 'malloc/dynarray_finalize.c')
0 files changed, 0 insertions, 0 deletions
