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:
@@ -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
|
world, or to merely disable the most expensive debugging functionality
|
||||||
at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
|
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:
|
20251115:
|
||||||
The FreeBSD-base repository is now defined in /etc/pkg/FreeBSD.conf,
|
The FreeBSD-base repository is now defined in /etc/pkg/FreeBSD.conf,
|
||||||
disabled by default. In -CURRENT and -STABLE this points at nightly
|
disabled by default. In -CURRENT and -STABLE this points at nightly
|
||||||
|
|||||||
+1
-1
@@ -203,7 +203,7 @@ static struct linker_class link_elf_class = {
|
|||||||
link_elf_methods, sizeof(struct elf_file)
|
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,
|
SYSCTL_BOOL(_debug, OID_AUTO, link_elf_leak_locals,
|
||||||
CTLFLAG_RWTUN, &link_elf_leak_locals, 0,
|
CTLFLAG_RWTUN, &link_elf_leak_locals, 0,
|
||||||
"Allow local symbols to participate in global module symbol resolution");
|
"Allow local symbols to participate in global module symbol resolution");
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ static struct linker_class link_elf_class = {
|
|||||||
link_elf_methods, sizeof(struct elf_file)
|
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,
|
SYSCTL_BOOL(_debug, OID_AUTO, link_elf_obj_leak_locals,
|
||||||
CTLFLAG_RWTUN, &link_elf_obj_leak_locals, 0,
|
CTLFLAG_RWTUN, &link_elf_obj_leak_locals, 0,
|
||||||
"Allow local symbols to participate in global module symbol resolution");
|
"Allow local symbols to participate in global module symbol resolution");
|
||||||
|
|||||||
Reference in New Issue
Block a user