From owner-freebsd-i386@freebsd.org Fri Apr 8 18:43:23 2016 Return-Path: Delivered-To: freebsd-i386@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E4CB3B08978 for ; Fri, 8 Apr 2016 18:43:23 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BAD901645 for ; Fri, 8 Apr 2016 18:43:23 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id u38IhNAV094411 for ; Fri, 8 Apr 2016 18:43:23 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-i386@FreeBSD.org Subject: [Bug 208464] [svr4] svr4.ko fails to load due to not finding symbol svr4_delete_socket even though it is present in same module Date: Fri, 08 Apr 2016 18:43:23 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 10.2-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: ske-89@pkmab.se X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: attachments.created Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Apr 2016 18:43:24 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D208464 --- Comment #1 from Kristoffer Eriksson --- Created attachment 169112 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D169112&action= =3Dedit Patch for dependencies between svr4.ko & streams.ko due to symbols svr4_delete_socket & svr4_stream_get This attachment fixes the bug with both svr4.ko & streams.ko complaining ab= out undefined symbol svr4_delete_socket. The symbol is present in svr4.ko, but = was not found. Additionally fixes the same problem in reverse for the symbol svr4_stream_get, which was revealed after the first fix. These created a two-way dependency between the two modules, preventing both of them from be= ing loaded. Moved EXPORT_SYMS=3Dsvr4_delete_socket from modules/streams/Makefile to modules/svr4/Makefile. The function had already moved from streams.ko to svr4.ko in revision 160558 in 2006, but EXPORT_SYMS was not updated. Added MODULE_DEPEND(streams, svr4elf) to dev/streams/streams.c to reflect t= his, and a matching MODULE_VERSION to compat/svr4/svr4_sysvec.c. Otherwise streams.ko still didn't find svr4_delete_socket in svr4.ko. Moved the function svr4_stream_get() from dev/streams/streams.c to compat/svr4/svr4_socket.c like svr4_delete_socket() was already moved in 20= 06. There were no callers in streams.ko, only in svr4.ko. Included svr4_stropts= .h to declare it. Then removed svr4_stream_get too from EXPORT_SYMS in modules/streams/Makefi= le for streams.ko. Removed MODULE_DEPEND(svr4elf, streams) from compat/svr4/svr4_sysvec.c, since no calls from svr4.ko to streams.ko remain= ed now. - This dissolves the two-way dependency, leaving only streams.ko depen= ding on svr4.ko to call svr4_delete_socket(). (Alternatively svr4_delete_socket() might perhaps have been moved back to streams.ko, or perhaps even all of svr4_sockets.c could have moved there, or both modules could just as well have been joined into a single module, like= it was originally in NetBSD.) Removed EXPORT_SYMS=3Dsvr4_str_initialized, which doesn't exist currently. The source I patched came from 10.3-RELEASE. After this I can successfully kldload these modules again. --=20 You are receiving this mail because: You are on the CC list for the bug.= From owner-freebsd-i386@freebsd.org Fri Apr 8 19:11:40 2016 Return-Path: Delivered-To: freebsd-i386@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2A9D2B0803D for ; Fri, 8 Apr 2016 19:11:40 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1ABBA1F89 for ; Fri, 8 Apr 2016 19:11:40 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id u38JBd6W087766 for ; Fri, 8 Apr 2016 19:11:39 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-i386@FreeBSD.org Subject: [Bug 208464] [svr4] svr4.ko fails to load due to not finding symbol svr4_delete_socket even though it is present in same module Date: Fri, 08 Apr 2016 19:11:40 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 10.2-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: ske-89@pkmab.se X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: attachments.created Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Apr 2016 19:11:40 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D208464 --- Comment #2 from Kristoffer Eriksson --- Created attachment 169113 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D169113&action= =3Dedit Patch for incomplete ifdefs for SYSVMSG/SEM/SHM in svr4.ko preventing separ= ate compilation of the module Compiling the svr4.ko module in isolation for the svr4_delete_socket bug, I ended up getting complaints from kldload about undefined symbols svr4_sys_msgsys, svr4_sys_semsys, svr4_sys_shmsys. When running make in sys/modules/svr4/ separately with no parameters, the defines SYSVMSG, SYSVSEM, SYSVSHM are not defined. Code in sys/compat/svr4/svr4_ipc.c #ifdef these, and exclude code for the calls mentioned above when not defined. But the file syscalls.master still referr= ed to them unconditionally, causing the loader to try to find them, but failin= g. I added matching #ifdefs to syscalls.master. That fixed it. I guess this has no effect in the release version, where this calls are not excluded. --=20 You are receiving this mail because: You are on the CC list for the bug.=