All of lore.kernel.org
 help / color / mirror / Atom feed
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.

  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.