Re: Link modules to DYN type
- Reply: Konstantin Belousov : "Re: Link modules to DYN type"
- Reply: Jan Martin Mikkelsen : "Re: Link modules to DYN type"
- In reply to: Konstantin Belousov : "Re: Link modules to DYN type"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 26 Apr 2023 11:38:32 UTC
On 4/26/23 13:12, Konstantin Belousov wrote: > No, in-kernel linker does not behave this way. > Modules need to contain explicit reference to all modules they depend upon, > using the MODULE_DEPEND() macro. Only symbols from the dependencies are > resolved. > > All modules get an implicit reference to kernel. Hi Konstantin, Maybe I wasn't so clear. Trying again: > diff --git a/sys/tests/ktest.c b/sys/tests/ktest.c > index 495fedf95dde..eb42cf062487 100644 > --- a/sys/tests/ktest.c > +++ b/sys/tests/ktest.c > @@ -409,6 +409,12 @@ static moduledata_t ktestmod = { > 0 > }; > > +int > +printf(const char *fmt, ...) > +{ > + return (0); > +} > + > DECLARE_MODULE(ktestmod, ktestmod, SI_SUB_PSEUDO, SI_ORDER_ANY); > MODULE_VERSION(ktestmod, 1); > MODULE_DEPEND(ktestmod, netlink, 1, 1, 1); Then kldload ktest.ko . Which printf() function will be used if ktest.c calls printf() ? I would expect a warning from the kernel at least ... --HPS