From: Martin Jansa <martin.jansa@gmail.com>
To: Gary Thomas <gary@mlbassoc.com>
Cc: Poky Project <poky@yoctoproject.org>
Subject: Re: Bad ARM code with GCC 4.7.1
Date: Thu, 10 May 2012 22:06:23 +0200 [thread overview]
Message-ID: <20120510200623.GA3141@jama.jama.net> (raw)
In-Reply-To: <4FABF5F8.3070207@mlbassoc.com>
[-- Attachment #1: Type: text/plain, Size: 22142 bytes --]
On Thu, May 10, 2012 at 11:08:08AM -0600, Gary Thomas wrote:
> 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...)
We had to use -mno-unaligned-access in kernel Makefile even with gcc-4.6
since gcc-4.6/linaro/gcc-4.6-linaro-r106827.patch was added in meta-oe.
And it was affecting
nokia900 (2.6.37 based kernel)
crespo - Samsung Nexus S (3.0.8 based kernel)
but with -mno-unaligned-access and gcc-4.7 we don't see any new issues.
Cheers,
>
> >
> > 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
> ------------------------------------------------------------
> 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
> _______________________________________________
> poky mailing list
> poky@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
prev parent reply other threads:[~2012-05-10 20:06 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
2012-05-10 20:06 ` Martin Jansa [this message]
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=20120510200623.GA3141@jama.jama.net \
--to=martin.jansa@gmail.com \
--cc=gary@mlbassoc.com \
--cc=poky@yoctoproject.org \
/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.