diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-06-04 11:45:17 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-06-04 11:45:17 -0400 |
commit | b6a6cd703ffefa6352249fb01f4da28d85d17306 (patch) | |
tree | a0efcd2a3e013a17f41b3b7610e07cde05ff058c /crt/or1k | |
parent | 585ba14df4799d50ec9682ce75825d2eafec2a6a (diff) | |
download | musl-b6a6cd703ffefa6352249fb01f4da28d85d17306.tar.gz musl-b6a6cd703ffefa6352249fb01f4da28d85d17306.tar.xz musl-b6a6cd703ffefa6352249fb01f4da28d85d17306.zip |
fix dynamic linker regression processing R_*_NONE type relocations
commit f3ddd173806fd5c60b3f034528ca24542aecc5b9 inadvertently removed the early check for "none" type relocations, causing the address dso->base+0 to be dereferenced to obtain an addend. shared libraries, (including libc.so) and PIE executables were unaffected, since their base addresses are the actual address of their mappings and are readable. non-PIE main executables, however, have a base address of 0 because their load addresses are absolute and not offset at load time. in practice none-type relocations do not arise with toolchains that are in use except on mips, and on mips it's moderately rare for a non-PIE executable to have a relocation table, since the mips-specific got processing serves in its place for most purposes.
Diffstat (limited to 'crt/or1k')
0 files changed, 0 insertions, 0 deletions