Re: [PATCH 1/2] modules: add default loader hook implementations

From: Linus Torvalds
Date: Thu Jun 30 2011 - 16:03:13 EST


On Thu, Jun 30, 2011 at 12:22 PM, Jonas Bonn <jonas@xxxxxxxxxxxx> wrote:
>
> The module loader code allows architectures to hook into the code by
> providing a small number of entry points that each arch must implement.
> This patch provides __weakly linked generic implementations of these
> entry points for architectures that don't need to do anything special.

Hmm. I know we used to have problems with gcc versions (or maybe
binutils) that had bugs wrt "weak" functions being declared in the
same compilation unit they were used. They would either inline the
weak function, or bind it early, and never let the linker see the
weak/strong functions and do the right thing.

I just don't remember if we disallowed those gcc/binutils versions and
check for it, or whether we decided that __weak function smust be
defined in a compilation unit separate from the user.

Because you now added all the weak functions to the same file
(module.c) that actually uses them.

Commit f9d14250071e ("Disallow gcc versions 4.1.{0,1}") implies we
disallowed the broken versions entirely, but I'm not entirely sure
those were the only cases.

Anybody remember?

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