Re: [RFC] compat-2.6: mangle symbols for driver-select
From: Luis R. Rodriguez <hidden>
Date: 2009-09-20 14:43:34
On Sat, Sep 19, 2009 at 8:46 PM, Tim Gardner [off-list ref] wrote:
Luis R. Rodriguez wrote:quoted
Today at the summit we spoke about mangling symbols for driver-slect. Here's a quick nasty take on this but without doing this for driver-select specifically just for testing. It seems to compile, but someone more motivated may want to test and make this apply somehow only for driver-select or perhaps when a -D define is used. Reason for this is to help distributions / OEMs / ODMs who want to replace just *one* driver with compat-wireless.I think it would be better to generate the list of mangled symbols dynamically.
Agreed, that is the part I left out, as a TODO to someone interested.
In older Ubuntu releases (before depmod behavior was corrected), we have to run a 'munge' script to preface all of the exported symbols so that a compat-wireless driver references the compat-wireless protocol stack symbols. See the attached munge script for compat-wireless on 2.6.24.
Please correct me if I'm wrong but I believe the script seems to do what I did just that it actually edited the files with the changes, I prefer the way I did this as it requires less work to maintain and understand IMHO.
We can either do something like this for compat-wireless, or we could use a subset of this logic to generate the list of symbols contained within the '#ifdef CONFIG_COMPAT_WIRELESS_MANGLE' clause.
So I was under the impression you would use this only if you are using ./scripts/driver-select to select one driver out of the whole tree, but it seems you actually use this for all the drivers on compat-wireless for the Ubuntu linux-backports-modules package. I take it you put lbm stuff then into some /lib/modules/$(uname)/compat/ and use a sort of /etc/depmod.d/01-compat.conf to prefer compat over updates/ or kernel/ ? Luis