Re: [PATCH] x86: fix improper .init-type section references

From: Satyam Sharma
Date: Wed Jun 13 2007 - 03:39:26 EST


On 6/13/07, Jan Beulich <jbeulich@xxxxxxxxxx> wrote:
>>> Sam Ravnborg <sam@xxxxxxxxxxxx> 13.06.07 06:35 >>>
>>
>> Yup, we were only discussing possibility that modpost not complain
>> about .init -> .exit references that will never go oops (because the arch
>> guarantees that).
>
>And there are no good reasosns why the rules should be different for i386
>and powerpc.
>This type of special casing is always bad.
>Think about it a little.
>Someone writes a generic driver and test it on i386 - OK.
>But for powerpc it result in a build failure. It would be so much better
>to warn about this situation early.

Ok, that makes sense.

And I didn't mean to special case it - I meant to suggest changing the semantics
generally, which is why I gave the example of calling cleanup code (__exit)
from error paths in startup code (__init).

i.e. don't discard anything at build time, and link the .exit.{text,
data} sections
into the kernel image for _all_ archs? (otherwise how do we avoid
special-casing/
checking for the arch in modpost and warn/not-warn about invalid/valid cases)

But then why not simply lose the __exit (and .exit.*) altogether? Because
__exit becomes redundant in the suggested changed semantics -- just mark
all the cleanup code as __init too (when it's built-in, the only
callsite for the
cleanup code would be from the startup code in .init.*, and when modular,
__init and __exit lose all relevance anyway).

Satyam
-
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/