Re: Getting list of exported symbols for $ARCH

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

 



On Mon, 2008-01-28 at 12:52 +0200, Adrian Bunk wrote:
> On Thu, Jan 24, 2008 at 09:27:29PM -0500, Joseph Fannin 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?
> > 
> > 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.
> 
> Please clarify what you mean with "list of the exported symbols for a 
> particular kernel arch" - which symbols are exported heavily depends on 
> the kernel configuration.
> 
> What exactly do you want to do with the result?

Unionfs needs copy_page() exported, but on a number of architectures it
isn't.  I sent akpm a patch for one; when I saw the problem on arm as
well I thought I could just get them all in one go.

If there's no definitive way to get that information, it's probably best
I don't try it.  I've got other nits to work on.  :-)

> > 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?
> > 
> > That last doesn't seem likely to me, but I thought I saw it happening
> > somewhere.  I would like to understand this a bit better.
> 
> The way we redefine inline in the kernel we force gcc to always inline 
> copy_page() in your example, and the modules will therefore always 
> directly call copy_4K_page().

That makes a lot of sense.  Thanks!

--
Joseph Fannin
jfannin@xxxxxxxxx

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux