Skip to content
This repository was archived by the owner on Jan 24, 2022. It is now read-only.

add thumbv8m baseline #147

Merged
merged 1 commit into from
Nov 4, 2018
Merged

add thumbv8m baseline #147

merged 1 commit into from
Nov 4, 2018

Conversation

evq
Copy link
Contributor

@evq evq commented Nov 3, 2018

No description provided.

@evq evq requested a review from a team as a code owner November 3, 2018 22:43
therealprof
therealprof previously approved these changes Nov 3, 2018
Copy link
Contributor

@therealprof therealprof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@therealprof
Copy link
Contributor

bors r+

bors bot added a commit that referenced this pull request Nov 3, 2018
147: add thumbv8m baseline r=therealprof a=evq



Co-authored-by: eV <[email protected]>
@therealprof
Copy link
Contributor

@evq I don't know what the status of thumbv8m as a target in Rust is but we once that is rolling we need to add it to CI.

@evq
Copy link
Contributor Author

evq commented Nov 3, 2018

I have a PR open to add the baseline target - which is waiting on another PR for a cargo change:
rust-lang/rust#55041

@bors
Copy link
Contributor

bors bot commented Nov 3, 2018

Build failed

@therealprof
Copy link
Contributor

@evq Maybe open tickets so we don't forget?

@therealprof
Copy link
Contributor

@evq Hm, you used a different toolchain to build this it seems.

@therealprof
Copy link
Contributor

+diff -u bin/thumbv8m.base-none-eabi.after bin/thumbv8m.base-none-eabi.before
--- bin/thumbv8m.base-none-eabi.after	2018-11-03 23:01:03.168136948 +0000
+++ bin/thumbv8m.base-none-eabi.before	2018-11-03 23:01:03.120136241 +0000
@@ -3,8 +3,8 @@
 cortex-m-rt.o:     file format elf32-littlearm
 
 
-Disassembly of section .HardFault:
+Disassembly of section .text.HardFault:
 
 00000000 <HardFault>:
    0:	f3ef 8008 	mrs	r0, MSP
-   4:	e7fe      	b.n	0 <UserHardFault>
+   4:	f7ff fffe 	bl	0 <UserHardFault>

@evq
Copy link
Contributor Author

evq commented Nov 3, 2018

Ah, I'm using arm-none-eabi-binutils-2.31.1-1 on Arch

@evq
Copy link
Contributor Author

evq commented Nov 3, 2018

Looks like the version installed in ci/install.sh is slightly older?

GNU assembler (GNU Tools for Arm Embedded Processors 7-2018-q2-update) 2.30.0.20180329

@therealprof
Copy link
Contributor

therealprof commented Nov 3, 2018

I guess more important is the question: Which one is the better version?

@evq
Copy link
Contributor Author

evq commented Nov 4, 2018

+   4:	f7ff fffe 	bl	0 <UserHardFault>

I think this is correct - right?

Since asm.s uses the bl instruction:

  .section .text.HardFault
  .global HardFault
  .thumb_func
HardFault:
  mrs r0, MSP
  bl UserHardFault

The ARMv8-M architecture reference manual seems to indicate that the bl instruction has two 16-bit components - which seems to match

@adamgreig
Copy link
Member

adamgreig commented Nov 4, 2018 via email

@evq
Copy link
Contributor Author

evq commented Nov 4, 2018

aha, thanks @adamgreig, that'll do it! :)

@thejpster
Copy link
Contributor

bors r+

bors bot added a commit that referenced this pull request Nov 4, 2018
147: add thumbv8m baseline r=thejpster a=evq



Co-authored-by: eV <[email protected]>
@bors
Copy link
Contributor

bors bot commented Nov 4, 2018

Build succeeded

@bors bors bot merged commit 8272cf8 into rust-embedded:master Nov 4, 2018
@evq evq deleted the thumbv8m.base branch November 4, 2018 19:00
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants