? evfilt
? k
? kern_timerfd.c
? o
? systrace.16051
? systraceret.16051
Index: subr_kobj.c
===================================================================
RCS file: /cvsroot/src/sys/kern/subr_kobj.c,v
retrieving revision 1.67
diff -u -p -u -r1.67 subr_kobj.c
--- subr_kobj.c	27 Jun 2020 17:27:59 -0000	1.67
+++ subr_kobj.c	9 Jun 2021 15:02:00 -0000
@@ -881,7 +881,7 @@ kobj_sym_lookup(kobj_t ko, uintptr_t sym
 
 	sym = ko->ko_symtab + symidx;
 
-	if (symidx == SHN_ABS) {
+	if (symidx == SHN_ABS || symidx == 0) {
 		*val = (uintptr_t)sym->st_value;
 		return 0;
 	} else if (symidx >= ko->ko_symcnt) {
@@ -1074,7 +1074,12 @@ kobj_relocate(kobj_t ko, bool local)
 			}
 			error = kobj_reloc(ko, base, rel, false, local);
 			if (error != 0) {
-				return ENOENT;
+				kobj_error(ko, "unresolved rel relocation "
+				    "@%#jx type=%d symidx=%d",
+				    (intmax_t)rel->r_offset,
+				    (int)ELF_R_TYPE(rel->r_info),
+				    (int)ELF_R_SYM(rel->r_info));
+				return ENOEXEC;
 			}
 		}
 	}
@@ -1105,7 +1110,12 @@ kobj_relocate(kobj_t ko, bool local)
 			}
 			error = kobj_reloc(ko, base, rela, true, local);
 			if (error != 0) {
-				return ENOENT;
+				kobj_error(ko, "unresolved rela relocation "
+				    "@%#jx type=%d symidx=%d",
+				    (intmax_t)rela->r_offset,
+				    (int)ELF_R_TYPE(rela->r_info),
+				    (int)ELF_R_SYM(rela->r_info));
+				return ENOEXEC;
 			}
 		}
 	}