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  |
> -------------------------------------------------------------------------

Reply via email to