"symbol names" => ABI
ABI is more general and gives a better idea of what goes wrong.
This commit is contained in:
parent
01c550ef63
commit
150bafb8d0
|
|
@ -73,9 +73,12 @@ In theory, the stage1 compiler is functionally identical to the stage2 compiler,
|
|||
but in practice there are subtle differences.
|
||||
In particular, the stage1 compiler itself was built by stage0
|
||||
and hence not by the source in your working directory.
|
||||
This means that the symbol names used in the compiler source
|
||||
may not match the symbol names that would have been made by the stage1 compiler,
|
||||
which can cause problems for dynamic libraries and tests.
|
||||
This means that the ABI generated by the stage0 compiler may not match the ABI that would have been
|
||||
made by the stage1 compiler, which can cause problems for dynamic libraries, tests, and tools using
|
||||
`rustc_private`.
|
||||
|
||||
Note that the `proc_macro` crate avoids this issue with a C FFI layer called `proc_macro::bridge`,
|
||||
allowing it to be used with stage 1.
|
||||
|
||||
The `stage2` compiler is the one distributed with `rustup` and all other install methods.
|
||||
However, it takes a very long time to build
|
||||
|
|
|
|||
Loading…
Reference in New Issue