Understanding disassembly x86 + understanding function call + parameter pass and stack frame
nidhi mittal hada
nidhimittal19 at gmail.com
Tue Aug 13 08:17:56 EDT 2013
On Mon, Aug 12, 2013 at 8:37 PM, amit mehta <gmate.amit at gmail.com> wrote:
> On Mon, Aug 12, 2013 at 5:28 PM, nidhi mittal hada
> <nidhimittal19 at gmail.com> wrote:
> > Questions:-
> > 1)Which memory address in stack contains struct super_block *s
> > 2)how does disassembly helps in knowing which register contain the struct
> > super_block *s
> > 3)bt -f gives highlighted above, register dump at the end, does that
> help in
> > finding this information ???
>
> Have you *actually* spent your time on reading the AMD 64ABI [1] ?
> Also there is a very nice and concise document available on x86_64
> assembly [2]. While trying to analyse kernel crash dump using 'crash',
> utility you might want to refer this page [1] and this blog [4] as well.
>
> [1] http://www.uclibc.org/docs/psABI-x86_64.pdf
> [2] www.cs.cmu.edu/~fp/courses/15213-s07/misc/asm64-handout.pdf
> [3] http://people.redhat.com/~anderson/
> [4] http://www.sungju.org/?p=1166
>
> !!amit
>
*Thats my system on which ran crash tool*
[nidhi at raw ~]$ uname -a
Linux raw.ind.hp.com 2.6.32-220.el6.hpsp16k1.x86_64 #1 SMP Mon Nov 19
17:07:07 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
*thats the information of coredump file:-*
KERNEL: vmlinux
DUMPFILE: vmcore.1 [PARTIAL DUMP]
CPUS: 8
DATE: Mon Jun 11 09:10:59 2012
UPTIME: 13 days, 22:39:30
LOAD AVERAGE: 83.88, 62.23, 30.30
TASKS: 393
NODENAME: million.ind.hp.com
RELEASE: 2.6.32-220.el6.hpsp16k1.x86_64
VERSION: #1 SMP Mon Nov 19 17:07:07 UTC 2012
MACHINE: x86_64 (2132 Mhz)
MEMORY: 96 GB
PANIC: "Kernel panic - not syncing: Watchdog detected hard LOCKUP on
cpu 4"
PID: 26715
COMMAND: "mount.*******"
TASK: ffff8817dd4de0c0 [THREAD_INFO: ffff8802c3f80000]
CPU: 4
STATE: TASK_UNINTERRUPTIBLE (PANIC)
Thank you very very much .. *It was so helpful what Tobias and amit
explained.*
I actually skipped AMD64 ABI considering its for AMD architecture and mine
was
x86_64 .. my mistake !!
i read from wikipedia x86 calling convention link.
What i read was that all function arguments should be on stack .. thats
where i was wrong....!!!
I read that on x86_64 arg are pushed from right to left ..which also seems
wrong now..
Now i m finding AMD 64ABI is the thing to be read for understanding this
crash output.
Thanks a lottt
Nidhi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130813/a27674f6/attachment.html
More information about the Kernelnewbies
mailing list