aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bors[bot] <26634292+bors[bot]@users.noreply.github.com> 2019-07-04 22:09:59 +0000
committerGravatar bors[bot] <26634292+bors[bot]@users.noreply.github.com> 2019-07-04 22:09:59 +0000
commit0788bd9226831d2748b16d300a212981b61aa7c9 (patch)
tree9c706b1fb7cb18251bd20b4e0cc34903d42d81c4
parent3df114db27ca9201bb5e9c27eaed4c39e137c0ea (diff)
parent51540046dc1e20f069b5f9ce5be76604b9ada745 (diff)
downloadcortex-m-0788bd9226831d2748b16d300a212981b61aa7c9.tar.gz
cortex-m-0788bd9226831d2748b16d300a212981b61aa7c9.tar.zst
cortex-m-0788bd9226831d2748b16d300a212981b61aa7c9.zip
Merge #152
152: Fix __delay asm function for the thumbv6m-none-eabi target r=therealprof a=Disasm Before: ``` 00000000 <__delay>: 0: 46c0 nop ; (mov r8, r8) 2: 3801 subs r0, #1 4: d1fe bne.n 0 <__delay> 4: R_ARM_THM_JUMP8 __delay 6: 4770 bx lr ``` After: ``` 00000000 <__delay>: 0: 46c0 nop ; (mov r8, r8) 2: 3801 subs r0, #1 4: d1fc bne.n 0 <__delay> 6: 4770 bx lr ``` Closes https://github.com/rust-embedded/cortex-m/issues/125 Co-authored-by: Vadim Kaushan <admin@disasm.info>
-rw-r--r--asm.s3
-rw-r--r--bin/thumbv6m-none-eabi.abin2862 -> 2806 bytes
-rw-r--r--bin/thumbv7em-none-eabi.abin5094 -> 5034 bytes
-rw-r--r--bin/thumbv7em-none-eabihf.abin5094 -> 5034 bytes
-rw-r--r--bin/thumbv7m-none-eabi.abin4036 -> 3976 bytes
-rw-r--r--bin/thumbv8m.base-none-eabi.abin2870 -> 2810 bytes
-rw-r--r--bin/thumbv8m.main-none-eabi.abin2720 -> 2810 bytes
7 files changed, 2 insertions, 1 deletions
diff --git a/asm.s b/asm.s
index bf2fd46..1ad6fed 100644
--- a/asm.s
+++ b/asm.s
@@ -31,9 +31,10 @@ __cpsie:
.syntax unified
.thumb_func
__delay:
+1:
nop
subs r0, #1
- bne __delay
+ bne 1b // Branch to 1 instead of __delay does not generate R_ARM_THM_JUMP8 relocation, which breaks linking on the thumbv6m-none-eabi target
bx lr
.section .text.__dmb
diff --git a/bin/thumbv6m-none-eabi.a b/bin/thumbv6m-none-eabi.a
index 2418bfc..2b04c3a 100644
--- a/bin/thumbv6m-none-eabi.a
+++ b/bin/thumbv6m-none-eabi.a
Binary files differ
diff --git a/bin/thumbv7em-none-eabi.a b/bin/thumbv7em-none-eabi.a
index bd58e2b..51f1b0e 100644
--- a/bin/thumbv7em-none-eabi.a
+++ b/bin/thumbv7em-none-eabi.a
Binary files differ
diff --git a/bin/thumbv7em-none-eabihf.a b/bin/thumbv7em-none-eabihf.a
index bd58e2b..51f1b0e 100644
--- a/bin/thumbv7em-none-eabihf.a
+++ b/bin/thumbv7em-none-eabihf.a
Binary files differ
diff --git a/bin/thumbv7m-none-eabi.a b/bin/thumbv7m-none-eabi.a
index 9e34403..15c638d 100644
--- a/bin/thumbv7m-none-eabi.a
+++ b/bin/thumbv7m-none-eabi.a
Binary files differ
diff --git a/bin/thumbv8m.base-none-eabi.a b/bin/thumbv8m.base-none-eabi.a
index 6c6ce41..7a88f95 100644
--- a/bin/thumbv8m.base-none-eabi.a
+++ b/bin/thumbv8m.base-none-eabi.a
Binary files differ
diff --git a/bin/thumbv8m.main-none-eabi.a b/bin/thumbv8m.main-none-eabi.a
index 6dddb2e..ddf83c1 100644
--- a/bin/thumbv8m.main-none-eabi.a
+++ b/bin/thumbv8m.main-none-eabi.a
Binary files differ