Skip to content

Commit 8847806

Browse files
committed
CI: Update exceptions CI for latest Rust and GCC
1 parent 3923130 commit 8847806

File tree

5 files changed

+89
-73
lines changed

5 files changed

+89
-73
lines changed

.github/bors.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
block_labels = ["needs-decision"]
22
delete_merged_branches = true
33
required_approvals = 1
4-
status = ["build"]
4+
status = [
5+
"build (stable)",
6+
"build (1.51.0)",
7+
]

ci/exceptions/app/app.objdump

Lines changed: 79 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -9,112 +9,125 @@ Disassembly of section .text:
99
trap
1010

1111
<Reset>:
12+
push {r7, lr}
13+
mov r7, sp
1214
movw r1, #0x0
1315
movw r0, #0x0
1416
movt r1, #0x2000
1517
movt r0, #0x2000
1618
subs r1, r1, r0
17-
bl #0xe2
19+
bl #0x34
1820
movw r1, #0x0
1921
movw r0, #0x0
2022
movt r1, #0x2000
2123
movt r0, #0x2000
2224
subs r2, r1, r0
23-
movw r1, #0x142
25+
movw r1, #0x16c
2426
movt r1, #0x0
2527
bl #0x8
26-
bl #-0x3c
28+
bl #-0x40
2729
trap
2830

29-
DefaultExceptionHandler:
30-
b #-0x4 <DefaultExceptionHandler>
31+
<UsageFault>:
32+
b #-0x4 <UsageFault>
3133

32-
UsageFault:
33-
blo.w #0x2756a <_sidata+0x274ab>
34+
<__aeabi_memcpy>:
35+
b.w #0x10 <memcpy>
3436

35-
__aeabi_memcpy:
37+
<__aeabi_memset>:
38+
mov r3, r1
39+
mov r1, r2
40+
mov r2, r3
41+
b.w #0x84 <memset>
42+
43+
<__aeabi_memclr>:
44+
movs r2, #0x0
45+
b.w #-0x10 <__aeabi_memset>
46+
47+
<memcpy>:
3648
push {r4, r5, r6, r7, lr}
37-
cbz r2, #0x60
49+
add r7, sp, #0xc
50+
str r8, [sp, #-4]!
51+
cbz r2, #0x10
3852
subs r3, r2, #0x1
3953
and r12, r2, #0x3
4054
cmp r3, #0x3
41-
bhs #0x8 <__aeabi_memcpy+0x18>
55+
bhs #0xc <memcpy+0x22>
4256
movs r2, #0x0
4357
cmp.w r12, #0x0
44-
bne #0x32 <__aeabi_memcpy+0x4a>
45-
b #0x4c <__aeabi_memcpy+0x66>
46-
sub.w lr, r12, r2
47-
adds r3, r1, #0x1
48-
adds r4, r0, #0x1
58+
bne #0x3e <memcpy+0x5c>
59+
ldr r8, [sp], #4
60+
pop {r4, r5, r6, r7, pc}
61+
bic r2, r2, #0x3
62+
add.w lr, r0, #0x1
63+
rsbs r4, r2, #0
64+
add.w r8, r1, #0x1
4965
mvn r2, #0x3
50-
adds r6, r3, r2
51-
adds r5, r4, r2
52-
adds r2, #0x4
53-
ldrb r7, [r6, #0x3]
54-
strb r7, [r5, #0x3]
55-
ldrb r7, [r6, #0x4]
56-
strb r7, [r5, #0x4]
57-
ldrb r7, [r6, #0x5]
58-
strb r7, [r5, #0x5]
59-
ldrb r6, [r6, #0x6]
60-
strb r6, [r5, #0x6]
66+
add.w r6, r8, r2
6167
add.w r5, lr, r2
62-
adds r5, #0x4
63-
bne #-0x20 <__aeabi_memcpy+0x24>
68+
adds r2, #0x4
69+
ldrb r3, [r6, #0x3]
70+
strb r3, [r5, #0x3]
71+
ldrb r3, [r6, #0x4]
72+
strb r3, [r5, #0x4]
73+
ldrb r3, [r6, #0x5]
74+
strb r3, [r5, #0x5]
75+
ldrb r3, [r6, #0x6]
76+
strb r3, [r5, #0x6]
77+
adds r3, r4, r2
78+
adds r3, #0x4
79+
bne #-0x22 <memcpy+0x34>
6480
adds r2, #0x4
6581
cmp.w r12, #0x0
66-
beq #0x1a <__aeabi_memcpy+0x66>
82+
beq #-0x42 <memcpy+0x1c>
6783
ldrb r3, [r1, r2]
6884
cmp.w r12, #0x1
6985
strb r3, [r0, r2]
70-
beq #0x10 <__aeabi_memcpy+0x66>
86+
beq #-0x4c <memcpy+0x1c>
7187
adds r3, r2, #0x1
7288
cmp.w r12, #0x2
73-
ldrb r7, [r1, r3]
74-
strb r7, [r0, r3]
75-
beq #0x4 <__aeabi_memcpy+0x66>
89+
ldrb r6, [r1, r3]
90+
strb r6, [r0, r3]
91+
beq #-0x58 <memcpy+0x1c>
7692
adds r2, #0x2
7793
ldrb r1, [r1, r2]
7894
strb r1, [r0, r2]
95+
ldr r8, [sp], #4
7996
pop {r4, r5, r6, r7, pc}
8097

81-
__aeabi_memset:
82-
push {r4, lr}
83-
cmp r1, #0x0
84-
it eq
85-
popeq {r4, pc}
86-
subs r3, r1, #0x1
87-
and r12, r1, #0x3
98+
<memset>:
99+
push {r4, r6, r7, lr}
100+
add r7, sp, #0x8
101+
cbz r2, #0x3e
102+
subs r3, r2, #0x1
103+
and r12, r2, #0x3
88104
cmp r3, #0x3
89-
bhs #0x2 <__aeabi_memset+0x16>
90-
movs r1, #0x0
91-
b #0x1e <__aeabi_memset+0x36>
92-
sub.w lr, r12, r1
93-
adds r1, r0, #0x1
94-
mvn r3, #0x3
95-
adds r4, r1, r3
96-
adds r3, #0x4
97-
strb r2, [r4, #0x6]
98-
strb r2, [r4, #0x5]
99-
strb r2, [r4, #0x4]
100-
strb r2, [r4, #0x3]
101-
add.w r4, lr, r3
105+
bhs #0x2 <memset+0x14>
106+
movs r2, #0x0
107+
b #0x22 <memset+0x38>
108+
bic r2, r2, #0x3
109+
add.w lr, r0, #0x1
110+
rsbs r3, r2, #0
111+
mvn r2, #0x3
112+
add.w r4, lr, r2
113+
adds r2, #0x4
114+
strb r1, [r4, #0x6]
115+
strb r1, [r4, #0x5]
116+
strb r1, [r4, #0x4]
117+
strb r1, [r4, #0x3]
118+
adds r4, r3, r2
102119
adds r4, #0x4
103-
bne #-0x16 <__aeabi_memset+0x20>
104-
adds r1, r3, #0x4
120+
bne #-0x16 <memset+0x22>
121+
adds r2, #0x4
105122
cmp.w r12, #0x0
106123
itt ne
107-
strbne r2, [r0, r1]
124+
strbne r1, [r0, r2]
108125
cmpne.w r12, #0x1
109-
bne #0x0 <__aeabi_memset+0x46>
110-
pop {r4, pc}
111-
add r0, r1
126+
bne #0x0 <memset+0x48>
127+
pop {r4, r6, r7, pc}
128+
add r2, r0
112129
cmp.w r12, #0x2
113-
strb r2, [r0, #0x1]
130+
strb r1, [r2, #0x1]
114131
it ne
115-
strbne r2, [r0, #0x2]
116-
pop {r4, pc}
117-
118-
__aeabi_memclr:
119-
movs r2, #0x0
120-
b.w #-0x5a <__aeabi_memset>
132+
strbne r1, [r2, #0x2]
133+
pop {r4, r6, r7, pc}

ci/exceptions/app/app.vector_table.objdump

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
app: file format elf32-littlearm
33

44
Contents of section .vector_table:
5-
0000 00000120 45000000 7f000000 7f000000 ... E...........
6-
0010 7f000000 7f000000 7f000000 00000000 ................
7-
0020 00000000 00000000 00000000 7f000000 ................
8-
0030 00000000 00000000 7f000000 7f000000 ................
5+
0000 00000120 45000000 83000000 83000000 ... E...........
6+
0010 83000000 83000000 83000000 00000000 ................
7+
0020 00000000 00000000 00000000 83000000 ................
8+
0030 00000000 00000000 83000000 83000000 ................

ci/exceptions/app/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ entry!(main);
1010

1111
fn main() -> ! {
1212
// this executes the undefined instruction (UDF) and causes a HardFault exception
13-
unsafe { intrinsics::abort() }
13+
intrinsics::abort()
1414
}

ci/exceptions/app2/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use rt::entry;
99
entry!(main);
1010

1111
fn main() -> ! {
12-
unsafe { intrinsics::abort() }
12+
intrinsics::abort()
1313
}
1414

1515
#[no_mangle]

0 commit comments

Comments
 (0)