Skip to content

Conversation

andre-richter
Copy link
Contributor

On AArch64, an unaligned access causes a synchronous exception. In the current
state of the target, the compiler might generate unaligned accesses, see
rust-embedded/rust-raspberrypi-OS-tutorials#10.

Since this is a bare-metal target, it is possible that there is no exception
handling in place (yet) to recover from this case, causing a binary to just
silently fail.

Add +strict-align to avoid this case.

On AArch64, an unaligned access causes a synchronous exception. In the current
state of the target, the compiler might generate unaligned accesses, see
rust-embedded/rust-raspberrypi-OS-tutorials#10.

Since this is a bare-metal target, it is possible that there is no exception
handling in place (yet) to recover from this case, causing a binary to just
silently fail.

Add `+strict-align` to avoid this case.
@rust-highfive
Copy link
Contributor

r? @cramertj

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 1, 2019
@andre-richter
Copy link
Contributor Author

@nagisa
Copy link
Member

nagisa commented Feb 1, 2019

@bors r+

@bors
Copy link
Collaborator

bors commented Feb 1, 2019

📌 Commit c4e4614 has been approved by nagisa

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 1, 2019
@bors
Copy link
Collaborator

bors commented Feb 2, 2019

⌛ Testing commit c4e4614 with merge 4af96ae...

bors added a commit that referenced this pull request Feb 2, 2019
targets: aarch64-unknown-none: Add +strict-align

On AArch64, an unaligned access causes a synchronous exception. In the current
state of the target, the compiler might generate unaligned accesses, see
rust-embedded/rust-raspberrypi-OS-tutorials#10.

Since this is a bare-metal target, it is possible that there is no exception
handling in place (yet) to recover from this case, causing a binary to just
silently fail.

Add `+strict-align` to avoid this case.
@bors
Copy link
Collaborator

bors commented Feb 2, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: nagisa
Pushing 4af96ae to master...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants