>> And from a purely theoretical
>> perspective I don't think such references should be considered bad -
>> .exit.* should be discarded together with .init.* if unloading is
>> impossible (built-in or configured off), not before module/kernel
>> initialization.
>
>Hmm, but that's not how things are, presently. __exit marked
>functions are simply not linked into the kernel (when that module
>is being built-in) at all -- this "discard" happens at _build time_
>(to save on kernel image size).
Not really, at least not for i386 and x86-64 - see their vmlinux.lds.S files.