Re: EXPORT_SYMBOL Vs extern? | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
Thank you all for your replies.
That clears things up for me.
Regards,
--Pradeep
On Tue, May 6, 2008 at 5:36 AM, Anirban Sinha <ASinha@xxxxxxxxxxxxxxxxx> wrote:
> EXPORT_SYMBOL macro creates a new kernel symbol entry (address of the symbol, symbol) based on the value you specify and puts it in a special section of the kernel image, in __ksymtab section. When modules are loaded dynamically, the loader resolves the symbols during run time by parsing the entries of this section.
>
> Extern can be used for non-static functions that are statically linked during compile time.
>
> HTH,
>
> Ani
>
>
>
>
> >-----Original Message-----
> >From: kernelnewbies-bounce@xxxxxxxxxxxx [mailto:kernelnewbies-
> >bounce@xxxxxxxxxxxx] On Behalf Of pradeep singh
> >Sent: Sunday, May 04, 2008 10:38 PM
> >To: Kernel List
> >Subject: EXPORT_SYMBOL Vs extern?
> >
> >Hi All,
> >
> >A Quick but perhaps dumbass query,
> >
> >1. int function_A(...)
> > {
> > ...;
> > }
> >
> >2. int function_B(...)
> > {
> > ...;
> > }
> > EXPORT_SYMBOL(function_B);
> >
> >Okay i understand I should use the EXPORT_SYMBOL way if i want
> >function_B to be used by rest of the kernel.
> >
> >Now I have a doubt -
> >
> >Is it a compulsion for a function which need to be used in any other
> >source file, exported through EXPORT_SYMBOL only?
> >Does this means all the places in kernel(and there are loads of them),
> >where a function is non-static and is used in other source files
> >should actually be using EXPORT_SYMBOL?
> >
> >Thanks,
> > ~Pradeep
> >--
> >play the game
> >
> >--
> >To unsubscribe from this list: send an email with
> >"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
> >Please read the FAQ at http://kernelnewbies.org/FAQ
>
>
--
play the game
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ
[Newbies FAQ] [Kernel List] [Site Home] [IETF Annouce] [Git] [Networking] [Security] [Bugtraq] [Rubini] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux Networking] [Linux RAID] [Linux SCSI] [Linux ACPI] [DDR & Rambus] [UNIX Filesystems] [Linux Resources]
![]() |