Messages in this thread |  | | From | Masahiro Yamada <> | Date | Mon, 16 Dec 2019 14:11:30 +0900 | Subject | Re: VirtualBox module build breakage since commit 39808e451fdf |
| |
Hi.
On Mon, Dec 16, 2019 at 11:48 AM Larry Finger <Larry.Finger@lwfinger.net> wrote: > > Hi, > > Since commit 39808e451fdf ("kbuild: do not read > $(KBUILD_EXTMOD)/Module.symvers"), some of the modules for VirtualBox have > failed to build. There are at least 3 such modules, namely vboxdrv, vboxnetflt, > and vboxnetadp.
As the section 6.3 of Documentation/kbuild/modules.rst says, the best practice is to put the related modules into the same source tree, and then do like this:
obj-m := vboxdrv/ vboxnetfit/ vboxnetadp/
If you want to maintain the three separately, as 39808e451fdf mentions, you can useKBUILD_EXTRA_SYMBOLS. KBUILD_EXTRA_SYMBOLS was added more than a decade. So, you should be able to use it for your modules.
I think it is a cleaner solution than copying around Module.symvers in your build tree.
Thanks.
> The latter 2 require linking to routines exported from the build > of the first, thus file "Module.symvers" is copied from the build directory of > vboxdrv into that of the other modules. Even though the documentation says that > this method should work, and it has in the past, it fails after this commit. The > necessary external symbols are not found. > > Am I missing some step needed to make the copy of "Module.symvers" method work? > I understand that the method could lead to stale values; however, the build of > vboxdrv immediately precedes the build of the others, thus the values are always > current. > > Thanks, > > Larry >
-- Best Regards Masahiro Yamada
|  |