mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Creating new System.map with modules symbol info
@ 2005-11-08 21:04 Adayadil Thomas
  2005-11-08 21:19 ` Chris Largret
  2005-11-08 22:05 ` Arjan van de Ven
  0 siblings, 2 replies; 10+ messages in thread
From: Adayadil Thomas @ 2005-11-08 21:04 UTC (permalink / raw)
  To: linux-kernel

Greetings.

The System map that was created when compiling kernel does'nt have the symbols
of modules that are loaded later. How can I create a new System.map
with the symbols of
modules also.

Any information is much appreciated.

Thanks

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Creating new System.map with modules symbol info
  2005-11-08 21:04 Creating new System.map with modules symbol info Adayadil Thomas
@ 2005-11-08 21:19 ` Chris Largret
  2005-11-08 21:45   ` Adayadil Thomas
  2005-11-08 22:05 ` Arjan van de Ven
  1 sibling, 1 reply; 10+ messages in thread
From: Chris Largret @ 2005-11-08 21:19 UTC (permalink / raw)
  To: Adayadil Thomas; +Cc: linux-kernel

On Tue, 2005-11-08 at 16:04 -0500, Adayadil Thomas wrote:
> Greetings.
> 
> The System map that was created when compiling kernel does'nt have the symbols
> of modules that are loaded later. How can I create a new System.map
> with the symbols of
> modules also.

>From the linux kernel source directory, take a look at scripts/mksysmap.

--
Chris Largret <http://daga.dyndns.org>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Creating new System.map with modules symbol info
  2005-11-08 21:19 ` Chris Largret
@ 2005-11-08 21:45   ` Adayadil Thomas
  2005-11-08 22:01     ` Jan-Benedict Glaw
  2005-11-08 22:08     ` Chris Largret
  0 siblings, 2 replies; 10+ messages in thread
From: Adayadil Thomas @ 2005-11-08 21:45 UTC (permalink / raw)
  To: Chris Largret; +Cc: linux-kernel

Thanks for the reply.

Usage of mksysmap is --
mksysmap vmlinux System.map

How do I specify the module which is not included in the kernel ?
Is that possible ?

Thanks

On 11/8/05, Chris Largret <largret@gmail.com> wrote:
> On Tue, 2005-11-08 at 16:04 -0500, Adayadil Thomas wrote:
> > Greetings.
> >
> > The System map that was created when compiling kernel does'nt have the symbols
> > of modules that are loaded later. How can I create a new System.map
> > with the symbols of
> > modules also.
>
> >From the linux kernel source directory, take a look at scripts/mksysmap.
>
> --
> Chris Largret <http://daga.dyndns.org>
>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Creating new System.map with modules symbol info
  2005-11-08 21:45   ` Adayadil Thomas
@ 2005-11-08 22:01     ` Jan-Benedict Glaw
  2005-11-08 22:08     ` Chris Largret
  1 sibling, 0 replies; 10+ messages in thread
From: Jan-Benedict Glaw @ 2005-11-08 22:01 UTC (permalink / raw)
  To: Adayadil Thomas; +Cc: Chris Largret, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 673 bytes --]

On Tue, 2005-11-08 16:45:12 -0500, Adayadil Thomas <adayadil.thomas@gmail.com> wrote:
> Thanks for the reply.
> 
> Usage of mksysmap is --
> mksysmap vmlinux System.map
> 
> How do I specify the module which is not included in the kernel ?
> Is that possible ?

Not with that script.

Look at /proc/kallsyms instead.

MfG, JBG

-- 
Jan-Benedict Glaw       jbglaw@lug-owl.de    . +49-172-7608481             _ O _
"Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg  _ _ O
 für einen Freien Staat voll Freier Bürger"  | im Internet! |   im Irak!   O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Creating new System.map with modules symbol info
  2005-11-08 21:04 Creating new System.map with modules symbol info Adayadil Thomas
  2005-11-08 21:19 ` Chris Largret
@ 2005-11-08 22:05 ` Arjan van de Ven
  2005-11-08 22:16   ` linux-os (Dick Johnson)
  1 sibling, 1 reply; 10+ messages in thread
From: Arjan van de Ven @ 2005-11-08 22:05 UTC (permalink / raw)
  To: Adayadil Thomas; +Cc: linux-kernel

On Tue, 2005-11-08 at 16:04 -0500, Adayadil Thomas wrote:
> Greetings.
> 
> The System map that was created when compiling kernel does'nt have the symbols
> of modules that are loaded later. How can I create a new System.map
> with the symbols of
> modules also.

maybe a silly question.. but why does it matter? Eg what tool uses this
info?



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Creating new System.map with modules symbol info
  2005-11-08 21:45   ` Adayadil Thomas
  2005-11-08 22:01     ` Jan-Benedict Glaw
@ 2005-11-08 22:08     ` Chris Largret
  1 sibling, 0 replies; 10+ messages in thread
From: Chris Largret @ 2005-11-08 22:08 UTC (permalink / raw)
  To: Adayadil Thomas; +Cc: linux-kernel

On Tue, 2005-11-08 at 16:45 -0500, Adayadil Thomas wrote:
> Thanks for the reply.
> 
> Usage of mksysmap is --
> mksysmap vmlinux System.map
> 
> How do I specify the module which is not included in the kernel ?
> Is that possible ?

you could do:

nm -n /path/to/module.ko | grep -v '\( [aUw] \)\|\(__crc_\)\|\( \
$[adt]\)'>/path/to/module.map

This is essentially what mksysmap does, except with the ability to
define 'nm' locations. This isn't really a file that could be used in
place of the System.map file though. At least not if I understand the
purpose of it.

The System.map file is used to keep track of symbols in the kernel. I
believe the module symbols can be traced with the aid of some of the
debug kernel configuration options.

--
Chris Largret <http://daga.dyndns.org>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Creating new System.map with modules symbol info
  2005-11-08 22:05 ` Arjan van de Ven
@ 2005-11-08 22:16   ` linux-os (Dick Johnson)
  2005-11-08 22:37     ` Adayadil Thomas
  0 siblings, 1 reply; 10+ messages in thread
From: linux-os (Dick Johnson) @ 2005-11-08 22:16 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Adayadil Thomas, linux-kernel


On Tue, 8 Nov 2005, Arjan van de Ven wrote:

> On Tue, 2005-11-08 at 16:04 -0500, Adayadil Thomas wrote:
>> Greetings.
>>
>> The System map that was created when compiling kernel does'nt have the symbols
>> of modules that are loaded later. How can I create a new System.map
>> with the symbols of
>> modules also.
>
> maybe a silly question.. but why does it matter? Eg what tool uses this
> info?

Maybe he's creating a tool. Anyway /proc/kallsyms will have all
the symbols and their offsets of the currently running kernel.
It's a good way to find offsets of items not currently exported.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.13.4 on an i686 machine (5589.55 BogoMips).
Warning : 98.36% of all statistics are fiction.
.

****************************************************************
The information transmitted in this message is confidential and may be privileged.  Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited.  If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@analogic.com - and destroy all copies of this information, including any attachments, without reading or disclosing them.

Thank you.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Creating new System.map with modules symbol info
  2005-11-08 22:16   ` linux-os (Dick Johnson)
@ 2005-11-08 22:37     ` Adayadil Thomas
  2005-11-09 12:21       ` Paulo Marques
  2005-11-09 13:09       ` linux-os (Dick Johnson)
  0 siblings, 2 replies; 10+ messages in thread
From: Adayadil Thomas @ 2005-11-08 22:37 UTC (permalink / raw)
  To: linux-os (Dick Johnson); +Cc: Arjan van de Ven, linux-kernel

I am trying to use lcrash to debug a panic

I have the System.map of the original kernel (without modules loaded),
Kerntypes file and the dump file

    <4>Modules linked in: ip_conntrack_dos
    <4>CPU:    0
    <4>EIP:    0060:[<f8bb245b>]    Tainted: P      VLI
    <4>EFLAGS: 00010246   (2.6.12)
    <4>EIP is at init_conntrack_syn+0x193/0x214 [ip_conntrack_dos]
    <4>eax: dd0f34b3   ebx: f48de908   ecx: f48de900   edx: 00000000
    <4>esi: f4c65bc8   edi: f48de900   ebp: 00100100   esp: c040dae0
    <4>ds: 007b   es: 007b   ss: 0068


If i Use the original System.map, it doesnt find the symbol for the
init_conntrack_syn
( EIP is pointing there)
However, kallsyms has an entry for that
f8b752c8 t init_conntrack_syn

If kallsyms has all the symbols, I am wondering why does it have lesser lines ?

wc -l
12343 kallsyms
32127 System.map

Will it work if I cat System.map and kallsyms together and do a sort and uniq
so that i get the union of both ?



On 11/8/05, linux-os (Dick Johnson) <linux-os@analogic.com> wrote:
>
> On Tue, 8 Nov 2005, Arjan van de Ven wrote:
>
> > On Tue, 2005-11-08 at 16:04 -0500, Adayadil Thomas wrote:
> >> Greetings.
> >>
> >> The System map that was created when compiling kernel does'nt have the symbols
> >> of modules that are loaded later. How can I create a new System.map
> >> with the symbols of
> >> modules also.
> >
> > maybe a silly question.. but why does it matter? Eg what tool uses this
> > info?
>
> Maybe he's creating a tool. Anyway /proc/kallsyms will have all
> the symbols and their offsets of the currently running kernel.
> It's a good way to find offsets of items not currently exported.
>
> Cheers,
> Dick Johnson
> Penguin : Linux version 2.6.13.4 on an i686 machine (5589.55 BogoMips).
> Warning : 98.36% of all statistics are fiction.
> .
>
> ****************************************************************
> The information transmitted in this message is confidential and may be privileged.  Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited.  If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@analogic.com - and destroy all copies of this information, including any attachments, without reading or disclosing them.
>
> Thank you.
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Creating new System.map with modules symbol info
  2005-11-08 22:37     ` Adayadil Thomas
@ 2005-11-09 12:21       ` Paulo Marques
  2005-11-09 13:09       ` linux-os (Dick Johnson)
  1 sibling, 0 replies; 10+ messages in thread
From: Paulo Marques @ 2005-11-09 12:21 UTC (permalink / raw)
  To: Adayadil Thomas; +Cc: linux-os (Dick Johnson), Arjan van de Ven, linux-kernel

Adayadil Thomas wrote:
> [...]
> If i Use the original System.map, it doesnt find the symbol for the
> init_conntrack_syn
> ( EIP is pointing there)
> However, kallsyms has an entry for that
> f8b752c8 t init_conntrack_syn
> 
> If kallsyms has all the symbols, I am wondering why does it have lesser lines ?
> 
> wc -l
> 12343 kallsyms
> 32127 System.map

By default kallsyms only stores symbols that are int the kernel's text 
areas, whereas System.map has all the symbols.

You can make kallsyms store all the symbols by setting 
CONFIG_KALLSYMS_ALL in your kernel configuration, but the extra symbol 
data will increase your kernel size. Depending on the target host memory 
size this can be either negligeable or a big problem :)

However, module symbols appear in the /proc/kallsyms file using a 
totally different mechanism, and even if you don't set 
CONFIG_KALLSYMS_ALL, module data symbols (and others) still show up there.

By the way, if you had KALLSYMS configured in the first place, the 
kernel itself would translate those addresses for you for free.

> Will it work if I cat System.map and kallsyms together and do a sort and uniq
> so that i get the union of both ?

Unless you really need non-text symbols, kallsyms should have all the 
information you need. If you need _everything_ then you can just do 
something like (totally untested) "grep \\[ /proc/kallsyms >> 
System.map" to add the symbols from modules to the System.map.

I don't know if the tools out there will like this, though...

-- 
Paulo Marques - www.grupopie.com

The rule is perfect: in all matters of opinion our
adversaries are insane.
Mark Twain

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Creating new System.map with modules symbol info
  2005-11-08 22:37     ` Adayadil Thomas
  2005-11-09 12:21       ` Paulo Marques
@ 2005-11-09 13:09       ` linux-os (Dick Johnson)
  1 sibling, 0 replies; 10+ messages in thread
From: linux-os (Dick Johnson) @ 2005-11-09 13:09 UTC (permalink / raw)
  To: Adayadil Thomas; +Cc: Arjan van de Ven, linux-kernel


On Tue, 8 Nov 2005, Adayadil Thomas wrote:

> I am trying to use lcrash to debug a panic
>
> I have the System.map of the original kernel (without modules loaded),
> Kerntypes file and the dump file
>
>    <4>Modules linked in: ip_conntrack_dos
>    <4>CPU:    0
>    <4>EIP:    0060:[<f8bb245b>]    Tainted: P      VLI
>    <4>EFLAGS: 00010246   (2.6.12)
>    <4>EIP is at init_conntrack_syn+0x193/0x214 [ip_conntrack_dos]
>    <4>eax: dd0f34b3   ebx: f48de908   ecx: f48de900   edx: 00000000
>    <4>esi: f4c65bc8   edi: f48de900   ebp: 00100100   esp: c040dae0
>    <4>ds: 007b   es: 007b   ss: 0068
>
>
> If i Use the original System.map, it doesnt find the symbol for the
> init_conntrack_syn
> ( EIP is pointing there)
> However, kallsyms has an entry for that
> f8b752c8 t init_conntrack_syn
>
> If kallsyms has all the symbols, I am wondering why does it have lesser lines ?
>
> wc -l
> 12343 kallsyms
> 32127 System.map
>
> Will it work if I cat System.map and kallsyms together and do a sort and uniq
> so that i get the union of both ?
>

Look at the CONTENT of both files! System.map has more information.
You can execute `man nm` to find out what each of the symbol types
mean.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.13.4 on an i686 machine (5589.55 BogoMips).
Warning : 98.36% of all statistics are fiction.
.

****************************************************************
The information transmitted in this message is confidential and may be privileged.  Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited.  If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@analogic.com - and destroy all copies of this information, including any attachments, without reading or disclosing them.

Thank you.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2005-11-09 13:09 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-08 21:04 Creating new System.map with modules symbol info Adayadil Thomas
2005-11-08 21:19 ` Chris Largret
2005-11-08 21:45   ` Adayadil Thomas
2005-11-08 22:01     ` Jan-Benedict Glaw
2005-11-08 22:08     ` Chris Largret
2005-11-08 22:05 ` Arjan van de Ven
2005-11-08 22:16   ` linux-os (Dick Johnson)
2005-11-08 22:37     ` Adayadil Thomas
2005-11-09 12:21       ` Paulo Marques
2005-11-09 13:09       ` linux-os (Dick Johnson)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®