aboutsummaryrefslogtreecommitdiff
path: root/libexec/rtld-elf/riscv
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2017-03-15 21:11:57 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2017-03-15 21:11:57 +0000
commite35ddbe44824bb7aa32a06f7f24fc13787387287 (patch)
tree86ff1feff54011df6d945a921206c79f04886fef /libexec/rtld-elf/riscv
parentd10e4cd0c05141db13fadc4a189d6b159a417f63 (diff)
Notes
Diffstat (limited to 'libexec/rtld-elf/riscv')
-rw-r--r--libexec/rtld-elf/riscv/reloc.c5
-rw-r--r--libexec/rtld-elf/riscv/rtld_machdep.h5
2 files changed, 4 insertions, 6 deletions
diff --git a/libexec/rtld-elf/riscv/reloc.c b/libexec/rtld-elf/riscv/reloc.c
index 71259cd629c6..a0fedf1c2416 100644
--- a/libexec/rtld-elf/riscv/reloc.c
+++ b/libexec/rtld-elf/riscv/reloc.c
@@ -226,10 +226,9 @@ reloc_jmpslot(Elf_Addr *where, Elf_Addr target, const Obj_Entry *defobj,
assert(ELF_R_TYPE(rel->r_info) == R_RISCV_JUMP_SLOT);
- if (*where != target)
+ if (*where != target && !ld_bind_not)
*where = target;
-
- return target;
+ return (target);
}
/*
diff --git a/libexec/rtld-elf/riscv/rtld_machdep.h b/libexec/rtld-elf/riscv/rtld_machdep.h
index 4fb494778e38..95669ffe542a 100644
--- a/libexec/rtld-elf/riscv/rtld_machdep.h
+++ b/libexec/rtld-elf/riscv/rtld_machdep.h
@@ -54,9 +54,8 @@ uint64_t set_gp(struct Struct_Obj_Entry *obj);
})
Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target,
- const struct Struct_Obj_Entry *defobj,
- const struct Struct_Obj_Entry *obj,
- const Elf_Rel *rel);
+ const struct Struct_Obj_Entry *defobj, const struct Struct_Obj_Entry *obj,
+ const Elf_Rel *rel);
#define make_function_pointer(def, defobj) \
((defobj)->relocbase + (def)->st_value)