public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paulo Marques <pmarques@grupopie.com>
To: Russell King <rmk+lkml@arm.linux.org.uk>
Cc: Linux Kernel List <linux-kernel@vger.kernel.org>,
	Sam Ravnborg <sam@ravnborg.org>,
	Linus Torvalds <torvalds@osdl.org>
Subject: Re: ARM undefined symbols.  Again.
Date: Mon, 14 Feb 2005 13:10:29 +0000	[thread overview]
Message-ID: <4210A345.6030304@grupopie.com> (raw)
In-Reply-To: <20050213172940.A12469@flint.arm.linux.org.uk>

Russell King wrote:
> On Wed, Feb 09, 2005 at 10:40:53AM +0000, Russell King wrote:
>>On Tue, Feb 08, 2005 at 08:05:01PM +0000, Russell King wrote:
>>[...]
>>  LD      .tmp_vmlinux1
>>.tmp_vmlinux1: error: undefined symbol(s) found:
>>         w kallsyms_addresses
>>         w kallsyms_markers
>>         w kallsyms_names
>>         w kallsyms_num_syms
>>         w kallsyms_token_index
>>         w kallsyms_token_table
>>
>>Maybe kallsyms needs to provide an empty object with these symbols
>>defined for the first linker pass, instead of using weak symbols?
> 
> 
> So, what's the answer?  Maybe this patch?  With this, we can drop the
> __attribute__((weak)) from the kallsyms symbols since they're always
> provided.
> 
> diff -up -x BitKeeper -x ChangeSet -x SCCS -x _xlk -x *.orig -x *.rej orig/Makefile linux/Makefile
> --- orig/Makefile	Sun Feb 13 17:26:38 2005
> +++ linux/Makefile	Sun Feb 13 17:24:17 2005
> @@ -702,14 +702,20 @@ quiet_cmd_kallsyms = KSYM    $@
>        cmd_kallsyms = $(NM) -n $< | $(KALLSYMS) \
>                       $(if $(CONFIG_KALLSYMS_ALL),--all-symbols) > $@
>  
> -.tmp_kallsyms1.o .tmp_kallsyms2.o .tmp_kallsyms3.o: %.o: %.S scripts FORCE
> +.tmp_kallsyms0.o .tmp_kallsyms1.o .tmp_kallsyms2.o .tmp_kallsyms3.o: %.o: %.S scripts FORCE
>  	$(call if_changed_dep,as_o_S)
>  
> +.tmp_kallsyms0.S: FORCE
> +	@( echo ".data"; \
> +	  for sym in addresses markers names num_syms token_index token_table; \
> +	  do echo -e ".globl kallsyms_$$sym\nkallsyms_$$sym:\n"; done; \
> +	  echo ".word 0"; ) > $@

I think it would be better to pass an argument to scripts/kallsyms (like 
-0 or something) that instructed it to generate the same file it usually 
generates but without any actual symbol information.

This way it will be easier to maintain this code in case new symbols are 
needed in the future. Having this done in the Makefile means that to add 
a new symbol we will have to change scripts/kallsyms, kernel/kallsyms 
and a not so clearly related Makefile.

I'll try to make a small patch if I can get some time (maybe later this 
week).

-- 
Paulo Marques - www.grupopie.com

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke (1729 - 1797)

  reply	other threads:[~2005-02-14 13:11 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-24 15:43 ARM undefined symbols. Again Russell King
2005-01-31 16:17 ` Sam Ravnborg
2005-02-07 11:43   ` Russell King
2005-02-08 19:42     ` Sam Ravnborg
2005-02-08 20:05       ` Russell King
2005-02-09 10:40         ` Russell King
2005-02-13 17:29           ` Russell King
2005-02-14 13:10             ` Paulo Marques [this message]
2005-02-25 19:48               ` Russell King
2005-02-25 19:59                 ` Linus Torvalds
2005-02-25 20:23                   ` Russell King
2005-02-25 20:31                     ` Linus Torvalds
2005-02-25 20:54                       ` Paulo Marques
     [not found]                         ` <20050225210254.GB15773@mars>
2005-02-25 21:18                           ` Paulo Marques
     [not found]                       ` <20050225222720.D27842@flint.arm.linux.org.uk>
2005-02-25 22:49                         ` Linus Torvalds
2005-02-25 22:52                           ` Linus Torvalds
2005-02-26 11:17                           ` Russell King
2005-02-26 11:29                             ` Russell King
2005-02-25 22:03                     ` Daniel Jacobowitz
2005-02-08 20:09       ` Alex Muradin

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=4210A345.6030304@grupopie.com \
    --to=pmarques@grupopie.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rmk+lkml@arm.linux.org.uk \
    --cc=sam@ravnborg.org \
    --cc=torvalds@osdl.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox