Closed shepmaster closed 8 years ago
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.
Would like to wait until you updated #213 so I can check it fixes it.
Oh, #213 happens after I've made this change locally; I'm worried that this change causes that issue. Still trying to reproduce and reduce that issue :-)
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.
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 5f12f20bafa50b178395177cb98aef7de5f68e73
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?)