0701dbda94
The existing logic doesn't seem to make much sense, as we won't filter on the type if st_shndx != SHN_UNDEF. In practice, this breaks booting 12.3 kernels on newer loaders, as they do have a `kernphys` symbol of the wrong type (NOTYPE, rather than OBJECT) -- we end up deriving the wrong value for copy_staging. It's unclear if this version makes any more sense, but it seems to match what rtld's matched_symbol() does. Loader doesn't need to care about STT_FUNC w/ UND shndx, because we won't encounter those; in kmods, undefined (kernel) functions are NOTYPE. Reported by: Christian McDonald <cmcdonald netgate com> Reviewed by: imp, kib, tsoome MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D36975 |
||
---|---|---|
.. | ||
arm64 | ||
common | ||
defaults | ||
efi | ||
fdt | ||
ficl | ||
ficl32 | ||
fonts | ||
forth | ||
i386 | ||
images | ||
kboot | ||
kshim | ||
liblua | ||
liblua32 | ||
libofw | ||
libsa | ||
libsa32 | ||
lua | ||
man | ||
powerpc | ||
uboot | ||
usb | ||
userboot | ||
defs.mk | ||
fdt.mk | ||
ficl.mk | ||
loader.mk | ||
lua.mk | ||
Makefile | ||
Makefile.amd64 | ||
Makefile.inc | ||
veriexec.mk |