This repository was archived by the owner on Sep 2, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 21
Data layout specification is incompatible with atomic loads and stores #214
Labels
Comments
Do we want/have the floating point specified in the above data layout yet? |
@rjordans ¯_(ツ)_/¯ It's already there in some form. |
This seems like a good idea. Would like to wait until you updated #213 so I can check it fixes it. |
Since avr doesn't support atomic operations you should add "max-atomic-width": 0 to the Rust target specification. This will disable atomic types in libcore. |
We actually have some minimal emulation of atomic types: disable interrupts, perform the operation, re-enable interrupts. |
Fixed in 5f12f20 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Rust generates atomic loads and stores using the alignment specified by the data layout. However, it's forbidden to load from e.g. a 16-bit value with less than 16-bits of alignment.
This can be fixed by changing the data layout:
Although I'm not sure what all potential fallout this might have (#213 maybe?)
The text was updated successfully, but these errors were encountered: