diff options
| author | skrll <skrll@NetBSD.org> | 2010-09-30 19:32:40 +0000 |
|---|---|---|
| committer | skrll <skrll@NetBSD.org> | 2010-09-30 19:32:40 +0000 |
| commit | 0e07ba713843a7f00bed2fcda3eded1c58303d00 (patch) | |
| tree | 904a68eaff8733577c24a2c82bc3d1ad6aa7c48f /libexec | |
| parent | 61da8c5b7a3ec41e922c60fa09229709f1e016f9 (diff) | |
Add the magic branch instruction that is used by GCC's
__canonicalize_funcptr_for_compare() function to fixup relocations in
order to do function pointer comparisons.
From OpenBSD.
Diffstat (limited to 'libexec')
| -rw-r--r-- | libexec/ld.elf_so/arch/hppa/rtld_start.S | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libexec/ld.elf_so/arch/hppa/rtld_start.S b/libexec/ld.elf_so/arch/hppa/rtld_start.S index 8fb69caa464..ce2f229e312 100644 --- a/libexec/ld.elf_so/arch/hppa/rtld_start.S +++ b/libexec/ld.elf_so/arch/hppa/rtld_start.S @@ -1,4 +1,4 @@ -/* $NetBSD: rtld_start.S,v 1.8 2010/09/24 11:41:46 skrll Exp $ */ +/* $NetBSD: rtld_start.S,v 1.9 2010/09/30 19:32:40 skrll Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -146,6 +146,15 @@ EXIT(__rtld_hppa_setup_pltgot) * very closely tied to the shared-library call stub and the PLT stub, both * inserted by the linker. */ + +/* + * This is a magic branch instruction that is used by GCC's + * __canonicalize_funcptr_for_compare() function to fixup relocations + * in order to do function pointer comparisons. + */ + + bl _rtld_bind, %rp + ENTRY(_rtld_bind_start,HPPA_FRAME_SIZE) /* Start stack calling convention. */ |
