CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2025/10/22 12:44:06

Modified files:
        gnu/gcc/gcc/config/pa: openbsd.h 

Log message:
The __builtin_return_address() internal logic, on PA-Risc, tries to read the
code at the tentative return address in order to check for a possible
inter-space thunk ("export stub" as called by HP), and in this case, unfolds
a bit more to retrieve the stub return address.

When the code pages are not readable, which is the case by default under
OpenBSD/hppa, this causes an immediate segmentation fault. But there is no
use of multiple space registers under OpenBSD either, so such thunks are
never created by ld(1). We can therefore override the logic by simply
returning the tentative return address, which is correct and does not require
read permission on the code pages.

ok jca@

Reply via email to