[Crash-utility] resolve symbols: sial.so vs eppic.so

Luc Chouinard LChouinard at s2sys.com
Thu Sep 6 13:01:02 UTC 2012


Eppic now resolves symbols to their real typed instances directly.
No need to know and cast from symbol address anymore.
For backward compatibility, you can define environment variable 

> -----Original Message-----
> From: Sebastian Ott [mailto:sebott at linux.vnet.ibm.com]
> Sent: Thursday, September 06, 2012 6:50 AM
> To: Luc Chouinard; Dave Anderson
> Cc: crash-utility at redhat.com; holzheu at linux.vnet.ibm.com
> Subject: resolve symbols: sial.so vs eppic.so
> 
> The way symbols are resolved in sial scripts is different between
sial.so and
> eppic.so. A symbol resolves to the address of the symbol using sial.so
and to the
> memory content using eppic.so.
> 
> In crash 6.0.9 I got e.g.:
> 
> crash> sym dev_kobj
> 979138 (b) dev_kobj
> crash> rd dev_kobj
>           979138:  0000000174c9aac0                    ....t...
> crash> dev_kobj
> dev_kobj = $3 = (struct kobject *) 0x174c9aac0
> 
> Using a sial script:
> 
> crash> !cat foo.sial
> string foo_help()  { return ""; }
> string foo_opt()   { return ""; }
> string foo_usage() { return ""; }
> 
> int foo()
> {
>   printf("0x%x\n", dev_kobj);
> 
>   return 1;
> }
> 
> ./eppic.so: shared object loaded
> crash> load foo.sial
> crash> foo
> 0x74c9aac0
> 
> ./sial.so: shared object loaded
> crash> load foo.sial
> crash> foo
> 0x979138
> 
> Is this an intentional change or a bug?
> 
> Regards,
> Sebastian





More information about the Crash-utility mailing list