I'm not entirely sure about this one, but anyhow: ... /home/flag/bsd/netbsd/src/../obj.i386/tooldir.Linux-6.6.0-14-generic-x86_64/bin/i486--netbsdelf-ld -Map netbsd.map --cref -T netbsd.ldscript -Ttext c0100000 -e start -z noseparate-code -X -o netbsd ${SYSTEM_OBJ:[@]:Nswapnetbsd.o} ${EXTRA_OBJ} vers.o swapnetbsd.o /home/flag/bsd/netbsd/src/../obj.i386/tooldir.Linux-6.6.0-14-generic-x86_64/bin/i486--netbsdelf-ld: i386_mainbus.o: in function `i386_mainbus_childdetached': /home/flag/bsd/netbsd/src/sys/arch/i386/i386/i386_mainbus.c:182: undefined reference to `mp_pci_childdetached' ...
In sys/arch/i386/i386/i386_mainbus.c::i386_mainbus_rescan(), mp_pci_scan() is executed only if: ... #if NACPICA > 0 && defined(ACPI_SCANPCI) if (npcibus == 0 && mpacpi_active) npcibus = mp_pci_scan(self, &mba.mba_pba, pcibusprint); #endif #if defined(MPBIOS) && defined(MPBIOS_SCANPCI) if (npcibus == 0 && mpbios_scanned != 0) npcibus = mp_pci_scan(self, &mba.mba_pba, pcibusprint); #endif ... hence follow the same condition during the unwind. Signed-off-by: Paolo Pisati <p.pis...@gmail.com> --- sys/arch/i386/i386/i386_mainbus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arch/i386/i386/i386_mainbus.c b/sys/arch/i386/i386/i386_mainbus.c index f6d2f24a593a..2834002e5989 100644 --- a/sys/arch/i386/i386/i386_mainbus.c +++ b/sys/arch/i386/i386/i386_mainbus.c @@ -178,7 +178,7 @@ i386_mainbus_childdetached(device_t self, device_t child) if (sc->sc_pci == child) sc->sc_pci = NULL; -#if NPCI > 0 +#if NPCI > 0 && (defined(ACPI_SCANPCI) || defined(MPBIOS_SCANPCI)) mp_pci_childdetached(self, child); #endif } -- 2.34.1