CVSROOT:        /cvs
Module name:    src
Changes by:     kette...@cvs.openbsd.org        2023/01/09 06:45:55

Modified files:
        libexec/ld.so/hppa: ldasm.S 

Log message:
In preparation for upcoming execute-only support, change the magic branch
instruction used by __canonicalize_funcptr_for_compare() from "bl" into "b".
This allows __canonicalize_funcptr_for_compare() to execute the branch
instead of decoding the instruction to find the address of _dl_bind().

This is the first step in the transition to a new ABI.  Once an updated
ld.so has been installed, we can change __canonicalize_funcptr_for_compare()
(which lives in libgcc) and rebuild everything with a new libgcc.  Only
then we can actually make ld.so executable-only.

ok deraadt@, miod@

Reply via email to