Re: kbuild: Section mismatch warnings

From: Nicholas Miell
Date: Fri Feb 17 2006 - 19:13:07 EST


On Sat, 2006-02-18 at 00:38 +0100, Sam Ravnborg wrote:
> Hi Adrian
>
> > > I did not find a way to look up the offending symbol but maybe some elf
> > > expert can help?
> > >...
> >
> > I'm not an ELF expert, but simply checking all __init functions in this
> > files finds that this seems to be the following:
> >
> > <-- snip -->
> >
> > ...
> > static struct acpi_driver asus_hotk_driver = {
> > .name = ACPI_HOTK_NAME,
> > .class = ACPI_HOTK_CLASS,
> > .ids = ACPI_HOTK_HID,
> > .ops = {
> > .add = asus_hotk_add,
> > .remove = asus_hotk_remove,
> > },
> > };
> > ...
> > static int __init asus_hotk_add(struct acpi_device *device)
> > ...
> >
> Correct.
> What I wanted was modpost to tell that the symbol being referenced in
> the .data section was 'asus_hotk_add' and not just an offset after
> asus_hotk_driver.
>
> What is needed is a link from the RELOCATION RECORD to the symbol table.

The r_info field of Elf{32,64}_Rel{,a} contains an index into the symbol
table which can be extracted using the ELF{32,64}_R_SYM() macro.

--
Nicholas Miell <nmiell@xxxxxxxxxxx>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/