Hi Gilles,

Thanks for your help.

Here is the disassembly of the function rt_icmp_echo_reply with the
different ABI.

Regards,

Cyril

N.B. : The following ABI I use is arm-linux- (I write arm-linux-eabi)
stack/ipv4/rtipv4.ko:     file format elf32-littlearm

0000285c <rt_icmp_echo_reply>:
    285c:       e1a0c00d        mov     ip, sp
    2860:       e92dd8f0        stmdb   sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
    2864:       e24cb004        sub     fp, ip, #4      ; 0x4
    2868:       e1a07000        mov     r7, r0
    286c:       e10f3000        mrs     r3, CPSR
    2870:       e3833080        orr     r3, r3, #128    ; 0x80
    2874:       e121f003        msr     CPSR_c, r3
    2878:       e59fc124        ldr     ip, [pc, #292]  ; 29a4 <.text+0x29a4>
    287c:       e59f2124        ldr     r2, [pc, #292]  ; 29a8 <.text+0x29a8>
    2880:       e59c1000        ldr     r1, [ip]
    2884:       e5925000        ldr     r5, [r2]
    2888:       e3813001        orr     r3, r1, #1      ; 0x1
    288c:       e1550002        cmp     r5, r2
    2890:       e58c3000        str     r3, [ip]
    2894:       e2010001        and     r0, r1, #1      ; 0x1
    2898:       0a000019        beq     2904 <rt_icmp_echo_reply+0xa8>
    289c:       e5951004        ldr     r1, [r5, #4]
    28a0:       e5952000        ldr     r2, [r5]
    28a4:       e59f3100        ldr     r3, [pc, #256]  ; 29ac <.text+0x29ac>
    28a8:       e5812000        str     r2, [r1]
    28ac:       e5853000        str     r3, [r5]
    28b0:       e59f30f8        ldr     r3, [pc, #248]  ; 29b0 <.text+0x29b0>
    28b4:       e5821004        str     r1, [r2, #4]
    28b8:       e5853004        str     r3, [r5, #4]
    28bc:       e59c3000        ldr     r3, [ip]
    28c0:       e2033001        and     r3, r3, #1      ; 0x1
    28c4:       e1500003        cmp     r0, r3
    28c8:       0a000000        beq     28d0 <rt_icmp_echo_reply+0x74>
    28cc:       ebfffffe        bl      0 <__ipipe_restore_pipeline_head>
                        28cc: R_ARM_CALL        __ipipe_restore_pipeline_head
    28d0:       e5973028        ldr     r3, [r7, #40]
    28d4:       e2856024        add     r6, r5, #36     ; 0x24
    28d8:       e3a00000        mov     r0, #0  ; 0x0
    28dc:       e593300c        ldr     r3, [r3, #12]
    28e0:       e3a01000        mov     r1, #0  ; 0x0
    28e4:       e1c602f0        strd    r0, [r6, #32]
    28e8:       e5863010        str     r3, [r6, #16]
    28ec:       e5973024        ldr     r3, [r7, #36]
    28f0:       e1d621b4        ldrh    r2, [r6, #20]
    28f4:       e1d330b4        ldrh    r3, [r3, #4]
    28f8:       e1530002        cmp     r3, r2
    28fc:       1a000024        bne     2994 <rt_icmp_echo_reply+0x138>
    2900:       ea000005        b       291c <rt_icmp_echo_reply+0xc0>
    2904:       e59c3000        ldr     r3, [ip]
    2908:       e2033001        and     r3, r3, #1      ; 0x1
    290c:       e1500003        cmp     r0, r3
    2910:       0a000022        beq     29a0 <rt_icmp_echo_reply+0x144>
    2914:       ebfffffe        bl      0 <__ipipe_restore_pipeline_head>
                        2914: R_ARM_CALL        __ipipe_restore_pipeline_head
    2918:       e89da8f0        ldmia   sp, {r4, r5, r6, r7, fp, sp, pc}
    291c:       e5973024        ldr     r3, [r7, #36]
    2920:       e1d611b6        ldrh    r1, [r6, #22]
    2924:       e1d330b6        ldrh    r3, [r3, #6]
    2928:       e1a02423        mov     r2, r3, lsr #8
    292c:       e20330ff        and     r3, r3, #255    ; 0xff
    2930:       e1822403        orr     r2, r2, r3, lsl #8
    2934:       e1520001        cmp     r2, r1
    2938:       1a000015        bne     2994 <rt_icmp_echo_reply+0x138>
    293c:       e5972044        ldr     r2, [r7, #68]
    2940:       e5963018        ldr     r3, [r6, #24]
    2944:       e1520003        cmp     r2, r3
    2948:       1a000011        bne     2994 <rt_icmp_echo_reply+0x138>
    294c:       e3520007        cmp     r2, #7  ; 0x7
    2950:       9a00000a        bls     2980 <rt_icmp_echo_reply+0x124>
    2954:       e59f3058        ldr     r3, [pc, #88]   ; 29b4 <.text+0x29b4>
    2958:       e5934000        ldr     r4, [r3]
    295c:       ebfffffe        bl      0 <xnarch_get_cpu_time>
                        295c: R_ARM_CALL        xnarch_get_cpu_time
    2960:       e1c421d8        ldrd    r2, [r4, #24]
    2964:       e597c038        ldr     ip, [r7, #56]
    2968:       e0922000        adds    r2, r2, r0
    296c:       e0a33001        adc     r3, r3, r1
    2970:       e89c0003        ldmia   ip, {r0, r1}
    2974:       e0522000        subs    r2, r2, r0
    2978:       e0c33001        sbc     r3, r3, r1
    297c:       e1c622f0        strd    r2, [r6, #32]
    2980:       e5971044        ldr     r1, [r7, #68]
    2984:       e1a00005        mov     r0, r5
    2988:       e2811008        add     r1, r1, #8      ; 0x8
    298c:       ebfffffe        bl      0 <rtnet_rtpc_complete_call>
                        298c: R_ARM_CALL        rtnet_rtpc_complete_call
    2990:       e89da8f0        ldmia   sp, {r4, r5, r6, r7, fp, sp, pc}
    2994:       e1a00005        mov     r0, r5
    2998:       e3a01000        mov     r1, #0  ; 0x0
    299c:       ebfffffe        bl      0 <rtnet_rtpc_complete_call>
                        299c: R_ARM_CALL        rtnet_rtpc_complete_call
    29a0:       e89da8f0        ldmia   sp, {r4, r5, r6, r7, fp, sp, pc}
    29a4:       00000b58        andeq   r0, r0, r8, asr fp
                        29a4: R_ARM_ABS32       per_cpu__ipipe_percpu_darray
    29a8:       00000000        andeq   r0, r0, r0
                        29a8: R_ARM_ABS32       echo_calls
    29ac:       00100100        andeqs  r0, r0, r0, lsl #2
    29b0:       00200200        eoreq   r0, r0, r0, lsl #4
    29b4:       00000000        andeq   r0, r0, r0
                        29b4: R_ARM_ABS32       rtdm_tbase
Disassembly of section .init.text:

rtipv4.ko:     file format elf32-littlearm

Disassembly of section .text:


00002714 <rt_icmp_echo_reply>:
    2714:       e1a0c00d        mov     ip, sp
    2718:       e92ddff0        push    {r4, r5, r6, r7, r8, r9, sl, fp, ip, 
lr, pc}
    271c:       e24cb004        sub     fp, ip, #4      ; 0x4
    2720:       e24dd004        sub     sp, sp, #4      ; 0x4
    2724:       e1a09000        mov     r9, r0
    2728:       e10f3000        mrs     r3, CPSR
    272c:       e3833080        orr     r3, r3, #128    ; 0x80
    2730:       e121f003        msr     CPSR_c, r3
    2734:       e59fc154        ldr     ip, [pc, #340]  ; 2890 
<rt_icmp_echo_reply+0x17c>
    2738:       e59f2154        ldr     r2, [pc, #340]  ; 2894 
<rt_icmp_echo_reply+0x180>
    273c:       e59c1000        ldr     r1, [ip]
    2740:       e5928000        ldr     r8, [r2]
    2744:       e3813001        orr     r3, r1, #1      ; 0x1
    2748:       e1580002        cmp     r8, r2
    274c:       e58c3000        str     r3, [ip]
    2750:       e2010001        and     r0, r1, #1      ; 0x1
    2754:       0a000019        beq     27c0 <rt_icmp_echo_reply+0xac>
    2758:       e5981004        ldr     r1, [r8, #4]
    275c:       e5982000        ldr     r2, [r8]
    2760:       e59f3130        ldr     r3, [pc, #304]  ; 2898 
<rt_icmp_echo_reply+0x184>
    2764:       e5812000        str     r2, [r1]
    2768:       e5883000        str     r3, [r8]
    276c:       e59f3128        ldr     r3, [pc, #296]  ; 289c 
<rt_icmp_echo_reply+0x188>
    2770:       e5821004        str     r1, [r2, #4]
    2774:       e5883004        str     r3, [r8, #4]
    2778:       e59c3000        ldr     r3, [ip]
    277c:       e2033001        and     r3, r3, #1      ; 0x1
    2780:       e1500003        cmp     r0, r3
    2784:       1bfffffe        blne    0 <__ipipe_restore_pipeline_head>
                        2784: R_ARM_PC24        __ipipe_restore_pipeline_head
    2788:       e5993028        ldr     r3, [r9, #40]
    278c:       e288a024        add     sl, r8, #36     ; 0x24
    2790:       e593200c        ldr     r2, [r3, #12]
    2794:       e3a04000        mov     r4, #0  ; 0x0
    2798:       e3a03000        mov     r3, #0  ; 0x0
    279c:       e58a3020        str     r3, [sl, #32]
    27a0:       e58a4024        str     r4, [sl, #36]
    27a4:       e58a2010        str     r2, [sl, #16]
    27a8:       e5993024        ldr     r3, [r9, #36]
    27ac:       e1da21b4        ldrh    r2, [sl, #20]
    27b0:       e1d330b4        ldrh    r3, [r3, #4]
    27b4:       e1530002        cmp     r3, r2
    27b8:       1a000030        bne     2880 <rt_icmp_echo_reply+0x16c>
    27bc:       ea000005        b       27d8 <rt_icmp_echo_reply+0xc4>
    27c0:       e59c3000        ldr     r3, [ip]
    27c4:       e2033001        and     r3, r3, #1      ; 0x1
    27c8:       e1500003        cmp     r0, r3
    27cc:       089daff8        ldmeq   sp, {r3, r4, r5, r6, r7, r8, r9, sl, 
fp, sp, pc}
    27d0:       ebfffffe        bl      0 <__ipipe_restore_pipeline_head>
                        27d0: R_ARM_PC24        __ipipe_restore_pipeline_head
    27d4:       e89daff8        ldm     sp, {r3, r4, r5, r6, r7, r8, r9, sl, 
fp, sp, pc}
    27d8:       e5993024        ldr     r3, [r9, #36]
    27dc:       e1da11b6        ldrh    r1, [sl, #22]
    27e0:       e1d320b6        ldrh    r2, [r3, #6]
    27e4:       e20230ff        and     r3, r2, #255    ; 0xff
    27e8:       e1a03403        lsl     r3, r3, #8
    27ec:       e1833422        orr     r3, r3, r2, lsr #8
    27f0:       e1530001        cmp     r3, r1
    27f4:       1a000021        bne     2880 <rt_icmp_echo_reply+0x16c>
    27f8:       e5992044        ldr     r2, [r9, #68]
    27fc:       e59a3018        ldr     r3, [sl, #24]
    2800:       e1520003        cmp     r2, r3
    2804:       1a00001d        bne     2880 <rt_icmp_echo_reply+0x16c>
    2808:       e3520007        cmp     r2, #7  ; 0x7
    280c:       9a000017        bls     2870 <rt_icmp_echo_reply+0x15c>
    2810:       e59f3088        ldr     r3, [pc, #136]  ; 28a0 
<rt_icmp_echo_reply+0x18c>
    2814:       e5934000        ldr     r4, [r3]
    2818:       e59f3084        ldr     r3, [pc, #132]  ; 28a4 
<rt_icmp_echo_reply+0x190>
    281c:       e1540003        cmp     r4, r3
    2820:       12846008        addne   r6, r4, #8      ; 0x8
    2824:       189600c0        ldmne   r6, {r6, r7}
    2828:       1a000002        bne     2838 <rt_icmp_echo_reply+0x124>
    282c:       ebfffffe        bl      0 <xnarch_get_cpu_time>
                        282c: R_ARM_PC24        xnarch_get_cpu_time
    2830:       e1a06000        mov     r6, r0
    2834:       e1a07001        mov     r7, r1
    2838:       e5945020        ldr     r5, [r4, #32]
    283c:       e2841018        add     r1, r4, #24     ; 0x18
    2840:       e8910006        ldm     r1, {r1, r2}
    2844:       e0911006        adds    r1, r1, r6
    2848:       e3a06000        mov     r6, #0  ; 0x0
    284c:       e0843591        umull   r3, r4, r1, r5
    2850:       e0a22007        adc     r2, r2, r7
    2854:       e0244295        mla     r4, r5, r2, r4
    2858:       e5992038        ldr     r2, [r9, #56]
    285c:       e8920006        ldm     r2, {r1, r2}
    2860:       e0533001        subs    r3, r3, r1
    2864:       e0c44002        sbc     r4, r4, r2
    2868:       e58a3020        str     r3, [sl, #32]
    286c:       e58a4024        str     r4, [sl, #36]
    2870:       e5991044        ldr     r1, [r9, #68]
    2874:       e1a00008        mov     r0, r8
    2878:       e2811008        add     r1, r1, #8      ; 0x8
    287c:       ea000001        b       2888 <rt_icmp_echo_reply+0x174>
    2880:       e1a00008        mov     r0, r8
    2884:       e3a01000        mov     r1, #0  ; 0x0
    2888:       ebfffffe        bl      0 <rtnet_rtpc_complete_call>
                        2888: R_ARM_PC24        rtnet_rtpc_complete_call
    288c:       e89daff8        ldm     sp, {r3, r4, r5, r6, r7, r8, r9, sl, 
fp, sp, pc}
    2890:       00000cf0        .word   0x00000cf0
                        2890: R_ARM_ABS32       per_cpu__ipipe_percpu_darray
    2894:       00000000        .word   0x00000000
                        2894: R_ARM_ABS32       echo_calls
    2898:       00100100        .word   0x00100100
    289c:       00200200        .word   0x00200200
        ...
                        28a0: R_ARM_ABS32       rtdm_tbase
                        28a4: R_ARM_ABS32       nktbase
Disassembly of section .init.text:

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to