diff --git a/blinker01/blinker01.bin b/blinker01/blinker01.bin index 6c1fa2a..76e0e82 100755 Binary files a/blinker01/blinker01.bin and b/blinker01/blinker01.bin differ diff --git a/blinker01/blinker01.clang.bc b/blinker01/blinker01.clang.bc index 1eb5ce6..1c5fc94 100644 Binary files a/blinker01/blinker01.clang.bc and b/blinker01/blinker01.clang.bc differ diff --git a/blinker01/blinker01.clang.bin b/blinker01/blinker01.clang.bin index 69600f0..8382ef5 100755 Binary files a/blinker01/blinker01.clang.bin and b/blinker01/blinker01.clang.bin differ diff --git a/blinker01/blinker01.clang.hex b/blinker01/blinker01.clang.hex index 1ffd670..85ff654 100644 --- a/blinker01/blinker01.clang.hex +++ b/blinker01/blinker01.clang.hex @@ -1,12 +1,12 @@ :1080000002D9A0E3050000EBFEFFFFEA001080E5C7 :108010001EFF2FE1000090E51EFF2FE11EFF2FE164 -:1080200010402DE960409FE50400A0E1F8FFFFEB60 -:108030000707C0E3011780E30400A0E1F2FFFFEBB4 -:1080400048009FE50118A0E3EFFFFFEB0040A0E32D -:108050000400A0E1F0FFFFEB014084E2010654E3DD -:10806000FAFFFF1A28009FE50118A0E3E6FFFFEBE7 -:108070000040A0E30400A0E1E7FFFFEB014084E241 -:10808000010654E3FAFFFF1AECFFFFEA0400202088 -:088090001C0020202800202024 +:1080200010482DE964409FE504B08DE20400A0E112 +:10803000F7FFFFEB0707C0E3011780E30400A0E1AF +:10804000F1FFFFEB48009FE50118A0E3EEFFFFEB17 +:108050000040A0E30400A0E1EFFFFFEB014084E259 +:10806000010654E3FAFFFF1A28009FE50118A0E378 +:10807000E5FFFFEB0040A0E30400A0E1E6FFFFEB1B +:10808000014084E2010654E3FAFFFF1AECFFFFEA25 +:0C809000040020201C00202028002020DC :040000030000800079 :00000001FF diff --git a/blinker01/blinker01.clang.opt.bc b/blinker01/blinker01.clang.opt.bc index fc802dc..23e500e 100644 Binary files a/blinker01/blinker01.clang.opt.bc and b/blinker01/blinker01.clang.opt.bc differ diff --git a/blinker01/blinker01.clang.opt.elf b/blinker01/blinker01.clang.opt.elf index 5aa20b3..3a81750 100755 Binary files a/blinker01/blinker01.clang.opt.elf and b/blinker01/blinker01.clang.opt.elf differ diff --git a/blinker01/blinker01.clang.opt.list b/blinker01/blinker01.clang.opt.list index d4db221..bac230c 100644 --- a/blinker01/blinker01.clang.opt.list +++ b/blinker01/blinker01.clang.opt.list @@ -23,47 +23,67 @@ Disassembly of section .text: 801c: e12fff1e bx lr 00008020 : - 8020: e92d4010 push {r4, lr} - 8024: e59f4060 ldr r4, [pc, #96] ; 808c - 8028: e1a00004 mov r0, r4 - 802c: ebfffff8 bl 8014 - 8030: e3c00707 bic r0, r0, #1835008 ; 0x1c0000 - 8034: e3801701 orr r1, r0, #262144 ; 0x40000 - 8038: e1a00004 mov r0, r4 - 803c: ebfffff2 bl 800c - 8040: e59f0048 ldr r0, [pc, #72] ; 8090 - 8044: e3a01801 mov r1, #65536 ; 0x10000 - 8048: ebffffef bl 800c - 804c: e3a04000 mov r4, #0 - 8050: e1a00004 mov r0, r4 - 8054: ebfffff0 bl 801c - 8058: e2844001 add r4, r4, #1 - 805c: e3540601 cmp r4, #1048576 ; 0x100000 - 8060: 1afffffa bne 8050 - 8064: e59f0028 ldr r0, [pc, #40] ; 8094 - 8068: e3a01801 mov r1, #65536 ; 0x10000 - 806c: ebffffe6 bl 800c - 8070: e3a04000 mov r4, #0 - 8074: e1a00004 mov r0, r4 - 8078: ebffffe7 bl 801c - 807c: e2844001 add r4, r4, #1 - 8080: e3540601 cmp r4, #1048576 ; 0x100000 - 8084: 1afffffa bne 8074 - 8088: eaffffec b 8040 - 808c: 20200004 eorcs r0, r0, r4 - 8090: 2020001c eorcs r0, r0, ip, lsl r0 - 8094: 20200028 eorcs r0, r0, r8, lsr #32 + 8020: e92d4810 push {r4, fp, lr} + 8024: e59f4064 ldr r4, [pc, #100] ; 8090 + 8028: e28db004 add fp, sp, #4 + 802c: e1a00004 mov r0, r4 + 8030: ebfffff7 bl 8014 + 8034: e3c00707 bic r0, r0, #1835008 ; 0x1c0000 + 8038: e3801701 orr r1, r0, #262144 ; 0x40000 + 803c: e1a00004 mov r0, r4 + 8040: ebfffff1 bl 800c + 8044: e59f0048 ldr r0, [pc, #72] ; 8094 + 8048: e3a01801 mov r1, #65536 ; 0x10000 + 804c: ebffffee bl 800c + 8050: e3a04000 mov r4, #0 + 8054: e1a00004 mov r0, r4 + 8058: ebffffef bl 801c + 805c: e2844001 add r4, r4, #1 + 8060: e3540601 cmp r4, #1048576 ; 0x100000 + 8064: 1afffffa bne 8054 + 8068: e59f0028 ldr r0, [pc, #40] ; 8098 + 806c: e3a01801 mov r1, #65536 ; 0x10000 + 8070: ebffffe5 bl 800c + 8074: e3a04000 mov r4, #0 + 8078: e1a00004 mov r0, r4 + 807c: ebffffe6 bl 801c + 8080: e2844001 add r4, r4, #1 + 8084: e3540601 cmp r4, #1048576 ; 0x100000 + 8088: 1afffffa bne 8078 + 808c: eaffffec b 8044 + 8090: 20200004 eorcs r0, r0, r4 + 8094: 2020001c eorcs r0, r0, ip, lsl r0 + 8098: 20200028 eorcs r0, r0, r8, lsr #32 Disassembly of section .ARM.attributes: 00000000 <.ARM.attributes>: - 0: 00002141 andeq r2, r0, r1, asr #2 + 0: 00002f41 andeq r2, r0, r1, asr #30 4: 61656100 cmnvs r5, r0, lsl #2 8: 01006962 tsteq r0, r2, ror #18 - c: 00000017 andeq r0, r0, r7, lsl r0 - 10: 01080206 tsteq r8, r6, lsl #4 - 14: 020a0109 andeq r0, sl, #1073741826 ; 0x40000002 - 18: 01150114 tsteq r5, r4, lsl r1 - 1c: 01180317 tsteq r8, r7, lsl r3 - 20: Address 0x00000020 is out of bounds. + c: 00000025 andeq r0, r0, r5, lsr #32 + 10: 4d524105 ldfmie f4, [r2, #-20] ; 0xffffffec + 14: 36373131 ; instruction: 0x36373131 + 18: 2d465a4a vstrcs s11, [r6, #-296] ; 0xfffffed8 + 1c: 06060053 ; instruction: 0x06060053 + 20: 01090108 tsteq r9, r8, lsl #2 + 24: 0114020a tsteq r4, sl, lsl #4 + 28: 03170115 tsteq r7, #1073741829 ; 0x40000005 + 2c: 01440118 cmpeq r4, r8, lsl r1 + +Disassembly of section .comment: + +00000000 <.comment>: + 0: 6e616c63 cdpvs 12, 6, cr6, cr1, cr3, {3} + 4: 65762067 ldrbvs r2, [r6, #-103]! ; 0x67 + 8: 6f697372 svcvs 0x00697372 + c: 2e33206e cdpcs 0, 3, cr2, cr3, cr14, {3} + 10: 62282034 eorvs r2, r8, #52 ; 0x34 + 14: 636e6172 cmnvs lr, #-2147483620 ; 0x8000001c + 18: 2f736568 svccs 0x00736568 + 1c: 656c6572 strbvs r6, [ip, #-1394]! ; 0x572 + 20: 5f657361 svcpl 0x00657361 + 24: 32203433 eorcc r3, r0, #855638016 ; 0x33000000 + 28: 36303130 ; instruction: 0x36303130 + 2c: Address 0x000000000000002c is out of bounds. diff --git a/blinker01/blinker01.clang.opt.o b/blinker01/blinker01.clang.opt.o index 855965a..fcc2541 100644 Binary files a/blinker01/blinker01.clang.opt.o and b/blinker01/blinker01.clang.opt.o differ diff --git a/blinker01/blinker01.clang.opt.s b/blinker01/blinker01.clang.opt.s index 6964d06..7334a12 100644 --- a/blinker01/blinker01.clang.opt.s +++ b/blinker01/blinker01.clang.opt.s @@ -1,11 +1,13 @@ .syntax unified - .eabi_attribute 10, 2 - .fpu vfpv2 - .eabi_attribute 20, 1 - .eabi_attribute 21, 1 - .eabi_attribute 23, 3 - .eabi_attribute 24, 1 - .eabi_attribute 25, 1 + .cpu arm1176jzf-s + .eabi_attribute 6, 6 + .eabi_attribute 8, 1 + .fpu vfpv2 + .eabi_attribute 20, 1 + .eabi_attribute 21, 1 + .eabi_attribute 23, 3 + .eabi_attribute 24, 1 + .eabi_attribute 25, 1 .file "blinker01.clang.opt.bc" .text .globl notmain @@ -13,8 +15,9 @@ .type notmain,%function notmain: @ @notmain @ BB#0: @ %entry - push {r4, lr} + push {r4, r11, lr} ldr r4, .LCPI0_0 + add r11, sp, #4 mov r0, r4 bl GET32 bic r0, r0, #1835008 @@ -23,8 +26,8 @@ notmain: @ @notmain bl PUT32 .LBB0_1: @ %while.body @ =>This Loop Header: Depth=1 - @ Child Loop BB0_4 Depth 2 @ Child Loop BB0_2 Depth 2 + @ Child Loop BB0_4 Depth 2 ldr r0, .LCPI0_1 mov r1, #65536 bl PUT32 @@ -64,3 +67,4 @@ notmain: @ @notmain .size notmain, .Ltmp0-notmain + .ident "clang version 3.4 (branches/release_34 201060)" diff --git a/blinker01/blinker01.elf b/blinker01/blinker01.elf index 6672490..2d52e85 100755 Binary files a/blinker01/blinker01.elf and b/blinker01/blinker01.elf differ diff --git a/blinker01/blinker01.hex b/blinker01/blinker01.hex index 3218147..10841ed 100644 --- a/blinker01/blinker01.hex +++ b/blinker01/blinker01.hex @@ -1,13 +1,12 @@ :1080000002D9A0E3050000EBFEFFFFEA001080E5C7 :108010001EFF2FE1000090E51EFF2FE11EFF2FE164 -:1080200038402DE974009FE5F9FFFFEB0717C0E327 -:10803000011781E364009FE5F3FFFFEB60009FE51C +:1080200010402DE95C009FE5F9FFFFEB0717C0E367 +:10803000011781E34C009FE5F3FFFFEB48009FE54C :108040000118A0E3F0FFFFEB0040A0E30400A0E173 -:10805000015084E2F0FFFFEB024084E20500A0E162 -:10806000EDFFFFEB010654E3F7FFFF1A34009FE535 -:108070000118A0E3E4FFFFEB0040A0E30400A0E14F -:10808000015084E2E4FFFFEB024084E20500A0E13E -:10809000E1FFFFEB010654E3F7FFFF1AE6FFFFEAFB -:0C80A000040020201C00202028002020CC +:10805000014084E2F0FFFFEB010654E3FAFFFF1A50 +:1080600028009FE50118A0E3E7FFFFEB0040A0E335 +:108070000400A0E1014084E2E7FFFFEB010654E3C6 +:10808000FAFFFF1AECFFFFEA040020201C0020206A +:048090002800202084 :040000030000800079 :00000001FF diff --git a/blinker01/blinker01.list b/blinker01/blinker01.list index 3db2191..3e7dcd8 100644 --- a/blinker01/blinker01.list +++ b/blinker01/blinker01.list @@ -23,71 +23,57 @@ Disassembly of section .text: 801c: e12fff1e bx lr 00008020 : - 8020: e92d4038 push {r3, r4, r5, lr} - 8024: e59f0074 ldr r0, [pc, #116] ; 80a0 + 8020: e92d4010 push {r4, lr} + 8024: e59f005c ldr r0, [pc, #92] ; 8088 8028: ebfffff9 bl 8014 802c: e3c01707 bic r1, r0, #1835008 ; 0x1c0000 8030: e3811701 orr r1, r1, #262144 ; 0x40000 - 8034: e59f0064 ldr r0, [pc, #100] ; 80a0 + 8034: e59f004c ldr r0, [pc, #76] ; 8088 8038: ebfffff3 bl 800c - 803c: e59f0060 ldr r0, [pc, #96] ; 80a4 + 803c: e59f0048 ldr r0, [pc, #72] ; 808c 8040: e3a01801 mov r1, #65536 ; 0x10000 8044: ebfffff0 bl 800c 8048: e3a04000 mov r4, #0 804c: e1a00004 mov r0, r4 - 8050: e2845001 add r5, r4, #1 + 8050: e2844001 add r4, r4, #1 8054: ebfffff0 bl 801c - 8058: e2844002 add r4, r4, #2 - 805c: e1a00005 mov r0, r5 - 8060: ebffffed bl 801c - 8064: e3540601 cmp r4, #1048576 ; 0x100000 - 8068: 1afffff7 bne 804c - 806c: e59f0034 ldr r0, [pc, #52] ; 80a8 - 8070: e3a01801 mov r1, #65536 ; 0x10000 - 8074: ebffffe4 bl 800c - 8078: e3a04000 mov r4, #0 - 807c: e1a00004 mov r0, r4 - 8080: e2845001 add r5, r4, #1 - 8084: ebffffe4 bl 801c - 8088: e2844002 add r4, r4, #2 - 808c: e1a00005 mov r0, r5 - 8090: ebffffe1 bl 801c - 8094: e3540601 cmp r4, #1048576 ; 0x100000 - 8098: 1afffff7 bne 807c - 809c: eaffffe6 b 803c - 80a0: 20200004 eorcs r0, r0, r4 - 80a4: 2020001c eorcs r0, r0, ip, lsl r0 - 80a8: 20200028 eorcs r0, r0, r8, lsr #32 + 8058: e3540601 cmp r4, #1048576 ; 0x100000 + 805c: 1afffffa bne 804c + 8060: e59f0028 ldr r0, [pc, #40] ; 8090 + 8064: e3a01801 mov r1, #65536 ; 0x10000 + 8068: ebffffe7 bl 800c + 806c: e3a04000 mov r4, #0 + 8070: e1a00004 mov r0, r4 + 8074: e2844001 add r4, r4, #1 + 8078: ebffffe7 bl 801c + 807c: e3540601 cmp r4, #1048576 ; 0x100000 + 8080: 1afffffa bne 8070 + 8084: eaffffec b 803c + 8088: 20200004 eorcs r0, r0, r4 + 808c: 2020001c eorcs r0, r0, ip, lsl r0 + 8090: 20200028 eorcs r0, r0, r8, lsr #32 Disassembly of section .ARM.attributes: 00000000 <.ARM.attributes>: - 0: 00002c41 andeq r2, r0, r1, asr #24 + 0: 00002a41 andeq r2, r0, r1, asr #20 4: 61656100 cmnvs r5, r0, lsl #2 8: 01006962 tsteq r0, r2, ror #18 - c: 00000022 andeq r0, r0, r2, lsr #32 + c: 00000020 andeq r0, r0, r0, lsr #32 10: 4d524105 ldfmie f4, [r2, #-20] ; 0xffffffec - 14: 54347620 ldrtpl r7, [r4], #-1568 ; 0xfffff9e0 + 14: 54347620 ldrtpl r7, [r4], #-1568 ; 0x620 18: 08020600 stmdaeq r2, {r9, sl} 1c: 12010901 andne r0, r1, #16384 ; 0x4000 - 20: 15011404 strne r1, [r1, #-1028] ; 0xfffffbfc + 20: 15011404 strne r1, [r1, #-1028] ; 0x404 24: 18031701 stmdane r3, {r0, r8, r9, sl, ip} - 28: 2c011a01 stccs 10, cr1, [r1], {1} - 2c: Address 0x0000002c is out of bounds. + 28: Address 0x0000000000000028 is out of bounds. Disassembly of section .comment: 00000000 <.comment>: 0: 3a434347 bcc 10d0d24 - 4: 6f532820 svcvs 0x00532820 - 8: 65637275 strbvs r7, [r3, #-629]! ; 0xfffffd8b - c: 43207972 teqmi r0, #1867776 ; 0x1c8000 - 10: 4265646f rsbmi r6, r5, #1862270976 ; 0x6f000000 - 14: 68636e65 stmdavs r3!, {r0, r2, r5, r6, r9, sl, fp, sp, lr}^ - 18: 74694c20 strbtvc r4, [r9], #-3104 ; 0xfffff3e0 - 1c: 30322065 eorscc r2, r2, r5, rrx - 20: 302e3131 eorcc r3, lr, r1, lsr r1 - 24: 39362d39 ldmdbcc r6!, {r0, r3, r4, r5, r8, sl, fp, sp} - 28: 2e342029 cdpcs 0, 3, cr2, cr4, cr9, {1} - 2c: 00312e36 eorseq r2, r1, r6, lsr lr + 4: 4e472820 cdpmi 8, 4, cr2, cr7, cr0, {1} + 8: 34202955 strtcc r2, [r0], #-2389 ; 0x955 + c: 322e382e eorcc r3, lr, #3014656 ; 0x2e0000 + ... diff --git a/blinker01/blinker01.o b/blinker01/blinker01.o index 636367f..45f37a4 100644 Binary files a/blinker01/blinker01.o and b/blinker01/blinker01.o differ diff --git a/blinker01/vectors.o b/blinker01/vectors.o index 360bc05..9f692bb 100644 Binary files a/blinker01/vectors.o and b/blinker01/vectors.o differ diff --git a/blinker02/blinker02.clang.bc b/blinker02/blinker02.clang.bc index ea5782d..2e79f6b 100644 Binary files a/blinker02/blinker02.clang.bc and b/blinker02/blinker02.clang.bc differ diff --git a/blinker02/blinker02.clang.bin b/blinker02/blinker02.clang.bin index cef2515..070f305 100755 Binary files a/blinker02/blinker02.clang.bin and b/blinker02/blinker02.clang.bin differ diff --git a/blinker02/blinker02.clang.hex b/blinker02/blinker02.clang.hex index bf03a3e..a04d583 100644 --- a/blinker02/blinker02.clang.hex +++ b/blinker02/blinker02.clang.hex @@ -1,11 +1,11 @@ :1080000002D9A0E3050000EBFEFFFFEA001080E5C7 :108010001EFF2FE1000090E51EFF2FE11EFF2FE164 -:1080200010402DE950409FE50400A0E1F8FFFFEB70 -:108030000707C0E3011780E30400A0E1F2FFFFEBB4 -:1080400038009FE50118A0E3EFFFFFEB30009FE54C -:10805000EFFFFFEB010510E3FBFFFF0A24009FE5A4 -:108060000118A0E3E8FFFFEB14009FE5E8FFFFEB3A -:10807000010510E3FBFFFF1AF0FFFFEA04002020D8 -:0C8080001C0020200430002028002020DC +:1080200010482DE954409FE504B08DE20400A0E122 +:10803000F7FFFFEB0707C0E3011780E30400A0E1AF +:10804000F1FFFFEB38009FE50118A0E3EEFFFFEB27 +:1080500030009FE5EEFFFFEB010510E3FBFFFF0A99 +:1080600024009FE50118A0E3E7FFFFEB14009FE564 +:10807000E7FFFFEB010510E3FBFFFF1AF0FFFFEA4C +:10808000040020201C002020043000202800202094 :040000030000800079 :00000001FF diff --git a/blinker02/blinker02.clang.opt.bc b/blinker02/blinker02.clang.opt.bc index 1b45784..295471c 100644 Binary files a/blinker02/blinker02.clang.opt.bc and b/blinker02/blinker02.clang.opt.bc differ diff --git a/blinker02/blinker02.clang.opt.elf b/blinker02/blinker02.clang.opt.elf index 0c936fc..b791d21 100755 Binary files a/blinker02/blinker02.clang.opt.elf and b/blinker02/blinker02.clang.opt.elf differ diff --git a/blinker02/blinker02.clang.opt.list b/blinker02/blinker02.clang.opt.list index bf68c29..8abbdc9 100644 --- a/blinker02/blinker02.clang.opt.list +++ b/blinker02/blinker02.clang.opt.list @@ -23,44 +23,64 @@ Disassembly of section .text: 801c: e12fff1e bx lr 00008020 : - 8020: e92d4010 push {r4, lr} - 8024: e59f4050 ldr r4, [pc, #80] ; 807c - 8028: e1a00004 mov r0, r4 - 802c: ebfffff8 bl 8014 - 8030: e3c00707 bic r0, r0, #1835008 ; 0x1c0000 - 8034: e3801701 orr r1, r0, #262144 ; 0x40000 - 8038: e1a00004 mov r0, r4 - 803c: ebfffff2 bl 800c - 8040: e59f0038 ldr r0, [pc, #56] ; 8080 - 8044: e3a01801 mov r1, #65536 ; 0x10000 - 8048: ebffffef bl 800c - 804c: e59f0030 ldr r0, [pc, #48] ; 8084 - 8050: ebffffef bl 8014 - 8054: e3100501 tst r0, #4194304 ; 0x400000 - 8058: 0afffffb beq 804c - 805c: e59f0024 ldr r0, [pc, #36] ; 8088 - 8060: e3a01801 mov r1, #65536 ; 0x10000 - 8064: ebffffe8 bl 800c - 8068: e59f0014 ldr r0, [pc, #20] ; 8084 - 806c: ebffffe8 bl 8014 - 8070: e3100501 tst r0, #4194304 ; 0x400000 - 8074: 1afffffb bne 8068 - 8078: eafffff0 b 8040 - 807c: 20200004 eorcs r0, r0, r4 - 8080: 2020001c eorcs r0, r0, ip, lsl r0 - 8084: 20003004 andcs r3, r0, r4 - 8088: 20200028 eorcs r0, r0, r8, lsr #32 + 8020: e92d4810 push {r4, fp, lr} + 8024: e59f4054 ldr r4, [pc, #84] ; 8080 + 8028: e28db004 add fp, sp, #4 + 802c: e1a00004 mov r0, r4 + 8030: ebfffff7 bl 8014 + 8034: e3c00707 bic r0, r0, #1835008 ; 0x1c0000 + 8038: e3801701 orr r1, r0, #262144 ; 0x40000 + 803c: e1a00004 mov r0, r4 + 8040: ebfffff1 bl 800c + 8044: e59f0038 ldr r0, [pc, #56] ; 8084 + 8048: e3a01801 mov r1, #65536 ; 0x10000 + 804c: ebffffee bl 800c + 8050: e59f0030 ldr r0, [pc, #48] ; 8088 + 8054: ebffffee bl 8014 + 8058: e3100501 tst r0, #4194304 ; 0x400000 + 805c: 0afffffb beq 8050 + 8060: e59f0024 ldr r0, [pc, #36] ; 808c + 8064: e3a01801 mov r1, #65536 ; 0x10000 + 8068: ebffffe7 bl 800c + 806c: e59f0014 ldr r0, [pc, #20] ; 8088 + 8070: ebffffe7 bl 8014 + 8074: e3100501 tst r0, #4194304 ; 0x400000 + 8078: 1afffffb bne 806c + 807c: eafffff0 b 8044 + 8080: 20200004 eorcs r0, r0, r4 + 8084: 2020001c eorcs r0, r0, ip, lsl r0 + 8088: 20003004 andcs r3, r0, r4 + 808c: 20200028 eorcs r0, r0, r8, lsr #32 Disassembly of section .ARM.attributes: 00000000 <.ARM.attributes>: - 0: 00002141 andeq r2, r0, r1, asr #2 + 0: 00002f41 andeq r2, r0, r1, asr #30 4: 61656100 cmnvs r5, r0, lsl #2 8: 01006962 tsteq r0, r2, ror #18 - c: 00000017 andeq r0, r0, r7, lsl r0 - 10: 01080206 tsteq r8, r6, lsl #4 - 14: 020a0109 andeq r0, sl, #1073741826 ; 0x40000002 - 18: 01150114 tsteq r5, r4, lsl r1 - 1c: 01180317 tsteq r8, r7, lsl r3 - 20: Address 0x00000020 is out of bounds. + c: 00000025 andeq r0, r0, r5, lsr #32 + 10: 4d524105 ldfmie f4, [r2, #-20] ; 0xffffffec + 14: 36373131 ; instruction: 0x36373131 + 18: 2d465a4a vstrcs s11, [r6, #-296] ; 0xfffffed8 + 1c: 06060053 ; instruction: 0x06060053 + 20: 01090108 tsteq r9, r8, lsl #2 + 24: 0114020a tsteq r4, sl, lsl #4 + 28: 03170115 tsteq r7, #1073741829 ; 0x40000005 + 2c: 01440118 cmpeq r4, r8, lsl r1 + +Disassembly of section .comment: + +00000000 <.comment>: + 0: 6e616c63 cdpvs 12, 6, cr6, cr1, cr3, {3} + 4: 65762067 ldrbvs r2, [r6, #-103]! ; 0x67 + 8: 6f697372 svcvs 0x00697372 + c: 2e33206e cdpcs 0, 3, cr2, cr3, cr14, {3} + 10: 62282034 eorvs r2, r8, #52 ; 0x34 + 14: 636e6172 cmnvs lr, #-2147483620 ; 0x8000001c + 18: 2f736568 svccs 0x00736568 + 1c: 656c6572 strbvs r6, [ip, #-1394]! ; 0x572 + 20: 5f657361 svcpl 0x00657361 + 24: 32203433 eorcc r3, r0, #855638016 ; 0x33000000 + 28: 36303130 ; instruction: 0x36303130 + 2c: Address 0x000000000000002c is out of bounds. diff --git a/blinker02/blinker02.clang.opt.o b/blinker02/blinker02.clang.opt.o index 1cb27cb..7601f7f 100644 Binary files a/blinker02/blinker02.clang.opt.o and b/blinker02/blinker02.clang.opt.o differ diff --git a/blinker02/blinker02.clang.opt.s b/blinker02/blinker02.clang.opt.s index 4f320e6..1919941 100644 --- a/blinker02/blinker02.clang.opt.s +++ b/blinker02/blinker02.clang.opt.s @@ -1,11 +1,13 @@ .syntax unified - .eabi_attribute 10, 2 - .fpu vfpv2 - .eabi_attribute 20, 1 - .eabi_attribute 21, 1 - .eabi_attribute 23, 3 - .eabi_attribute 24, 1 - .eabi_attribute 25, 1 + .cpu arm1176jzf-s + .eabi_attribute 6, 6 + .eabi_attribute 8, 1 + .fpu vfpv2 + .eabi_attribute 20, 1 + .eabi_attribute 21, 1 + .eabi_attribute 23, 3 + .eabi_attribute 24, 1 + .eabi_attribute 25, 1 .file "blinker02.clang.opt.bc" .text .globl notmain @@ -13,8 +15,9 @@ .type notmain,%function notmain: @ @notmain @ BB#0: @ %entry - push {r4, lr} + push {r4, r11, lr} ldr r4, .LCPI0_0 + add r11, sp, #4 mov r0, r4 bl GET32 bic r0, r0, #1835008 @@ -23,8 +26,8 @@ notmain: @ @notmain bl PUT32 .LBB0_1: @ %while.body @ =>This Loop Header: Depth=1 - @ Child Loop BB0_4 Depth 2 @ Child Loop BB0_2 Depth 2 + @ Child Loop BB0_4 Depth 2 ldr r0, .LCPI0_1 mov r1, #65536 bl PUT32 @@ -62,3 +65,4 @@ notmain: @ @notmain .size notmain, .Ltmp0-notmain + .ident "clang version 3.4 (branches/release_34 201060)" diff --git a/blinker02/blinker02.elf b/blinker02/blinker02.elf index 2103a71..eee7d1c 100755 Binary files a/blinker02/blinker02.elf and b/blinker02/blinker02.elf differ diff --git a/blinker02/blinker02.list b/blinker02/blinker02.list index a2b09b5..1f5dd07 100644 --- a/blinker02/blinker02.list +++ b/blinker02/blinker02.list @@ -53,32 +53,24 @@ Disassembly of section .text: Disassembly of section .ARM.attributes: 00000000 <.ARM.attributes>: - 0: 00002c41 andeq r2, r0, r1, asr #24 + 0: 00002a41 andeq r2, r0, r1, asr #20 4: 61656100 cmnvs r5, r0, lsl #2 8: 01006962 tsteq r0, r2, ror #18 - c: 00000022 andeq r0, r0, r2, lsr #32 + c: 00000020 andeq r0, r0, r0, lsr #32 10: 4d524105 ldfmie f4, [r2, #-20] ; 0xffffffec - 14: 54347620 ldrtpl r7, [r4], #-1568 ; 0xfffff9e0 + 14: 54347620 ldrtpl r7, [r4], #-1568 ; 0x620 18: 08020600 stmdaeq r2, {r9, sl} 1c: 12010901 andne r0, r1, #16384 ; 0x4000 - 20: 15011404 strne r1, [r1, #-1028] ; 0xfffffbfc + 20: 15011404 strne r1, [r1, #-1028] ; 0x404 24: 18031701 stmdane r3, {r0, r8, r9, sl, ip} - 28: 2c011a01 stccs 10, cr1, [r1], {1} - 2c: Address 0x0000002c is out of bounds. + 28: Address 0x0000000000000028 is out of bounds. Disassembly of section .comment: 00000000 <.comment>: 0: 3a434347 bcc 10d0d24 - 4: 6f532820 svcvs 0x00532820 - 8: 65637275 strbvs r7, [r3, #-629]! ; 0xfffffd8b - c: 43207972 teqmi r0, #1867776 ; 0x1c8000 - 10: 4265646f rsbmi r6, r5, #1862270976 ; 0x6f000000 - 14: 68636e65 stmdavs r3!, {r0, r2, r5, r6, r9, sl, fp, sp, lr}^ - 18: 74694c20 strbtvc r4, [r9], #-3104 ; 0xfffff3e0 - 1c: 30322065 eorscc r2, r2, r5, rrx - 20: 302e3131 eorcc r3, lr, r1, lsr r1 - 24: 39362d39 ldmdbcc r6!, {r0, r3, r4, r5, r8, sl, fp, sp} - 28: 2e342029 cdpcs 0, 3, cr2, cr4, cr9, {1} - 2c: 00312e36 eorseq r2, r1, r6, lsr lr + 4: 4e472820 cdpmi 8, 4, cr2, cr7, cr0, {1} + 8: 34202955 strtcc r2, [r0], #-2389 ; 0x955 + c: 322e382e eorcc r3, lr, #3014656 ; 0x2e0000 + ... diff --git a/blinker02/blinker02.o b/blinker02/blinker02.o index 2c4dfd7..2539678 100644 Binary files a/blinker02/blinker02.o and b/blinker02/blinker02.o differ diff --git a/blinker02/vectors.o b/blinker02/vectors.o index 360bc05..9f692bb 100644 Binary files a/blinker02/vectors.o and b/blinker02/vectors.o differ diff --git a/blinker03/blinker03.list b/blinker03/blinker03.list index 6219617..8b50040 100644 --- a/blinker03/blinker03.list +++ b/blinker03/blinker03.list @@ -77,13 +77,13 @@ Disassembly of section .ARM.attributes: 8: 01006962 tsteq r0, r2, ror #18 c: 00000022 andeq r0, r0, r2, lsr #32 10: 4d524105 ldfmie f4, [r2, #-20] ; 0xffffffec - 14: 54347620 ldrtpl r7, [r4], #-1568 ; 0xfffff9e0 + 14: 54347620 ldrtpl r7, [r4], #-1568 ; 0x620 18: 08020600 stmdaeq r2, {r9, sl} 1c: 12010901 andne r0, r1, #16384 ; 0x4000 - 20: 15011404 strne r1, [r1, #-1028] ; 0xfffffbfc + 20: 15011404 strne r1, [r1, #-1028] ; 0x404 24: 18031701 stmdane r3, {r0, r8, r9, sl, ip} 28: 2c011a01 stccs 10, cr1, [r1], {1} - 2c: Address 0x0000002c is out of bounds. + 2c: Address 0x000000000000002c is out of bounds. Disassembly of section .comment: @@ -91,11 +91,11 @@ Disassembly of section .comment: 00000000 <.comment>: 0: 3a434347 bcc 10d0d24 4: 6f532820 svcvs 0x00532820 - 8: 65637275 strbvs r7, [r3, #-629]! ; 0xfffffd8b + 8: 65637275 strbvs r7, [r3, #-629]! ; 0x275 c: 43207972 teqmi r0, #1867776 ; 0x1c8000 10: 4265646f rsbmi r6, r5, #1862270976 ; 0x6f000000 14: 68636e65 stmdavs r3!, {r0, r2, r5, r6, r9, sl, fp, sp, lr}^ - 18: 74694c20 strbtvc r4, [r9], #-3104 ; 0xfffff3e0 + 18: 74694c20 strbtvc r4, [r9], #-3104 ; 0xc20 1c: 30322065 eorscc r2, r2, r5, rrx 20: 302e3131 eorcc r3, lr, r1, lsr r1 24: 39362d39 ldmdbcc r6!, {r0, r3, r4, r5, r8, sl, fp, sp} diff --git a/float03/float03.c b/float03/float03.c index fdb63a3..6a7812e 100644 --- a/float03/float03.c +++ b/float03/float03.c @@ -25,7 +25,7 @@ int notmain ( void ) m4vmov(0xABCDABCD); hexstring(m4add(0x00012345,0x00000111,0x3F801230,0x3F802220)); m4vmov(0xABCDABCD); - hexstring(m4add(0x00000111,0x00012345,0x3F801230,0x3F803330)); + hexstring(m4add(0x00000000,0x00012345,0x3F801230,0x3F803330)); m4vmov(0xABCDABCD); hexstring(m4add(0x3F801230,0x3F801110,0x00000111,0x00012345)); m4vmov(0xABCDABCD); diff --git a/newlib0/memmap b/newlib0/memmap index ceb0e66..9d54089 100644 --- a/newlib0/memmap +++ b/newlib0/memmap @@ -1,7 +1,7 @@ MEMORY { - ram : ORIGIN = 0x8000, LENGTH = 0x20000 + ram : ORIGIN = 0x8000, LENGTH = 0x18000 } SECTIONS