[Crash-utility] Identifying structures related to memory , semaphores using crash utility

ram ba ahobalram at yahoo.com
Tue Dec 12 09:58:27 UTC 2006


Hi Rachita,
          I am referring to the second column of sym -l command output. From sym -l command we get the information about symbol types.As you have specified the same information is present in system.map file as well. Since the output of command " nm <vmlinux file>" is placed in system.map file, I checked the man page of "nm" and got to know the symbol types. 
       I came to know that types t,T (present in the second column of sym -l command) represent symbols that are located in text segment. Explanation about other data types are also given. I wanted to know whether only functions can reside in text segment or any other variables reside as well. If only functions reside in Text segment, it would be easy to identify the symbols that are functions. And I can easily segregate them from other symbols. So I thought this may help us to identify whether a given symbol name is function or not. I hope you can provide a better insight to this. 
         As you and Dave had suggested I tried using gdb info command. But it is consuming lot of time. Including that in my script would slow down the entire code. It doesn't suit my need either. 
          If you know any other method (need not be crash utility) to identify the symbol definitions, please let me know.
  Thanks,
  Ramya
Rachita Kothiyal <rachita at in.ibm.com> wrote:
  On Mon, Dec 11, 2006 at 08:19:32PM -0800, ram ba wrote:
> Hi Dave,
> I am thankful to you for your immediate response. Since we know that symbols can be either structures, arrays, ordinary variables or functions, I want to fetch the values of only those symbols that are structures. Well when we execute sym -l command, we get the second field as symbol type as shown below.
> 
> ffffffff80107000 (T) level3_physmem_pgt
> ffffffff80108000 (t) rest_init
> .....
> ffffffff80333000 (D) cpu_gdt_table
> ffffffff80333080 (d) gdt_end
> .....
> ffffffff802d93a0 (A) __stop___ex_table
> ffffffff802da000 (A) __start_rodata
> ffffffff802da000 (R) linux_banner
> ffffffff802da0c0 (r) p.13105
> ffffffff802da100 (r) border
> 
> I wanted to ensure whether we can use this information to identify whether a given symbol is a structure or a function or an ordinary variable.( can i assume that all symbols present in text segment are functions?)

Hi Ramya

I dont see how one could determine whether a symbol is a structure or not
just by looking at the sym -l output. This is the same information one can
get from the System.map file. Probably one way could be to query 'gdb' for
each of these symbols for their symbol type, as Dave had mentioned.

Thanks
Rachita

--
Crash-utility mailing list
Crash-utility at redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility




 
---------------------------------
Have a burning question? Go to Yahoo! Answers and get answers from real people who know.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20061212/aac5df90/attachment.htm>


More information about the Crash-utility mailing list