CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2014/11/25 13:26:13
Modified files: libexec/ld.so/m88k: rtld_machine.c Log message: When a public symbol in a library is referenced by the main program's plt, the address of the symbol must always resolve to the entry in the main program's plt, regardless of which object the address resolution is performed for, so that addresses (pointers) can be compared reliably. However, depending on how far away library load address randomization places the library, the main program's plt address might be too far away from the library itself for its DISP26 relocations to fit in the required relative displacement range. Since DISP26 relocations can only be used in code for branches, it is safe to resolve them to the actual address within the library, and avoid producing out of bounds displacements.