Module Name: src
Committed By: skrll
Date: Sat Dec 4 08:53:34 UTC 2021
Modified Files:
src/libexec/ld.elf_so: reloc.c
src/libexec/ld.elf_so/arch/aarch64: Makefile.inc
Log Message:
Provide a stub _rtld_call_ifunc when a platform doesn't use one of the
common ones or doesn't provide its own.
To generate a diff of this commit:
cvs rdiff -u -r1.116 -r1.117 src/libexec/ld.elf_so/reloc.c
cvs rdiff -u -r1.2 -r1.3 src/libexec/ld.elf_so/arch/aarch64/Makefile.inc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/libexec/ld.elf_so/reloc.c
diff -u src/libexec/ld.elf_so/reloc.c:1.116 src/libexec/ld.elf_so/reloc.c:1.117
--- src/libexec/ld.elf_so/reloc.c:1.116 Sat Feb 29 04:24:33 2020
+++ src/libexec/ld.elf_so/reloc.c Sat Dec 4 08:53:34 2021
@@ -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 @@ _rtld_resolve_ifunc2(const Obj_Entry *ob
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>
Index: src/libexec/ld.elf_so/arch/aarch64/Makefile.inc
diff -u src/libexec/ld.elf_so/arch/aarch64/Makefile.inc:1.2 src/libexec/ld.elf_so/arch/aarch64/Makefile.inc:1.3
--- src/libexec/ld.elf_so/arch/aarch64/Makefile.inc:1.2 Thu Dec 27 18:58:14 2018
+++ src/libexec/ld.elf_so/arch/aarch64/Makefile.inc Sat Dec 4 08:53:34 2021
@@ -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+= -fpic
CPPFLAGS+= -DELFSIZE=64
CPPFLAGS+= -DELF_NOTE_MARCH_DESC=\"${LDELFSO_MACHINE_ARCH}\"
+CPPFLAGS+= -DRTLD_ARCH_CALL_IFUNC
LDFLAGS+= -Wl,-e,_rtld_start