diff options
Diffstat (limited to 'libexec/rtld-elf/amd64/rtld_machdep.h')
-rw-r--r-- | libexec/rtld-elf/amd64/rtld_machdep.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libexec/rtld-elf/amd64/rtld_machdep.h b/libexec/rtld-elf/amd64/rtld_machdep.h index 89a9322..fe39d43 100644 --- a/libexec/rtld-elf/amd64/rtld_machdep.h +++ b/libexec/rtld-elf/amd64/rtld_machdep.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: rtld_machdep.h,v 1.1 1999/04/09 00:28:43 jdp Exp $ */ #ifndef RTLD_MACHDEP_H @@ -33,4 +33,12 @@ #define rtld_dynamic(obj) \ ((const Elf_Dyn *)((obj)->relocbase + (Elf_Addr)&_DYNAMIC)) +/* Fixup the jump slot at "where" to transfer control to "target". */ +#define reloc_jmpslot(where, target) \ + do { \ + dbg("reloc_jmpslot: *%p = %p", (void *)(where), \ + (void *)(target)); \ + (*(Elf_Addr *)(where) = (Elf_Addr)(target)); \ + } while (0) + #endif |