? 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; } } }