@@ -54,15 +54,15 @@ You can pretty much copy that output into your file. Start with a few modificati
54
54
` "panic-strategy": "abort" ` . If you decide not to ` abort ` on panicking, unless you [ tell Cargo
55
55
to] [ eh_personality ] , you must define an [ eh_personality] function.
56
56
- Configure atomics. Pick the first option that describes your target:
57
- - I have a single-core processor, no threads, no interrupts, or any way for multiple things to be
58
- happening in parallel: if you are ** sure** that is the case, such as WASM (for now), you may set
59
- ` "singlethread": true ` . This will configure LLVM to convert all atomic operations to use their
60
- single threaded counterparts.
57
+ - I have a single-core processor, no threads, ** no interrupts** , or any way for multiple things to
58
+ be happening in parallel: if you are ** sure** that is the case, such as WASM (for now), you may
59
+ set ` "singlethread": true ` . This will configure LLVM to convert all atomic operations to use
60
+ their single threaded counterparts.
61
61
- I have native atomic operations: set ` max-atomic-width ` to the biggest type in bits that your
62
62
target can operate on atomically. For example, many ARM cores have 32-bit atomic operations. You
63
63
may set ` "max-atomic-width": 32 ` in that case.
64
64
- I have no native atomic operations, but I can emulate them myself: set ` max-atomic-width ` to the
65
- highest number of bits that you can emulate up to 64 , then implement all of the
65
+ highest number of bits that you can emulate up to 128 , then implement all of the
66
66
[ atomic] [ libcalls-atomic ] and [ sync] [ libcalls-atomic ] functions expected by LLVM as
67
67
` #[no_mangle] unsafe extern "C" ` . These functions have been standardized by gcc, so the [ gcc
68
68
documentation] [ gcc-sync ] may have more notes. Missing functions will cause a linker error, while
0 commit comments