diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2006-08-06 16:38:11 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2006-08-06 16:38:11 +0000 |
commit | aea23d2253246c3537bcfc024f98ae378b87f0e7 (patch) | |
tree | 81932d315bc95a9dbbfe6c20ab0322868f2c8d26 /sys/nfs/krpc_subr.c | |
parent | d8887d8611b9f20645651e1a659fad201cbab8d7 (diff) |
Work around an issue found when working with gcc3 on alpha,
gcc2 nomally calls functions thru the gp (basically a function pointer), but
gcc3 frequently calls directly to the plt. gcc2 does occasionally directly
call to the plt. Currently how the plt/pltgot is fixed up on lazy
binding, this will cause the dl_bind code to be called on each plt call
causing a symbol resolution and plt fixup. This diff works around the
problem partially by recognizing that a pltgot entry is already fixed
and skips the symbol resolution. Since the pltgot is what is modified
do not add PROT_EXEC permission to the mapping.
While this is not an ideal fix, kettenis and I think it is better than before.
Diffstat (limited to 'sys/nfs/krpc_subr.c')
0 files changed, 0 insertions, 0 deletions