Hi... On Jan 25, 2008 9:27 AM, Joseph Fannin <jfannin@xxxxxxxxx> wrote: > Hi! > > Is there are simple way to get a list of the exported symbols > (i.e. with EXPORT_SYMBOL) for a particular kernel arch, preferably > without building a kernel for that arch? The best I can think is by doing: # grep EXPORT_SYMBOL -I -r -n /usr/src/linux substitute /usr/src/linux with the path of your extracted kernel source. > I'd like to find a definitive way to see if a symbol is exported or > not for a particular architechture -- without a full suite of cross > compilers. basically, anything...AFAIK, which isn't declared "static" can be accessed from the modules > One more thing -- consider you have: > > static inline void copy_page(void *to, void *from) > { > copy_4K_page(to, from); > } > > ... and copy_4K_page is exported, but copy_page is not. Is it > possible that gcc would optimize copy_page() away, so that modules > referencing copy_page would end up getting (the exported) copy_4k_page > and would work? Hm, I don't think so. Symbol value (in other word, its address in .text section) is just one... so if it's inlined, then there is no specific place to call/jump. You said your module will call copy_page? IMHO that wouldn't possible, because its symbol wouldn't be resolvable by the kernel module loader...well, unless you know ELF linking trick that I don't know. I am ready for further lessons here... regards, Mulyadi. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ