[uClinux-dev] bug of arm-elf-elf2flt?

lmc83 lmc83 at faraday.com.tw
Wed Mar 26 00:39:31 EST 2003


hi,
   When I trying gdbserver,
        server.c
            printf("before setjmp\n");
            if (setjmp(toplevel))
            {
                ...
            }
            printf("after setjmp\n");

    the resule is:
        before setjmp
        pid 618: failed 11
    
    after a while of trace, I found that the output of arm-elf-elf2flt seems a little strange,
    the result of arm-elf-objdump gdbserver.gdb -D

    00004260 <_setjmp>:
        4260: e3a01000  mov r1, #0 ; 0x0
        4264: ea000379  b 5050 <__sigsetjmp>

    00005050 <__sigsetjmp>:
        5050: e2800030  add r0, r0, #48 ; 0x30
        5054: e8806ff0  stmia r0, {r4, r5, r6, r7, r8, r9, r10, r11, sp, lr}
        5058: e2400030  sub r0, r0, #48 ; 0x30
        505c: ea000004  b 5074 <__sigjmp_save>

    however, when I check the contain of gdbserver:
        e3a01000        ==> mov r1, #0
        eb000379        ==> bl 5050

        e2800030        ==> add r0, r0, #48 ; 0x30
        e8806ff0          ==> stmia r0, {r4, r5, r6, r7, r8, r9, r10, r11, sp, lr}
        e2400030         ==> sub r0, r0, #48 ; 0x30
        eb000004         ==> bl 5074 <__sigjmp_save>

    the 'b' command in the original code is become 'bl'
    I think this maybe the reason why my gdbserver will crash.

    Does this is the bug of arm-elf-elf2flt?

    Thanks in advance for your help.

    Liang Ming-Chung
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uclinux.org/pipermail/uclinux-dev/attachments/20030326/dad07651/attachment.html>


More information about the uClinux-dev mailing list