diff --git a/ci/asm/app/release.objdump b/ci/asm/app/release.objdump index 4ef2b84..02c197d 100644 --- a/ci/asm/app/release.objdump +++ b/ci/asm/app/release.objdump @@ -3,21 +3,21 @@ app: file format ELF32-arm-little Disassembly of section .text: HardFault: - 40: b #-0x4 + b #-0x4 main: - 42: trap + trap Reset: - 44: bl #-0x6 - 48: trap + bl #-0x6 + trap DefaultExceptionHandler: - 4a: b #-0x4 + b #-0x4 UsageFault: - 4b: + HardFaultTrampoline: - 4c: mrs r0, msp - 50: b #-0x14 + mrs r0, msp + b #-0x14 diff --git a/ci/exceptions/app/app.objdump b/ci/exceptions/app/app.objdump index 3de3293..eefefac 100644 --- a/ci/exceptions/app/app.objdump +++ b/ci/exceptions/app/app.objdump @@ -3,111 +3,111 @@ app: file format ELF32-arm-little Disassembly of section .text: main: - 40: trap - 42: trap + trap + trap Reset: - 44: movw r1, #0x0 - 48: movw r0, #0x0 - 4c: movt r1, #0x2000 - 50: movt r0, #0x2000 - 54: subs r1, r1, r0 - 56: bl #0xd2 - 5a: movw r1, #0x0 - 5e: movw r0, #0x0 - 62: movt r1, #0x2000 - 66: movt r0, #0x2000 - 6a: subs r2, r1, r0 - 6c: movw r1, #0x0 - 70: movt r1, #0x0 - 74: bl #0x8 - 78: bl #-0x3c - 7c: trap + movw r1, #0x0 + movw r0, #0x0 + movt r1, #0x2000 + movt r0, #0x2000 + subs r1, r1, r0 + bl #0xd2 + movw r1, #0x0 + movw r0, #0x0 + movt r1, #0x2000 + movt r0, #0x2000 + subs r2, r1, r0 + movw r1, #0x0 + movt r1, #0x0 + bl #0x8 + bl #-0x3c + trap DefaultExceptionHandler: - 7e: b #-0x4 + b #-0x4 UsageFault: - 7f: sub sp, #0x19c + sub sp, #0x19c __aeabi_memcpy: - 80: push {r4, r5, r7, lr} - 82: cbz r2, #0x56 - 84: subs r3, r2, #0x1 - 86: and r12, r2, #0x3 - 8a: cmp r3, #0x3 - 8c: bhs #0x8 <__aeabi_memcpy+0x18> - 8e: movs r2, #0x0 - 90: cmp.w r12, #0x0 - 94: bne #0x26 <__aeabi_memcpy+0x3e> - 96: b #0x42 <__aeabi_memcpy+0x5c> - 98: sub.w lr, r2, r12 - 9c: movs r2, #0x0 - 9e: ldrb r3, [r1, r2] - a0: adds r4, r1, r2 - a2: strb r3, [r0, r2] - a4: adds r3, r0, r2 - a6: adds r2, #0x4 - a8: ldrb r5, [r4, #0x1] - aa: cmp lr, r2 - ac: strb r5, [r3, #0x1] - ae: ldrb r5, [r4, #0x2] - b0: strb r5, [r3, #0x2] - b2: ldrb r4, [r4, #0x3] - b4: strb r4, [r3, #0x3] - b6: bne #-0x1c <__aeabi_memcpy+0x1e> - b8: cmp.w r12, #0x0 - bc: beq #0x1c <__aeabi_memcpy+0x5c> - be: ldrb r3, [r1, r2] - c0: cmp.w r12, #0x1 - c4: strb r3, [r0, r2] - c6: beq #0x12 <__aeabi_memcpy+0x5c> - c8: adds r3, r2, #0x1 - ca: cmp.w r12, #0x2 - ce: ldrb r5, [r1, r3] - d0: strb r5, [r0, r3] - d2: it eq - d4: popeq {r4, r5, r7, pc} - d6: adds r2, #0x2 - d8: ldrb r1, [r1, r2] - da: strb r1, [r0, r2] - dc: pop {r4, r5, r7, pc} + push {r4, r5, r7, lr} + cbz r2, #0x56 + subs r3, r2, #0x1 + and r12, r2, #0x3 + cmp r3, #0x3 + bhs #0x8 <__aeabi_memcpy+0x18> + movs r2, #0x0 + cmp.w r12, #0x0 + bne #0x26 <__aeabi_memcpy+0x3e> + b #0x42 <__aeabi_memcpy+0x5c> + sub.w lr, r2, r12 + movs r2, #0x0 + ldrb r3, [r1, r2] + adds r4, r1, r2 + strb r3, [r0, r2] + adds r3, r0, r2 + adds r2, #0x4 + ldrb r5, [r4, #0x1] + cmp lr, r2 + strb r5, [r3, #0x1] + ldrb r5, [r4, #0x2] + strb r5, [r3, #0x2] + ldrb r4, [r4, #0x3] + strb r4, [r3, #0x3] + bne #-0x1c <__aeabi_memcpy+0x1e> + cmp.w r12, #0x0 + beq #0x1c <__aeabi_memcpy+0x5c> + ldrb r3, [r1, r2] + cmp.w r12, #0x1 + strb r3, [r0, r2] + beq #0x12 <__aeabi_memcpy+0x5c> + adds r3, r2, #0x1 + cmp.w r12, #0x2 + ldrb r5, [r1, r3] + strb r5, [r0, r3] + it eq + popeq {r4, r5, r7, pc} + adds r2, #0x2 + ldrb r1, [r1, r2] + strb r1, [r0, r2] + pop {r4, r5, r7, pc} __aeabi_memset: - de: cmp r1, #0x0 - e0: it eq - e2: bxeq lr - e4: push {r7, lr} - e6: subs r3, r1, #0x1 - e8: and r12, r1, #0x3 - ec: cmp r3, #0x3 - ee: bhs #0x2 <__aeabi_memset+0x16> - f0: movs r1, #0x0 - f2: b #0x14 <__aeabi_memset+0x2c> - f4: sub.w lr, r1, r12 - f8: movs r1, #0x0 - fa: strb r2, [r0, r1] - fc: adds r3, r0, r1 - fe: adds r1, #0x4 - 100: cmp lr, r1 - 102: strb r2, [r3, #0x3] - 104: strb r2, [r3, #0x2] - 106: strb r2, [r3, #0x1] - 108: bne #-0x12 <__aeabi_memset+0x1c> - 10a: cmp.w r12, #0x0 - 10e: pop.w {r7, lr} - 112: itt ne - 114: strbne r2, [r0, r1] - 116: cmpne.w r12, #0x1 - 11a: bne #0x0 <__aeabi_memset+0x40> - 11c: bx lr - 11e: add r0, r1 - 120: cmp.w r12, #0x2 - 124: strb r2, [r0, #0x1] - 126: it ne - 128: strbne r2, [r0, #0x2] - 12a: bx lr + cmp r1, #0x0 + it eq + bxeq lr + push {r7, lr} + subs r3, r1, #0x1 + and r12, r1, #0x3 + cmp r3, #0x3 + bhs #0x2 <__aeabi_memset+0x16> + movs r1, #0x0 + b #0x14 <__aeabi_memset+0x2c> + sub.w lr, r1, r12 + movs r1, #0x0 + strb r2, [r0, r1] + adds r3, r0, r1 + adds r1, #0x4 + cmp lr, r1 + strb r2, [r3, #0x3] + strb r2, [r3, #0x2] + strb r2, [r3, #0x1] + bne #-0x12 <__aeabi_memset+0x1c> + cmp.w r12, #0x0 + pop.w {r7, lr} + itt ne + strbne r2, [r0, r1] + cmpne.w r12, #0x1 + bne #0x0 <__aeabi_memset+0x40> + bx lr + add r0, r1 + cmp.w r12, #0x2 + strb r2, [r0, #0x1] + it ne + strbne r2, [r0, #0x2] + bx lr __aeabi_memclr: - 12c: movs r2, #0x0 - 12e: b.w #-0x54 <__aeabi_memset> + movs r2, #0x0 + b.w #-0x54 <__aeabi_memset> diff --git a/ci/logging/app2/dev.objdump b/ci/logging/app2/dev.objdump index 90d3604..3ec7237 100644 --- a/ci/logging/app2/dev.objdump +++ b/ci/logging/app2/dev.objdump @@ -1,2 +1,2 @@ -00000001 g .log 00000001 Goodbye -00000000 g .log 00000001 Hello, world! +00000001 g O .log 00000001 Goodbye +00000000 g O .log 00000001 Hello, world! diff --git a/ci/logging/app3/dev.objdump b/ci/logging/app3/dev.objdump index 90d3604..3ec7237 100644 --- a/ci/logging/app3/dev.objdump +++ b/ci/logging/app3/dev.objdump @@ -1,2 +1,2 @@ -00000001 g .log 00000001 Goodbye -00000000 g .log 00000001 Hello, world! +00000001 g O .log 00000001 Goodbye +00000000 g O .log 00000001 Hello, world! diff --git a/ci/logging/app4/dev.objdump b/ci/logging/app4/dev.objdump index 3e2d7b7..749cac0 100644 --- a/ci/logging/app4/dev.objdump +++ b/ci/logging/app4/dev.objdump @@ -1,3 +1,3 @@ -00000000 g .log 00000001 Goodbye -00000001 g .log 00000001 Hello, world! +00000000 g O .log 00000001 Goodbye +00000001 g O .log 00000001 Hello, world! 00000001 .log 00000000 __log_warning_start__ diff --git a/ci/main/app/app.objdump b/ci/main/app/app.objdump index 3d11e23..49bacf1 100644 --- a/ci/main/app/app.objdump +++ b/ci/main/app/app.objdump @@ -3,12 +3,12 @@ app: file format ELF32-arm-little Disassembly of section .text: main: - 8: sub sp, #4 - a: movs r0, #42 - c: str r0, [sp] - e: b #-2 - 10: b #-4 + sub sp, #4 + movs r0, #42 + str r0, [sp] + b #-2 + b #-4 Reset: - 12: bl #-14 - 16: trap + bl #-14 + trap diff --git a/ci/memory-layout/app.text.objdump b/ci/memory-layout/app.text.objdump index 052f6f9..308f7f8 100644 --- a/ci/memory-layout/app.text.objdump +++ b/ci/memory-layout/app.text.objdump @@ -3,8 +3,8 @@ app: file format ELF32-arm-little Disassembly of section .text: Reset: - 8: sub sp, #4 - a: movs r0, #42 - c: str r0, [sp] - e: b #-2 - 10: b #-4 + sub sp, #4 + movs r0, #42 + str r0, [sp] + b #-2 + b #-4 diff --git a/ci/script.sh b/ci/script.sh index b5bc27f..bbf0afc 100644 --- a/ci/script.sh +++ b/ci/script.sh @@ -42,7 +42,7 @@ main() { # check that the Reset symbol is there diff app.text.objdump \ - <(cargo objdump --bin app -- -d -no-show-raw-insn) + <(cargo objdump --bin app -- -d -no-show-raw-insn -no-leading-addr) # check that the reset vector is there and has the right address diff app.vector_table.objdump \ @@ -60,7 +60,7 @@ main() { # check that the disassembly matches pushd app diff app.objdump \ - <(cargo objdump --bin app -- -d -no-show-raw-insn) + <(cargo objdump --bin app -- -d -no-show-raw-insn -no-leading-addr) # disabled because of rust-lang/rust#53964 # edition_check popd @@ -95,7 +95,7 @@ main() { # check that the disassembly matches pushd app diff app.objdump \ - <(cargo objdump --bin app --release -- -d -no-show-raw-insn -print-imm-hex) + <(cargo objdump --bin app --release -- -d -no-show-raw-insn -print-imm-hex -no-leading-addr) diff app.vector_table.objdump \ <(cargo objdump --bin app --release -- -s -j .vector_table) edition_check @@ -116,7 +116,7 @@ main() { # check that the disassembly matches pushd app diff release.objdump \ - <(cargo objdump --bin app --release -- -d -no-show-raw-insn -print-imm-hex) + <(cargo objdump --bin app --release -- -d -no-show-raw-insn -print-imm-hex -no-leading-addr) diff release.vector_table \ <(cargo objdump --bin app --release -- -s -j .vector_table) edition_check @@ -133,7 +133,7 @@ main() { # check that the disassembly matches pushd app2 diff release.objdump \ - <(cargo objdump --bin app --release -- -d -no-show-raw-insn -print-imm-hex) + <(cargo objdump --bin app --release -- -d -no-show-raw-insn -print-imm-hex -no-leading-addr) diff release.vector_table \ <(cargo objdump --bin app --release -- -s -j .vector_table) edition_check diff --git a/ci/singleton/app/dev.objdump b/ci/singleton/app/dev.objdump index 90d3604..3ec7237 100644 --- a/ci/singleton/app/dev.objdump +++ b/ci/singleton/app/dev.objdump @@ -1,2 +1,2 @@ -00000001 g .log 00000001 Goodbye -00000000 g .log 00000001 Hello, world! +00000001 g O .log 00000001 Goodbye +00000000 g O .log 00000001 Hello, world!