link set won't work for modules. ISTR pooka@ did a work-around for RUMP or whatever.
(Ideal alternative is decent ctors/dtors support.) On Thu, Apr 26, 2012 at 11:44 AM, Paul Goyette <p...@whooppee.com> wrote: > I've been working on "modularizing" the ieee80211 code, and I've discovered > that the code using a link_set to collect various one-time initialization > routines. There is a RUN_ONCE() invocation that uses __link_set_for_each() > to iterate over these init routines. > > This all works just fine when including net80211 in a monolithic kernel, but > for some reason, when building as a module, the link_set sections don't seem > to get created (they're not listed by objdump -h). > > __link_set_for_each tries to loop through the items in > {start,stop}_link_set_"set-name" - these items are "contributed" by other > source files. But the symbols that should identify the start and stop of > the link set are undefined. > > Any suggestions on an appropriate alternate to link sets to collect the > "contributions"? > > > If anyone wants to look at the actual code, it is in > src/sys/net80211/ieee80211_netbsd.[ch] > > > Thanks! > > > > ------------------------------------------------------------------------- > | Paul Goyette | PGP Key fingerprint: | E-mail addresses: | > | Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com | > | Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net | > | Kernel Developer | | pgoyette at netbsd.org | > -------------------------------------------------------------------------