about summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide
diff options
context:
space:
mode:
authorJoshua Nelson <jnelson@cloudflare.com>2022-09-10 11:23:24 -0500
committerJoshua Nelson <github@jyn.dev>2022-09-12 18:48:21 -0500
commitc1fc7df2b17c8ac2ecbe248f8249101a9cb4a6d2 (patch)
treede1ec6051d31a04c19ccc2d1bda156ef27ed4f66 /src/doc/rustc-dev-guide
parent072e5eb38b4d6c2216c256165fa3558b0c77f29c (diff)
downloadrust-c1fc7df2b17c8ac2ecbe248f8249101a9cb4a6d2.tar.gz
rust-c1fc7df2b17c8ac2ecbe248f8249101a9cb4a6d2.zip
"symbol names" => ABI
ABI is more general and gives a better idea of what goes wrong.
Diffstat (limited to 'src/doc/rustc-dev-guide')
-rw-r--r--src/doc/rustc-dev-guide/src/building/bootstrapping.md9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/doc/rustc-dev-guide/src/building/bootstrapping.md b/src/doc/rustc-dev-guide/src/building/bootstrapping.md
index 7f2ede4f81c..75b64405439 100644
--- a/src/doc/rustc-dev-guide/src/building/bootstrapping.md
+++ b/src/doc/rustc-dev-guide/src/building/bootstrapping.md
@@ -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