tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Time to merge the pgoyette-compat branch (take two)



On Sun, 9 Sep 2018, Martin Husemann wrote:

On Sun, Sep 09, 2018 at 06:15:01PM +0800, Paul Goyette wrote:
On Sun, 9 Sep 2018, matthew green wrote:

<snip>

Paul, i 100% agree this isn't a new problem. but your branch has
pushed it back into the foreground again :-)

Being in the foreground is a good thing, right?  :)  At least now it
can get the attention it really needs, rather than just hiding it
under the carpet.

I think we should get rid of libcompat for kernel builds (dunno if it is
used for modules).

Also I wonder if we could do some nm digging and awk scripts with tsort
to find potential symbol collisions or missing symbols not properly
covered by module dependencies. Alternatively build two special modular
kernels (like ALL and MINIMAL) and do runtime load/unload tests with
all modules we deliver.

After having removed the "alias name" stuff, I've run into some problems
with module dependencies.  Most of this stems from the desire to retain
a "monolithic" compat module as well as the more granular modules for
each version.  As an example of the problem, the compat_netbsd32 module
needs to depend on _either_ the monolithic compat module _or_ some of
the version-specific modules.  (This was easy with the alias mechanism:
I simply had the monolithic module advertise lots of aliases, and then
the compat_netbsd32 module could depend on whichever version-specific
module(s) it needed.)

Our module system doesn't currently know how to do the _either_or_
thing.  So it appears that I'm going to need to completely remove the
monolithic module, and depend entirely on the individual modules.

This is going to take some time to get it right, for both built-in and
loaded modules.


+------------------+--------------------------+----------------------------+
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:          |
| (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee dot com   |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd dot org |
+------------------+--------------------------+----------------------------+


Home | Main Index | Thread Index | Old Index