Revert "kernel linker: Disable local sym resolution by default"

I've received a report of a failure from resolving kern_kmq_open.
Revert for now as we are currently in stabweek.

This reverts commit 9562994a7a.

Reported by:	mav
This commit is contained in:
Ed Maste
2025-11-25 12:12:36 -05:00
parent 301b8a806f
commit fad4c92b78
3 changed files with 2 additions and 11 deletions
-9
View File
@@ -27,15 +27,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 16.x IS SLOW:
world, or to merely disable the most expensive debugging functionality
at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
20251125:
The `debug.link_elf_leak_locals` and `debug.link_elf_obj_leak_locals`
sysctls now default to 0, so the kernel module linker no longer
performs symbol resolution against local symbols from other modules.
If a kernel module now fails to load because of an unresolved symbol,
set these sysctls to 1 and file a bug report including details about
the affected module.
20251115:
The FreeBSD-base repository is now defined in /etc/pkg/FreeBSD.conf,
disabled by default. In -CURRENT and -STABLE this points at nightly
+1 -1
View File
@@ -203,7 +203,7 @@ static struct linker_class link_elf_class = {
link_elf_methods, sizeof(struct elf_file)
};
static bool link_elf_leak_locals = false;
static bool link_elf_leak_locals = true;
SYSCTL_BOOL(_debug, OID_AUTO, link_elf_leak_locals,
CTLFLAG_RWTUN, &link_elf_leak_locals, 0,
"Allow local symbols to participate in global module symbol resolution");
+1 -1
View File
@@ -192,7 +192,7 @@ static struct linker_class link_elf_class = {
link_elf_methods, sizeof(struct elf_file)
};
static bool link_elf_obj_leak_locals = false;
static bool link_elf_obj_leak_locals = true;
SYSCTL_BOOL(_debug, OID_AUTO, link_elf_obj_leak_locals,
CTLFLAG_RWTUN, &link_elf_obj_leak_locals, 0,
"Allow local symbols to participate in global module symbol resolution");