Re: Problem with EXPORT_SYMBOL(irq_to_desc)

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

 





On Wed, Aug 11, 2010 at 12:33 PM, Dave Hylands <dhylands@xxxxxxxxx> wrote:
Hi Parbhu,

Sending to the list this time.

On Tue, Aug 10, 2010 at 11:07 PM, Prabhu nath <gprabhunath@xxxxxxxxx> wrote:
> Hi,
>
>         I am facing a peculiar behaviour on Kernel version 2.6.34.1
> (http://lxr.linux.no/#linux+v2.6.34.1).
>
>        For my experimentation I just wanted to use the following two kernel
> functions in my Kernel module
>
>         1. find_task_by_vpid
> (http://lxr.linux.no/#linux+v2.6.34.1/kernel/pid.c#L388)
>         2. irq_to_desc
> (http://lxr.linux.no/#linux+v2.6.34.1/kernel/irq/handle.c#L138)
>
>            Since these two functions are not exported by the Kernel, I
> exported these functions, built the kernel and used in my kernel module.
>          When I compiled, I got a warning  "WARNING: "irq_to_desc"
> [/root/prabhu/KernelPrograms/irq/kmod.ko] undefined!"
>          and when I inserted the module, I got error saying "kmod: Unknown
> symbol irq_to_desc"

irq_to_desc isn't a function, therefore it can't be exported. It's a macro.

irq_to_desc should be a function. To verify this, we can look into the symbol table in handle.o which specifies this as a function. Here is a snippet of the symbol table.
     48: 0000024e    32 FUNC    GLOBAL DEFAULT    1 replace_irq_desc
    49: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND radix_tree_lookup_slot
    50: 0000026e    12 FUNC    GLOBAL DEFAULT    1 irq_to_desc
    51: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND radix_tree_lookup
    52: 00000413    31 FUNC    GLOBAL DEFAULT    1 kstat_irqs_cpu
    53: 00000432    40 FUNC    GLOBAL DEFAULT    1 early_init_irq_lock_class
    54: 00000032   298 FUNC    GLOBAL DEFAULT    9 irq_to_desc_alloc_node
    55: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND warn_slowpath_fmt
    56: 00000000     4 OBJECT  GLOBAL DEFAULT    5 sparse_irq_lock

-Prabhu





[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