https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208464
Bug ID: 208464 Summary: [svr4] svr4.ko fails to load due to not finding symbol svr4_delete_socket even though it is present in same module Product: Base System Version: 10.2-RELEASE Hardware: i386 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: ske...@pkmab.se CC: freebsd-i...@freebsd.org CC: freebsd-i...@freebsd.org When I try to "kldload svr4.ko" I get this error: link_elf: symbol svr4_delete_socket undefined KLD svr4.ko: depends on streams - not available or version mismatch kldload: can't load svr4: No such file or directory This would appear to say that streams.ko might need to be loaded before svr4.ko to provide the symbol svr4_delete_socket. That is not correct, though. Loading streams.ko also complains that svr4_delete_socket is undefined. Checking the revision histories and source code for svr4.ko and streams.ko, I noticed that svr4_delete_socket() was moved from streams.c to svr4_socket.c in July 2006. https://svnweb.freebsd.org/base?view=revision&revision=160558 So now svr4_delete_socket is an internal symbol of the svr4.ko module. So link_elf shouldn't need to import it at all when loading svr4.ko. There seems to be some mixup regarding which module this symbol belongs to. Next thing I noticed is that there is still an "EXPORT_SYMS=svr4_delete_socket" in the Makefile for the streams module, where the symbol does no longer exist. And there is no such EXPORT_SYMS in the Makefile for the svr4 module, where the symbol currently lives. I would assume this should have been moved together with the source code for svr4_delete_socket(), but was overlooked. https://svnweb.freebsd.org/base/head/sys/modules/streams/Makefile?view=markup https://svnweb.freebsd.org/base/head/sys/modules/svr4/Makefile?view=markup I'm not experienced enough with FreeBSD kernel source to know for sure if this is really the whole story, but to me it seems like a good explanation for the bug. I don't see any other mention of svr4_delete_socket when searching the source code, that would explain this symtom. Can we get this fixed, so svr4.ko and streams.ko can be loaded again? It seems a pity having such a simple bug preventing their use. I'm not equipped to try to fix this myself, otherwise I would. - I tried this out on FreeBSD-10.2-RELEASE-i386-bootonly.iso and FreeBSD-10.1-RELEASE-i386-bootonly.iso. The same problem occurs also with 8.0-RELEASE-i386-livefs.iso, except there you need to check dmesg to see the message from link_elf. Given the explanation and date above, I would assume the same occurs in release 7 too, but I didn't test it. I have also discussed this in the forum thread https://forums.freebsd.org/threads/55617/ I didn't find any previous problem reports about this. There have been various forum discussions mentioning not being able to use these modules on various releases, but not very detailed. -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ freebsd-bugs@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"