2012/2/29 Oscar Dávila <[email protected]>

>
> 2012/2/25 Gilles Chanteperdrix <[email protected]>
>
>> On 02/24/2012 11:55 PM, Oscar Dávila wrote:
>> > 2012/2/23 Gilles Chanteperdrix <[email protected]>
>> >
>> >> On 02/23/2012 11:43 PM, Oscar Dávila wrote:
>> >>> 2012/2/14 Gilles Chanteperdrix <[email protected]>
>> >>>
>> >>>> On 02/14/2012 06:54 PM, Oscar Dávila wrote:
>> >>>>> I compiled Xenomai succesfully, but when i try to run an example it
>> >>>> freezes
>> >>>>> / machine look up, any help will be apreciated, thanks.
>> >>>>>
>> >>>>> Here is some info about the system, its a Debian 6.0 with a
>> >>>>> kernel 2.6.35.9, xenomai-2.6.0, the adeos
>> >>>>> patch adeos-ipipe-2.6.35.9-x86-2.8-04.patch and Im also using the
>> >>>>> nmi_watchdog=2 in the boot kernel options.
>> >>>>
>> >>>> Please reproduce the bug:
>> >>>> - in text mode, so as to have the full bug trace;
>> >>>> - with frame pointers enabled;
>> >>>> - with highest kernel verbosity for BUGs and backtraces.
>> >>>>
>> >>>
>> >>> How do i do this last point? i mean, i already compile kernel with
>> frame
>> >>> pointers enabled, also i already ran it in text mode, and i active all
>> >> the
>> >>> xenomai debug kernel options. i saw some other debug options in kernel
>> >>> hacking, do i have to active those ones too?
>> >>
>> >> The stack trace looks fine. Could you show us the disassembly of the
>> >> __ipipe_sync_stage function?
>> >>
>> >>
>> > Here is what i think is the disassembly of the __ipipe_sync_stage
>> function,
>> > the full disassembly of the core.c file is in
>> > http://odavilar.0x1fee3.org/xenomai/__ipipe_sync_stage
>>
>> Please obtain the disassembly with objdump -d vmlinx, so that we get the
>> addresses corresponding with the instructions. Without the addresses, we
>> do not know where to look.
>>
>
> I need some help here, i've already dump the vmlinux image, but i get the
> asm with addresses but without the source so i don't know how to get the
> __ipipe_sync_stage function, y tried objdump -S vmlinux but didnt worked,
> do i have to check an option in the .config of the kernel to be able to get
> the source?
>
>
> Thanks again.
>
>
Finally i could get the dump


post-prompt
No breakpoints or watchpoints.

breakpoints-table-end

post-prompt
Dump of assembler code for function __ipipe_sync_stage:
0xc106d376 <__ipipe_sync_stage+0>:      push   %ebp
0xc106d377 <__ipipe_sync_stage+1>:      mov    %esp,%ebp
0xc106d379 <__ipipe_sync_stage+3>:      push   %edi
0xc106d37a <__ipipe_sync_stage+4>:      push   %esi
0xc106d37b <__ipipe_sync_stage+5>:      push   %ebx
0xc106d37c <__ipipe_sync_stage+6>:      sub    $0x28,%esp
0xc106d37f <__ipipe_sync_stage+9>:      mov    $0xc1439694,%edx
0xc106d384 <__ipipe_sync_stage+14>:     mov    %fs:0xc1432f14,%eax
0xc106d38a <__ipipe_sync_stage+20>:     mov    (%eax,%edx,1),%esi
0xc106d38d <__ipipe_sync_stage+23>:     mov    $0xc1433cf4,%edx
0xc106d392 <__ipipe_sync_stage+28>:     add    %edx,%eax
0xc106d394 <__ipipe_sync_stage+30>:     imul   $0x1668,(%esi),%ecx
0xc106d39a <__ipipe_sync_stage+36>:     add    %ecx,%eax
0xc106d39c <__ipipe_sync_stage+38>:     btsl   $0x0,(%eax)
0xc106d3a0 <__ipipe_sync_stage+42>:     lea    0x4(%esi),%ecx
0xc106d3a3 <__ipipe_sync_stage+45>:     mov    %ecx,-0x20(%ebp)
0xc106d3a6 <__ipipe_sync_stage+48>:     mov    $0xc143302c,%ebx
0xc106d3ab <__ipipe_sync_stage+53>:     mov    %ebx,-0x10(%ebp)
0xc106d3ae <__ipipe_sync_stage+56>:     mov    %edx,-0x28(%ebp)
0xc106d3b1 <__ipipe_sync_stage+59>:     lea    0x10(%eax),%edx
0xc106d3b4 <__ipipe_sync_stage+62>:     mov    %edx,-0x14(%ebp)
0xc106d3b7 <__ipipe_sync_stage+65>:     lea    0x8(%eax),%ecx
0xc106d3ba <__ipipe_sync_stage+68>:     mov    %ecx,-0x18(%ebp)
0xc106d3bd <__ipipe_sync_stage+71>:     lea    0x4(%eax),%ebx
0xc106d3c0 <__ipipe_sync_stage+74>:     mov    %ebx,-0x1c(%ebp)
0xc106d3c3 <__ipipe_sync_stage+77>:     mov    %esi,-0x30(%ebp)
0xc106d3c6 <__ipipe_sync_stage+80>:     mov    0x4(%eax),%edx
0xc106d3c9 <__ipipe_sync_stage+83>:     test   %edx,%edx
0xc106d3cb <__ipipe_sync_stage+85>:     je     0xc106d51b 
<__ipipe_sync_stage+421>
0xc106d3d1 <__ipipe_sync_stage+91>:     bsr    %edx,%edx
0xc106d3d4 <__ipipe_sync_stage+94>:     mov    0x8(%eax,%edx,4),%ecx
0xc106d3d8 <__ipipe_sync_stage+98>:     test   %ecx,%ecx
0xc106d3da <__ipipe_sync_stage+100>:    je     0xc106d51b 
<__ipipe_sync_stage+421>
0xc106d3e0 <__ipipe_sync_stage+106>:    bsr    %ecx,%ecx
0xc106d3e3 <__ipipe_sync_stage+109>:    mov    %edx,%ebx
0xc106d3e5 <__ipipe_sync_stage+111>:    shl    $0x5,%ebx
0xc106d3e8 <__ipipe_sync_stage+114>:    add    %ebx,%ecx
0xc106d3ea <__ipipe_sync_stage+116>:    lea    0x4(%ecx),%edi
0xc106d3ed <__ipipe_sync_stage+119>:    mov    (%eax,%edi,4),%ebx
0xc106d3f0 <__ipipe_sync_stage+122>:    test   %ebx,%ebx
0xc106d3f2 <__ipipe_sync_stage+124>:    je     0xc106d51b 
<__ipipe_sync_stage+421>
0xc106d3f8 <__ipipe_sync_stage+130>:    bsr    %ebx,%esi
0xc106d3fb <__ipipe_sync_stage+133>:    mov    %ecx,%ebx
0xc106d3fd <__ipipe_sync_stage+135>:    shl    $0x5,%ebx
0xc106d400 <__ipipe_sync_stage+138>:    mov    %ebx,-0x24(%ebp)
0xc106d403 <__ipipe_sync_stage+141>:    mov    -0x24(%ebp),%ebx
0xc106d406 <__ipipe_sync_stage+144>:    add    %esi,%ebx
0xc106d408 <__ipipe_sync_stage+146>:    mov    -0x14(%ebp),%esi
0xc106d40b <__ipipe_sync_stage+149>:    btr    %ebx,(%esi)
0xc106d40e <__ipipe_sync_stage+152>:    cmpl   $0x0,(%eax,%edi,4)
0xc106d412 <__ipipe_sync_stage+156>:    jne    0xc106d427 
<__ipipe_sync_stage+177>
0xc106d414 <__ipipe_sync_stage+158>:    mov    -0x18(%ebp),%esi
0xc106d417 <__ipipe_sync_stage+161>:    btr    %ecx,(%esi)
0xc106d41a <__ipipe_sync_stage+164>:    cmpl   $0x0,0x8(%eax,%edx,4)
0xc106d41f <__ipipe_sync_stage+169>:    jne    0xc106d427 
<__ipipe_sync_stage+177>
0xc106d421 <__ipipe_sync_stage+171>:    mov    -0x1c(%ebp),%ecx
0xc106d424 <__ipipe_sync_stage+174>:    btr    %edx,(%ecx)
0xc106d427 <__ipipe_sync_stage+177>:    test   %ebx,%ebx
0xc106d429 <__ipipe_sync_stage+179>:    js     0xc106d51b 
<__ipipe_sync_stage+421>
0xc106d42f <__ipipe_sync_stage+185>:    lea    0x2(%ebx),%edx
0xc106d432 <__ipipe_sync_stage+188>:    shl    $0x7,%edx
0xc106d435 <__ipipe_sync_stage+191>:    mov    -0x30(%ebp),%esi
0xc106d438 <__ipipe_sync_stage+194>:    testb  $0x20,(%esi,%edx,1)
0xc106d43c <__ipipe_sync_stage+198>:    jne    0xc106d3c6 
<__ipipe_sync_stage+80>
0xc106d43e <__ipipe_sync_stage+200>:    mov    -0x20(%ebp),%eax
0xc106d441 <__ipipe_sync_stage+203>:    cmp    0xc13c6fd0,%eax
0xc106d447 <__ipipe_sync_stage+209>:    je     0xc106d44a 
<__ipipe_sync_stage+212>
0xc106d449 <__ipipe_sync_stage+211>:    sti
0xc106d44a <__ipipe_sync_stage+212>:    cmp    $0xc150c080,%esi
0xc106d450 <__ipipe_sync_stage+218>:    je     0xc106d468 
<__ipipe_sync_stage+242>
0xc106d452 <__ipipe_sync_stage+220>:    lea    0x2(%ebx),%ecx
0xc106d455 <__ipipe_sync_stage+223>:    shl    $0x7,%ecx
0xc106d458 <__ipipe_sync_stage+226>:    mov    0xc(%ecx,%esi,1),%edx
0xc106d45c <__ipipe_sync_stage+230>:    mov    %ebx,%eax
0xc106d45e <__ipipe_sync_stage+232>:    call   *0x8(%esi,%ecx,1)
0xc106d462 <__ipipe_sync_stage+236>:    cli
0xc106d463 <__ipipe_sync_stage+237>:    jmp    0xc106d4f9 
<__ipipe_sync_stage+387>
0xc106d468 <__ipipe_sync_stage+242>:    lea    -0x520(%ebx),%eax
0xc106d46e <__ipipe_sync_stage+248>:    cmp    $0x1f,%eax
0xc106d471 <__ipipe_sync_stage+251>:    lea    0x2(%ebx),%edi
0xc106d474 <__ipipe_sync_stage+254>:    ja     0xc106d4a9 
<__ipipe_sync_stage+307>
0xc106d476 <__ipipe_sync_stage+256>:    call   0xc102d215 <irq_enter>
0xc106d47b <__ipipe_sync_stage+261>:    mov    %edi,%ecx
0xc106d47d <__ipipe_sync_stage+263>:    shl    $0x7,%ecx
0xc106d480 <__ipipe_sync_stage+266>:    mov    -0x3eaf3f74(%ecx),%edx
0xc106d486 <__ipipe_sync_stage+272>:    mov    %ebx,%eax
0xc106d488 <__ipipe_sync_stage+274>:    call   *-0x3eaf3f78(%ecx)
0xc106d48e <__ipipe_sync_stage+280>:    call   0xc102d523 <irq_exit>
0xc106d493 <__ipipe_sync_stage+285>:    cli
0xc106d494 <__ipipe_sync_stage+286>:    mov    %esp,%eax
0xc106d496 <__ipipe_sync_stage+288>:    and    $0xffffe000,%eax
0xc106d49b <__ipipe_sync_stage+293>:    cmpl   $0x0,0x14(%eax)
0xc106d49f <__ipipe_sync_stage+297>:    jne    0xc106d4f9 
<__ipipe_sync_stage+387>
0xc106d4a1 <__ipipe_sync_stage+299>:    testb  $0x8,0x8(%eax)
0xc106d4a5 <__ipipe_sync_stage+303>:    je     0xc106d4f9 
<__ipipe_sync_stage+387>
0xc106d4a7 <__ipipe_sync_stage+305>:    jmp    0xc106d4a1 
<__ipipe_sync_stage+299>
0xc106d4a9 <__ipipe_sync_stage+307>:    shl    $0x7,%edi
0xc106d4ac <__ipipe_sync_stage+310>:    mov    -0x3eaf3f78(%edi),%edx
0xc106d4b2 <__ipipe_sync_stage+316>:    mov    %fs:0xc1432f14,%edi
0xc106d4b9 <__ipipe_sync_stage+323>:    add    -0x10(%ebp),%edi
0xc106d4bc <__ipipe_sync_stage+326>:    mov    %ebx,%eax
0xc106d4be <__ipipe_sync_stage+328>:    mov    %edx,-0x2c(%ebp)
0xc106d4c1 <__ipipe_sync_stage+331>:    call   0xc10145c3
<__ipipe_get_ioapic_irq_vector>
0xc106d4c6 <__ipipe_sync_stage+336>:    not    %eax
0xc106d4c8 <__ipipe_sync_stage+338>:    mov    %eax,0x2c(%edi)
0xc106d4cb <__ipipe_sync_stage+341>:    mov    %ebx,%eax
0xc106d4cd <__ipipe_sync_stage+343>:    not    %eax
0xc106d4cf <__ipipe_sync_stage+345>:    mov    -0x2c(%ebp),%edx
0xc106d4d2 <__ipipe_sync_stage+348>:    pushf
0xc106d4d3 <__ipipe_sync_stage+349>:    orl    $0x200,(%esp)
0xc106d4da <__ipipe_sync_stage+356>:    push   %cs
0xc106d4db <__ipipe_sync_stage+357>:    push   $0xc106d4f7
0xc106d4e0 <__ipipe_sync_stage+362>:    push   %eax
0xc106d4e1 <__ipipe_sync_stage+363>:    push   %gs
0xc106d4e3 <__ipipe_sync_stage+365>:    push   %fs
0xc106d4e5 <__ipipe_sync_stage+367>:    push   %es
0xc106d4e6 <__ipipe_sync_stage+368>:    push   %ds
0xc106d4e7 <__ipipe_sync_stage+369>:    push   %eax
0xc106d4e8 <__ipipe_sync_stage+370>:    push   %ebp
0xc106d4e9 <__ipipe_sync_stage+371>:    push   %edi
0xc106d4ea <__ipipe_sync_stage+372>:    push   %esi
0xc106d4eb <__ipipe_sync_stage+373>:    push   %edx
0xc106d4ec <__ipipe_sync_stage+374>:    push   %ecx
0xc106d4ed <__ipipe_sync_stage+375>:    push   %ebx
0xc106d4ee <__ipipe_sync_stage+376>:    mov    %edi,%eax
0xc106d4f0 <__ipipe_sync_stage+378>:    call   *%edx
0xc106d4f2 <__ipipe_sync_stage+380>:    jmp    0xc1269fd8
0xc106d4f7 <__ipipe_sync_stage+385>:    cli
0xc106d4f8 <__ipipe_sync_stage+386>:    cli
0xc106d4f9 <__ipipe_sync_stage+387>:    mov    %fs:0xc1432f14,%ecx
0xc106d500 <__ipipe_sync_stage+394>:    mov    $0xc1439694,%edx
0xc106d505 <__ipipe_sync_stage+399>:    mov    -0x28(%ebp),%ebx
0xc106d508 <__ipipe_sync_stage+402>:    lea    (%ecx,%ebx,1),%eax
0xc106d50b <__ipipe_sync_stage+405>:    mov    (%ecx,%edx,1),%edx
0xc106d50e <__ipipe_sync_stage+408>:    imul   $0x1668,(%edx),%edx
0xc106d514 <__ipipe_sync_stage+414>:    add    %edx,%eax
0xc106d516 <__ipipe_sync_stage+416>:    jmp    0xc106d3b1 
<__ipipe_sync_stage+59>
0xc106d51b <__ipipe_sync_stage+421>:    btrl   $0x0,(%eax)
0xc106d51f <__ipipe_sync_stage+425>:    add    $0x28,%esp
0xc106d522 <__ipipe_sync_stage+428>:    pop    %ebx
0xc106d523 <__ipipe_sync_stage+429>:    pop    %esi
0xc106d524 <__ipipe_sync_stage+430>:    pop    %edi
0xc106d525 <__ipipe_sync_stage+431>:    pop    %ebp
0xc106d526 <__ipipe_sync_stage+432>:    ret
End of assembler dump.

post-prompt
No breakpoints or watchpoints.


breakpoints-table-end

Thanks again!

-- 
Atentamente:
Oscar Dávila Ramírez
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to