• Rusty Russell's avatar
    [PATCH] kallsyms for new modules · a5508ddc
    Rusty Russell authored
    Since I believe kallsyms is important, this reimplements it sanely,
    using the current module infrastructure, and not using an external
    kallsyms script.
    
    FYI, the previous interface was:
    
    int kallsyms_symbol_to_address(
    	const char       *name,			/* Name to lookup */
    	unsigned long    *token,		/* Which module to start with */
    	const char      **mod_name,		/* Set to module name or "kernel" */
    	unsigned long    *mod_start,		/* Set to start address of module */
    	unsigned long    *mod_end,		/* Set to end address of module */
    	const char      **sec_name,		/* Set to section name */
    	unsigned long    *sec_start,		/* Set to start address of section */
    	unsigned long    *sec_end,		/* Set to end address of section */
    	const char      **sym_name,		/* Set to full symbol name */
    	unsigned long    *sym_start,		/* Set to start address of symbol */
    	unsigned long    *sym_end		/* Set to end address of symbol */
    	);
    
    The new one is:
    /* Lookup an address.  modname is set to NULL if it's in the kernel. */
    const char *kallsyms_lookup(unsigned long addr,
    			    unsigned long *symbolsize,
    			    unsigned long *offset,
    			    char **modname);
    a5508ddc
module.c 31.8 KB