From: Gary Thomas <gary@mlbassoc.com>
To: Khem Raj <raj.khem@gmail.com>
Cc: Poky Project <poky@yoctoproject.org>
Subject: Re: Bad ARM code with GCC 4.7.1
Date: Thu, 10 May 2012 11:08:08 -0600 [thread overview]
Message-ID: <4FABF5F8.3070207@mlbassoc.com> (raw)
In-Reply-To: <CAMKF1sqUt4QrNh9ff0ZERDCttdUSams-wUcOR4e4hDs+7z-Txw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 985 bytes --]
On 2012-05-10 10:30, Khem Raj wrote:
> On Thu, May 10, 2012 at 9:17 AM, Gary Thomas<gary@mlbassoc.com> wrote:
>>
>> My board is DM3730, much like a BeagleBoard
>> ARM architecture: armv7a
>> Linux kernel 3.0
>
> hmmm that should be able to handle alignment faults in hardware
>
>>
>>
>>>
>>> gcc generate unaligned accesses by default
>>>
>>> Does adding -mno-unaligned-access to cflags help ?
>>
>>
>> I'll check.
Using -mno-unaligned-access fixes this problem, but the kernel just dies a bit
later on (kernel 3.0 + gcc 4.7.1 == bad owies...)
>
> Its not entirely clear whats going on so post the complete function disassembly
> so further context can be seen as well.
Code dump attached - first with /m, then with /r
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
[-- Attachment #2: disas.out --]
[-- Type: text/plain, Size: 19377 bytes --]
Dump of assembler code for function pcpu_dump_alloc_info:
1083 {
0xc03fb7dc <+4>: push {r4, r5, r6, r7, r8, r9, r10, r11, lr}
0xc03fb7e0 <+8>: sub sp, sp, #60 ; 0x3c
0xc03fb7e8 <+16>: str r0, [sp, #28]
0xc03fb7f8 <+32>: mov r4, r1
1084 int group_width = 1, cpu_width = 1, width;
0xc03fb808 <+48>: mov r7, #1
0xc03fb828 <+80>: mov r6, #1
1085 char empty_str[] = "--------";
0xc03fb7d8 <+0>: ldr r3, [pc, #552] ; 0xc03fba08 <pcpu_dump_alloc_info+560>
0xc03fb7e4 <+12>: ldr r2, [r3]
0xc03fb7ec <+20>: str r2, [sp, #47] ; 0x2f
0xc03fb7f0 <+24>: ldr r2, [r3, #4]
0xc03fb7f4 <+28>: ldrb r3, [r3, #8]
0xc03fb7fc <+36>: str r2, [sp, #51] ; 0x33
0xc03fb800 <+40>: strb r3, [sp, #55] ; 0x37
1086 int alloc = 0, alloc_end = 0;
0xc03fb8e0 <+264>: mov r8, r5
0xc03fb8f0 <+280>: str r5, [sp, #24]
1087 int group, v;
1088 int upa, apl; /* units per alloc, allocs per line */
1089
1090 v = ai->nr_groups;
0xc03fb804 <+44>: ldr r0, [r1, #28]
1091 while (v /= 10)
0xc03fb80c <+52>: b 0xc03fb814 <pcpu_dump_alloc_info+60>
0xc03fb814 <+60>: mov r1, #10
0xc03fb818 <+64>: bl 0xc02386b8 <__divsi3>
0xc03fb81c <+68>: cmp r0, #0
0xc03fb820 <+72>: bne 0xc03fb810 <pcpu_dump_alloc_info+56>
1092 group_width++;
0xc03fb810 <+56>: add r7, r7, #1
1093
1094 v = num_possible_cpus();
1095 while (v /= 10)
0xc03fb840 <+104>: b 0xc03fb848 <pcpu_dump_alloc_info+112>
0xc03fb848 <+112>: mov r0, r5
0xc03fb84c <+116>: mov r1, #10
0xc03fb850 <+120>: bl 0xc02386b8 <__divsi3>
0xc03fb854 <+124>: subs r5, r0, #0
0xc03fb858 <+128>: bne 0xc03fb844 <pcpu_dump_alloc_info+108>
1096 cpu_width++;
0xc03fb844 <+108>: add r6, r6, #1
1097 empty_str[min_t(int, cpu_width, sizeof(empty_str) - 1)] = '\0';
0xc03fb85c <+132>: add r1, sp, #56 ; 0x38
0xc03fb860 <+136>: cmp r6, #8
0xc03fb864 <+140>: movlt r3, r6
0xc03fb868 <+144>: movge r3, #8
0xc03fb86c <+148>: add r3, r1, r3
0xc03fb878 <+160>: strb r5, [r3, #-9]
1098
1099 upa = ai->alloc_size / ai->unit_size;
0xc03fb870 <+152>: ldr r9, [r4, #20]
0xc03fb874 <+156>: ldr r11, [r4, #12]
0xc03fb87c <+164>: mov r1, r11
0xc03fb880 <+168>: mov r0, r9
0xc03fb884 <+172>: bl 0xc023857c <__udivsi3>
0xc03fb890 <+184>: mov r10, r0
1100 width = upa * (cpu_width + 1) + group_width + 3;
0xc03fb888 <+176>: add r1, r6, #1
0xc03fb88c <+180>: mla r1, r1, r0, r7
1101 apl = rounddown_pow_of_two(max(60 / width, 1));
0xc03fb894 <+188>: add r1, r1, #3
0xc03fb898 <+192>: mov r0, #60 ; 0x3c
0xc03fb89c <+196>: bl 0xc02386b8 <__divsi3>
0xc03fb8ac <+212>: cmp r0, #1
0xc03fb8b0 <+216>: movlt r0, #1
1102
1103 printk("%spcpu-alloc: s%zu r%zu d%zu u%zu alloc=%zu*%zu",
0xc03fb8a8 <+208>: mov r1, r8
0xc03fb8bc <+228>: mov r0, r9
0xc03fb8c4 <+236>: ldr r3, [r4, #8]
0xc03fb8cc <+244>: stm sp, {r3, r11}
0xc03fb8d0 <+248>: bl 0xc023857c <__udivsi3>
0xc03fb8d4 <+252>: str r8, [sp, #12]
0xc03fb8d8 <+256>: ldr r1, [sp, #28]
0xc03fb8dc <+260>: ldm r4, {r2, r3}
0xc03fb8e4 <+268>: str r0, [sp, #8]
0xc03fb8e8 <+272>: ldr r0, [pc, #288] ; 0xc03fba10 <pcpu_dump_alloc_info+568>
0xc03fb8ec <+276>: bl 0xc03f9f48 <printk>
1104 lvl, ai->static_size, ai->reserved_size, ai->dyn_size,
1105 ai->unit_size, ai->alloc_size / ai->atom_size, ai->atom_size);
0xc03fb8a4 <+204>: ldr r8, [r4, #16]
1106
1107 for (group = 0; group < ai->nr_groups; group++) {
0xc03fb8f4 <+284>: b 0xc03fb9ec <pcpu_dump_alloc_info+532>
0xc03fb9e8 <+528>: add r5, r5, #1
0xc03fb9ec <+532>: ldr r3, [r4, #28]
0xc03fb9f0 <+536>: cmp r5, r3
0xc03fb9f4 <+540>: blt 0xc03fb8f8 <pcpu_dump_alloc_info+288>
1108 const struct pcpu_group_info *gi = &ai->groups[group];
0xc03fb8f8 <+288>: mov r3, #12
0xc03fb900 <+296>: mul r3, r3, r5
0xc03fb904 <+300>: add r3, r3, #32
0xc03fb908 <+304>: add r2, r4, r3
0xc03fb910 <+312>: str r2, [sp, #36] ; 0x24
1109 int unit = 0, unit_end = 0;
0xc03fb938 <+352>: mov r9, r11
1110
1111 BUG_ON(gi->nr_units % upa);
0xc03fb8fc <+292>: mov r1, r10
0xc03fb90c <+308>: ldr r9, [r4, r3]
0xc03fb914 <+316>: mov r0, r9
0xc03fb918 <+320>: bl 0xc0238854 <__aeabi_idivmod>
0xc03fb91c <+324>: subs r11, r1, #0
0xc03fb920 <+328>: beq 0xc03fb928 <pcpu_dump_alloc_info+336>
0xc03fb924 <+332>: b 0xc03fb924 <pcpu_dump_alloc_info+332>
1112 for (alloc_end += gi->nr_units / upa;
0xc03fb928 <+336>: mov r0, r9
0xc03fb92c <+340>: mov r1, r10
0xc03fb930 <+344>: bl 0xc02386b8 <__divsi3>
0xc03fb934 <+348>: ldr r3, [sp, #24]
0xc03fb93c <+356>: add r3, r3, r0
0xc03fb940 <+360>: str r3, [sp, #24]
0xc03fb944 <+364>: b 0xc03fb9dc <pcpu_dump_alloc_info+516>
0xc03fb9dc <+516>: ldr r3, [sp, #24]
0xc03fb9e0 <+520>: cmp r8, r3
0xc03fb9e4 <+524>: blt 0xc03fb948 <pcpu_dump_alloc_info+368>
1113 alloc < alloc_end; alloc++) {
0xc03fb9d8 <+512>: add r8, r8, #1
1114 if (!(alloc % apl)) {
0xc03fb948 <+368>: mov r0, r8
0xc03fb94c <+372>: ldr r1, [sp, #32]
0xc03fb950 <+376>: bl 0xc0238854 <__aeabi_idivmod>
0xc03fb954 <+380>: cmp r1, #0
0xc03fb958 <+384>: bne 0xc03fb970 <pcpu_dump_alloc_info+408>
1115 printk("\n");
0xc03fb95c <+388>: ldr r0, [pc, #176] ; 0xc03fba14 <pcpu_dump_alloc_info+572>
0xc03fb960 <+392>: bl 0xc03f9f48 <printk>
1116 printk("%spcpu-alloc: ", lvl);
0xc03fb964 <+396>: ldr r0, [pc, #172] ; 0xc03fba18 <pcpu_dump_alloc_info+576>
0xc03fb968 <+400>: ldr r1, [sp, #28]
0xc03fb96c <+404>: bl 0xc03f9f48 <printk>
1117 }
1118 printk("[%0*d] ", group_width, group);
0xc03fb970 <+408>: ldr r0, [pc, #164] ; 0xc03fba1c <pcpu_dump_alloc_info+580>
0xc03fb974 <+412>: mov r1, r7
0xc03fb978 <+416>: mov r2, r5
0xc03fb97c <+420>: bl 0xc03f9f48 <printk>
1119
1120 for (unit_end += upa; unit < unit_end; unit++)
0xc03fb980 <+424>: add r11, r11, r10
0xc03fb984 <+428>: lsl r3, r9, #2
0xc03fb988 <+432>: b 0xc03fb9d0 <pcpu_dump_alloc_info+504>
0xc03fb9c8 <+496>: add r9, r9, #1
0xc03fb9cc <+500>: add r3, r3, #4
0xc03fb9d0 <+504>: cmp r9, r11
0xc03fb9d4 <+508>: blt 0xc03fb98c <pcpu_dump_alloc_info+436>
1121 if (gi->cpu_map[unit] != NR_CPUS)
0xc03fb98c <+436>: ldr r1, [sp, #36] ; 0x24
0xc03fb990 <+440>: ldr r2, [r1, #8]
0xc03fb994 <+444>: ldr r2, [r2, r3]
0xc03fb998 <+448>: cmp r2, #2
0xc03fb99c <+452>: beq 0xc03fb9b4 <pcpu_dump_alloc_info+476>
1122 printk("%0*d ", cpu_width,
0xc03fb9a0 <+456>: mov r1, r6
0xc03fb9a4 <+460>: ldr r0, [pc, #116] ; 0xc03fba20 <pcpu_dump_alloc_info+584>
0xc03fb9a8 <+464>: str r3, [sp, #20]
0xc03fb9ac <+468>: bl 0xc03f9f48 <printk>
0xc03fb9b0 <+472>: b 0xc03fb9c4 <pcpu_dump_alloc_info+492>
1123 gi->cpu_map[unit]);
1124 else
1125 printk("%s ", empty_str);
0xc03fb9b4 <+476>: ldr r0, [pc, #104] ; 0xc03fba24 <pcpu_dump_alloc_info+588>
0xc03fb9b8 <+480>: add r1, sp, #47 ; 0x2f
0xc03fb9bc <+484>: str r3, [sp, #20]
0xc03fb9c0 <+488>: bl 0xc03f9f48 <printk>
0xc03fb9c4 <+492>: ldr r3, [sp, #20]
1126 }
1127 }
1128 printk("\n");
0xc03fb9f8 <+544>: ldr r0, [pc, #20] ; 0xc03fba14 <pcpu_dump_alloc_info+572>
0xc03fb9fc <+548>: bl 0xc03f9f48 <printk>
1129 }
0xc03fba00 <+552>: add sp, sp, #60 ; 0x3c
0xc03fba04 <+556>: pop {r4, r5, r6, r7, r8, r9, r10, r11, pc}
0xc03fba08 <+560>: subsgt r11, r0, r6, ror r1
0xc03fba0c <+564>: strdgt r12, [r0], #-144 ; 0xffffff70
0xc03fba10 <+568>: subsgt r11, r0, r9, lsr #2
0xc03fba14 <+572>: subsgt r4, r0, r1, ror r0
0xc03fba18 <+576>: subsgt r11, r0, r9, asr r1
0xc03fba1c <+580>: subsgt r11, r0, r8, ror #2
0xc03fba20 <+584>: subsgt r11, r0, r0, ror r1
0xc03fba24 <+588>: subsgt r9, r2, r4, asr #19
---------------------------------------------------------------------------------------------
Dump of assembler code for function pcpu_dump_alloc_info:
0xc03fb7d8 <+0>: 28 32 9f e5 ldr r3, [pc, #552] ; 0xc03fba08 <pcpu_dump_alloc_info+560>
0xc03fb7dc <+4>: f0 4f 2d e9 push {r4, r5, r6, r7, r8, r9, r10, r11, lr}
0xc03fb7e0 <+8>: 3c d0 4d e2 sub sp, sp, #60 ; 0x3c
0xc03fb7e4 <+12>: 00 20 93 e5 ldr r2, [r3]
0xc03fb7e8 <+16>: 1c 00 8d e5 str r0, [sp, #28]
0xc03fb7ec <+20>: 2f 20 8d e5 str r2, [sp, #47] ; 0x2f
0xc03fb7f0 <+24>: 04 20 93 e5 ldr r2, [r3, #4]
0xc03fb7f4 <+28>: 08 30 d3 e5 ldrb r3, [r3, #8]
0xc03fb7f8 <+32>: 01 40 a0 e1 mov r4, r1
0xc03fb7fc <+36>: 33 20 8d e5 str r2, [sp, #51] ; 0x33
0xc03fb800 <+40>: 37 30 cd e5 strb r3, [sp, #55] ; 0x37
0xc03fb804 <+44>: 1c 00 91 e5 ldr r0, [r1, #28]
0xc03fb808 <+48>: 01 70 a0 e3 mov r7, #1
0xc03fb80c <+52>: 00 00 00 ea b 0xc03fb814 <pcpu_dump_alloc_info+60>
0xc03fb810 <+56>: 01 70 87 e2 add r7, r7, #1
0xc03fb814 <+60>: 0a 10 a0 e3 mov r1, #10
0xc03fb818 <+64>: a6 f3 f8 eb bl 0xc02386b8 <__divsi3>
0xc03fb81c <+68>: 00 00 50 e3 cmp r0, #0
0xc03fb820 <+72>: fa ff ff 1a bne 0xc03fb810 <pcpu_dump_alloc_info+56>
0xc03fb824 <+76>: e0 31 9f e5 ldr r3, [pc, #480] ; 0xc03fba0c <pcpu_dump_alloc_info+564>
0xc03fb828 <+80>: 01 60 a0 e3 mov r6, #1
0xc03fb82c <+84>: 00 30 93 e5 ldr r3, [r3]
0xc03fb830 <+88>: 00 00 93 e5 ldr r0, [r3]
0xc03fb834 <+92>: 03 00 00 e2 and r0, r0, #3
0xc03fb838 <+96>: c6 2b f9 eb bl 0xc0246758 <__sw_hweight32>
0xc03fb83c <+100>: 00 50 a0 e1 mov r5, r0
0xc03fb840 <+104>: 00 00 00 ea b 0xc03fb848 <pcpu_dump_alloc_info+112>
0xc03fb844 <+108>: 01 60 86 e2 add r6, r6, #1
0xc03fb848 <+112>: 05 00 a0 e1 mov r0, r5
0xc03fb84c <+116>: 0a 10 a0 e3 mov r1, #10
0xc03fb850 <+120>: 98 f3 f8 eb bl 0xc02386b8 <__divsi3>
0xc03fb854 <+124>: 00 50 50 e2 subs r5, r0, #0
0xc03fb858 <+128>: f9 ff ff 1a bne 0xc03fb844 <pcpu_dump_alloc_info+108>
0xc03fb85c <+132>: 38 10 8d e2 add r1, sp, #56 ; 0x38
0xc03fb860 <+136>: 08 00 56 e3 cmp r6, #8
0xc03fb864 <+140>: 06 30 a0 b1 movlt r3, r6
0xc03fb868 <+144>: 08 30 a0 a3 movge r3, #8
0xc03fb86c <+148>: 03 30 81 e0 add r3, r1, r3
0xc03fb870 <+152>: 14 90 94 e5 ldr r9, [r4, #20]
0xc03fb874 <+156>: 0c b0 94 e5 ldr r11, [r4, #12]
0xc03fb878 <+160>: 09 50 43 e5 strb r5, [r3, #-9]
0xc03fb87c <+164>: 0b 10 a0 e1 mov r1, r11
0xc03fb880 <+168>: 09 00 a0 e1 mov r0, r9
0xc03fb884 <+172>: 3c f3 f8 eb bl 0xc023857c <__udivsi3>
0xc03fb888 <+176>: 01 10 86 e2 add r1, r6, #1
0xc03fb88c <+180>: 91 70 21 e0 mla r1, r1, r0, r7
0xc03fb890 <+184>: 00 a0 a0 e1 mov r10, r0
0xc03fb894 <+188>: 03 10 81 e2 add r1, r1, #3
0xc03fb898 <+192>: 3c 00 a0 e3 mov r0, #60 ; 0x3c
0xc03fb89c <+196>: 85 f3 f8 eb bl 0xc02386b8 <__divsi3>
0xc03fb8a0 <+200>: 01 20 a0 e3 mov r2, #1
0xc03fb8a4 <+204>: 10 80 94 e5 ldr r8, [r4, #16]
0xc03fb8a8 <+208>: 08 10 a0 e1 mov r1, r8
0xc03fb8ac <+212>: 01 00 50 e3 cmp r0, #1
0xc03fb8b0 <+216>: 01 00 a0 b3 movlt r0, #1
0xc03fb8b4 <+220>: 10 3f 6f e1 clz r3, r0
0xc03fb8b8 <+224>: 1f 30 63 e2 rsb r3, r3, #31
0xc03fb8bc <+228>: 09 00 a0 e1 mov r0, r9
0xc03fb8c0 <+232>: 12 23 a0 e1 lsl r2, r2, r3
0xc03fb8c4 <+236>: 08 30 94 e5 ldr r3, [r4, #8]
0xc03fb8c8 <+240>: 20 20 8d e5 str r2, [sp, #32]
0xc03fb8cc <+244>: 08 08 8d e8 stm sp, {r3, r11}
0xc03fb8d0 <+248>: 29 f3 f8 eb bl 0xc023857c <__udivsi3>
0xc03fb8d4 <+252>: 0c 80 8d e5 str r8, [sp, #12]
0xc03fb8d8 <+256>: 1c 10 9d e5 ldr r1, [sp, #28]
0xc03fb8dc <+260>: 0c 00 94 e8 ldm r4, {r2, r3}
0xc03fb8e0 <+264>: 05 80 a0 e1 mov r8, r5
0xc03fb8e4 <+268>: 08 00 8d e5 str r0, [sp, #8]
0xc03fb8e8 <+272>: 20 01 9f e5 ldr r0, [pc, #288] ; 0xc03fba10 <pcpu_dump_alloc_info+568>
0xc03fb8ec <+276>: 95 f9 ff eb bl 0xc03f9f48 <printk>
0xc03fb8f0 <+280>: 18 50 8d e5 str r5, [sp, #24]
0xc03fb8f4 <+284>: 3c 00 00 ea b 0xc03fb9ec <pcpu_dump_alloc_info+532>
0xc03fb8f8 <+288>: 0c 30 a0 e3 mov r3, #12
0xc03fb8fc <+292>: 0a 10 a0 e1 mov r1, r10
0xc03fb900 <+296>: 93 05 03 e0 mul r3, r3, r5
0xc03fb904 <+300>: 20 30 83 e2 add r3, r3, #32
0xc03fb908 <+304>: 03 20 84 e0 add r2, r4, r3
0xc03fb90c <+308>: 03 90 94 e7 ldr r9, [r4, r3]
0xc03fb910 <+312>: 24 20 8d e5 str r2, [sp, #36] ; 0x24
0xc03fb914 <+316>: 09 00 a0 e1 mov r0, r9
0xc03fb918 <+320>: cd f3 f8 eb bl 0xc0238854 <__aeabi_idivmod>
0xc03fb91c <+324>: 00 b0 51 e2 subs r11, r1, #0
0xc03fb920 <+328>: 00 00 00 0a beq 0xc03fb928 <pcpu_dump_alloc_info+336>
0xc03fb924 <+332>: fe ff ff ea b 0xc03fb924 <pcpu_dump_alloc_info+332>
0xc03fb928 <+336>: 09 00 a0 e1 mov r0, r9
0xc03fb92c <+340>: 0a 10 a0 e1 mov r1, r10
0xc03fb930 <+344>: 60 f3 f8 eb bl 0xc02386b8 <__divsi3>
0xc03fb934 <+348>: 18 30 9d e5 ldr r3, [sp, #24]
0xc03fb938 <+352>: 0b 90 a0 e1 mov r9, r11
0xc03fb93c <+356>: 00 30 83 e0 add r3, r3, r0
0xc03fb940 <+360>: 18 30 8d e5 str r3, [sp, #24]
0xc03fb944 <+364>: 24 00 00 ea b 0xc03fb9dc <pcpu_dump_alloc_info+516>
0xc03fb948 <+368>: 08 00 a0 e1 mov r0, r8
0xc03fb94c <+372>: 20 10 9d e5 ldr r1, [sp, #32]
0xc03fb950 <+376>: bf f3 f8 eb bl 0xc0238854 <__aeabi_idivmod>
0xc03fb954 <+380>: 00 00 51 e3 cmp r1, #0
0xc03fb958 <+384>: 04 00 00 1a bne 0xc03fb970 <pcpu_dump_alloc_info+408>
0xc03fb95c <+388>: b0 00 9f e5 ldr r0, [pc, #176] ; 0xc03fba14 <pcpu_dump_alloc_info+572>
0xc03fb960 <+392>: 78 f9 ff eb bl 0xc03f9f48 <printk>
0xc03fb964 <+396>: ac 00 9f e5 ldr r0, [pc, #172] ; 0xc03fba18 <pcpu_dump_alloc_info+576>
0xc03fb968 <+400>: 1c 10 9d e5 ldr r1, [sp, #28]
0xc03fb96c <+404>: 75 f9 ff eb bl 0xc03f9f48 <printk>
0xc03fb970 <+408>: a4 00 9f e5 ldr r0, [pc, #164] ; 0xc03fba1c <pcpu_dump_alloc_info+580>
0xc03fb974 <+412>: 07 10 a0 e1 mov r1, r7
0xc03fb978 <+416>: 05 20 a0 e1 mov r2, r5
0xc03fb97c <+420>: 71 f9 ff eb bl 0xc03f9f48 <printk>
0xc03fb980 <+424>: 0a b0 8b e0 add r11, r11, r10
0xc03fb984 <+428>: 09 31 a0 e1 lsl r3, r9, #2
0xc03fb988 <+432>: 10 00 00 ea b 0xc03fb9d0 <pcpu_dump_alloc_info+504>
0xc03fb98c <+436>: 24 10 9d e5 ldr r1, [sp, #36] ; 0x24
0xc03fb990 <+440>: 08 20 91 e5 ldr r2, [r1, #8]
0xc03fb994 <+444>: 03 20 92 e7 ldr r2, [r2, r3]
0xc03fb998 <+448>: 02 00 52 e3 cmp r2, #2
0xc03fb99c <+452>: 04 00 00 0a beq 0xc03fb9b4 <pcpu_dump_alloc_info+476>
0xc03fb9a0 <+456>: 06 10 a0 e1 mov r1, r6
0xc03fb9a4 <+460>: 74 00 9f e5 ldr r0, [pc, #116] ; 0xc03fba20 <pcpu_dump_alloc_info+584>
0xc03fb9a8 <+464>: 14 30 8d e5 str r3, [sp, #20]
0xc03fb9ac <+468>: 65 f9 ff eb bl 0xc03f9f48 <printk>
0xc03fb9b0 <+472>: 03 00 00 ea b 0xc03fb9c4 <pcpu_dump_alloc_info+492>
0xc03fb9b4 <+476>: 68 00 9f e5 ldr r0, [pc, #104] ; 0xc03fba24 <pcpu_dump_alloc_info+588>
0xc03fb9b8 <+480>: 2f 10 8d e2 add r1, sp, #47 ; 0x2f
0xc03fb9bc <+484>: 14 30 8d e5 str r3, [sp, #20]
0xc03fb9c0 <+488>: 60 f9 ff eb bl 0xc03f9f48 <printk>
0xc03fb9c4 <+492>: 14 30 9d e5 ldr r3, [sp, #20]
0xc03fb9c8 <+496>: 01 90 89 e2 add r9, r9, #1
0xc03fb9cc <+500>: 04 30 83 e2 add r3, r3, #4
0xc03fb9d0 <+504>: 0b 00 59 e1 cmp r9, r11
0xc03fb9d4 <+508>: ec ff ff ba blt 0xc03fb98c <pcpu_dump_alloc_info+436>
0xc03fb9d8 <+512>: 01 80 88 e2 add r8, r8, #1
0xc03fb9dc <+516>: 18 30 9d e5 ldr r3, [sp, #24]
0xc03fb9e0 <+520>: 03 00 58 e1 cmp r8, r3
0xc03fb9e4 <+524>: d7 ff ff ba blt 0xc03fb948 <pcpu_dump_alloc_info+368>
0xc03fb9e8 <+528>: 01 50 85 e2 add r5, r5, #1
0xc03fb9ec <+532>: 1c 30 94 e5 ldr r3, [r4, #28]
0xc03fb9f0 <+536>: 03 00 55 e1 cmp r5, r3
0xc03fb9f4 <+540>: bf ff ff ba blt 0xc03fb8f8 <pcpu_dump_alloc_info+288>
0xc03fb9f8 <+544>: 14 00 9f e5 ldr r0, [pc, #20] ; 0xc03fba14 <pcpu_dump_alloc_info+572>
0xc03fb9fc <+548>: 51 f9 ff eb bl 0xc03f9f48 <printk>
0xc03fba00 <+552>: 3c d0 8d e2 add sp, sp, #60 ; 0x3c
0xc03fba04 <+556>: f0 8f bd e8 pop {r4, r5, r6, r7, r8, r9, r10, r11, pc}
0xc03fba08 <+560>: 76 b1 50 c0 subsgt r11, r0, r6, ror r1
0xc03fba0c <+564>: f0 c9 40 c0 strdgt r12, [r0], #-144 ; 0xffffff70
0xc03fba10 <+568>: 29 b1 50 c0 subsgt r11, r0, r9, lsr #2
0xc03fba14 <+572>: 71 40 50 c0 subsgt r4, r0, r1, ror r0
0xc03fba18 <+576>: 59 b1 50 c0 subsgt r11, r0, r9, asr r1
0xc03fba1c <+580>: 68 b1 50 c0 subsgt r11, r0, r8, ror #2
0xc03fba20 <+584>: 70 b1 50 c0 subsgt r11, r0, r0, ror r1
0xc03fba24 <+588>: c4 99 52 c0 subsgt r9, r2, r4, asr #19
next prev parent reply other threads:[~2012-05-10 17:08 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-10 14:28 Bad ARM code with GCC 4.7.1 Gary Thomas
2012-05-10 15:46 ` Khem Raj
2012-05-10 16:17 ` Gary Thomas
2012-05-10 16:30 ` Khem Raj
2012-05-10 16:49 ` Mark Hatle
2012-05-10 17:00 ` Khem Raj
2012-05-10 17:08 ` Gary Thomas [this message]
2012-05-10 20:06 ` Martin Jansa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FABF5F8.3070207@mlbassoc.com \
--to=gary@mlbassoc.com \
--cc=poky@yoctoproject.org \
--cc=raj.khem@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.