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