Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/libexec/ld.elf_so Provide a stub _rtld_call_ifunc when a pla...



details:   https://anonhg.NetBSD.org/src/rev/8823574cbbfa
branches:  trunk
changeset: 1026651:8823574cbbfa
user:      skrll <skrll%NetBSD.org@localhost>
date:      Sat Dec 04 08:53:34 2021 +0000

description:
Provide a stub _rtld_call_ifunc when a platform doesn't use one of the
common ones or doesn't provide its own.

diffstat:

 libexec/ld.elf_so/arch/aarch64/Makefile.inc |   3 ++-
 libexec/ld.elf_so/reloc.c                   |  14 ++++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diffs (51 lines):

diff -r 3eb3379d5b87 -r 8823574cbbfa libexec/ld.elf_so/arch/aarch64/Makefile.inc
--- a/libexec/ld.elf_so/arch/aarch64/Makefile.inc       Sat Dec 04 08:50:41 2021 +0000
+++ b/libexec/ld.elf_so/arch/aarch64/Makefile.inc       Sat Dec 04 08:53:34 2021 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.2 2018/12/27 18:58:14 christos Exp $
+# $NetBSD: Makefile.inc,v 1.3 2021/12/04 08:53:34 skrll Exp $
 
 SRCS+=         rtld_start.S mdreloc.c
 
@@ -7,5 +7,6 @@
 
 CPPFLAGS+=     -DELFSIZE=64
 CPPFLAGS+=     -DELF_NOTE_MARCH_DESC=\"${LDELFSO_MACHINE_ARCH}\"
+CPPFLAGS+=     -DRTLD_ARCH_CALL_IFUNC
 
 LDFLAGS+=      -Wl,-e,_rtld_start
diff -r 3eb3379d5b87 -r 8823574cbbfa libexec/ld.elf_so/reloc.c
--- a/libexec/ld.elf_so/reloc.c Sat Dec 04 08:50:41 2021 +0000
+++ b/libexec/ld.elf_so/reloc.c Sat Dec 04 08:53:34 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: reloc.c,v 1.116 2020/02/29 04:24:33 kamil Exp $         */
+/*     $NetBSD: reloc.c,v 1.117 2021/12/04 08:53:34 skrll Exp $         */
 
 /*
  * Copyright 1996 John D. Polstra.
@@ -39,7 +39,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: reloc.c,v 1.116 2020/02/29 04:24:33 kamil Exp $");
+__RCSID("$NetBSD: reloc.c,v 1.117 2021/12/04 08:53:34 skrll Exp $");
 #endif /* not lint */
 
 #include <err.h>
@@ -260,6 +260,16 @@
        return target;
 }
 
+#if \
+    !defined(RTLD_COMMON_CALL_IFUNC_RELA) && \
+    !defined(RTLD_COMMON_CALL_IFUNC_REL) && \
+    !defined(RTLD_ARCH_CALL_IFUNC)
+void
+_rtld_call_ifunc(Obj_Entry *obj, sigset_t *mask, u_int cur_objgen)
+{
+}
+#endif
+
 #ifdef RTLD_COMMON_CALL_IFUNC_RELA
 #  ifdef __sparc__
 #  include <machine/elf_support.h>



Home | Main Index | Thread Index | Old Index