Le 04/08/2017 à 10:00, matthew green a écrit :
the setup comes from before modules and it allows code sharing because the old 43 version matches other systems. so there's a single implementation of this code for a large number of consumers, and the name of it describes where it comes from. this is entirely as designed and desired.
Thinking about this again; this may have been desired, but it's clearly a wrong design - and it also was with config(5), regardless of the modules. The user finds himself in a situation where if he wants to use a linux binary, he has to enable a whole bunch of unrelated compat options, just because our compat_linux borrows one function here, and another there, etc. While I agree that deduplicating code is a good thing in general, it certainly is not when the subsystems that share the code are this distant, and when these subsystems end up being less user-friendly. Why is it a bad idea re-implement the few compat_xx functions used in compat_linux? This would eliminate the dependency, and a single modload would suffice. Maxime