From: David Daney <ddaney@avtrex.com>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Subject: Re: OProfile cannot be loaded as module...
Date: Mon, 17 Oct 2005 13:14:01 -0700 [thread overview]
Message-ID: <43540609.4000105@avtrex.com> (raw)
In-Reply-To: <20051013225520.GA3234@linux-mips.org>
Ralf Baechle wrote:
> On Fri, Oct 07, 2005 at 04:59:11PM -0700, David Daney wrote:
>
>
>>arch/mips/oprofile/common.c defines several symbols (op_model_mipsxx and
>>op_model_rm9000) with __attribute__((weak)). It then assumes that ELF
>>linking conventions will prevail and there will be no problems if they
>>are undefined.
>>
>>The problem is if you try to load oprofile as a module. The kernel
>>module linker evidentially does not understand weak symbols and refuses
>>to load the module because they are undefined.
>
>
> Actually it contains code to handle weak symbols so this is a bit
> surprising not last because STB_WEAK handling happen in the generic
> module loader code and is being used by other architectures as well.
>
> So if there's a problem with the module loader I'd prefer to solve that
> instead of starting to kludge around it.
>
Fine, but what exactly are the semantics of __attribute__((weak)) in
modules? It gets resolved when linking with other objects that make up
the module. But what if the weak symbol can be resolved at module load
time against symbols in either the kernel proper or other modules? What
happens if the weak symbol can be resolved by a symbol in a module that
is loaded after the one with the weak symbol? Does it get fixed up when
the new module is loaded?
> What compiler exactly are you using btw?
>
GCC-3.4.3 / binutils 2.16.91 20050817
David Daney.
next prev parent reply other threads:[~2005-10-17 20:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-07 23:59 OProfile cannot be loaded as module David Daney
2005-10-08 0:25 ` David Daney
2005-10-13 22:55 ` Ralf Baechle
2005-10-17 20:14 ` David Daney [this message]
2005-10-18 11:03 ` Ralf Baechle
2005-10-18 15:46 ` David Daney
2005-10-18 16:38 ` Ralf Baechle
2006-04-21 14:33 ` Atsushi Nemoto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=43540609.4000105@avtrex.com \
--to=ddaney@avtrex.com \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.