fix: toolchain - update docs

This commit is contained in:
2026-08-07 16:27:09 +02:00
parent 53d3e6c568
commit b77449faeb
2 changed files with 89 additions and 9 deletions
+11 -5
View File
@@ -121,8 +121,12 @@ cp -r "${REPO_DIR}/programs/include/libc/." "${SYSROOT}/usr/include/"
cp -r "${REPO_DIR}/programs/include/montauk" "${SYSROOT}/usr/include/montauk"
cp -r "${REPO_DIR}/programs/include/Api" "${SYSROOT}/usr/include/Api"
# Freestanding C++ headers (<cstdint>, <type_traits>, <atomic>, ...) —
# there is no hosted libstdc++ yet, so C++ programs get the same
# freestanding subset the rest of the tree builds against.
# the subset the kernel and the in-tree programs build against. This is
# NOT the whole C++ story: a hosted libstdc++ is built further down and
# installs its own headers under ${PREFIX}/x86_64-montauk/include/c++.
# That directory comes first on the include path and this one comes
# last, so a plain g++ invocation gets the hosted headers and these are
# shadowed. See "C++ standard library" in README.md.
cp -r "${REPO_DIR}/kernel/freestnd-cxx-hdrs/x86_64/include/." "${SYSROOT}/usr/include/"
cp "${REPO_DIR}/programs/lib/libc/crt1.o" \
"${REPO_DIR}/programs/lib/libc/crti.o" \
@@ -161,9 +165,11 @@ else
fi
# ── Build GCC ─────────────────────────────────────────────────────────────────
# Hosted against the Montauk libc headers in the sysroot. Only the
# compiler and libgcc are built; libstdc++ needs a more complete libc
# (that is the self-hosting step, not the cross-toolchain step).
# Hosted against the Montauk libc headers in the sysroot. Builds the
# compiler, libgcc, and a hosted libstdc++ (full STL: string/vector/map,
# exceptions, RTTI, iostream). libstdc++ is built gthr-single because
# the libc has no pthreads, so <thread>/<mutex> are absent and
# shared_ptr uses non-atomic refcounts. See README.md.
if [[ -x "${PREFIX}/bin/${TARGET}-gcc" ]]; then
bold "GCC already installed — skipping."
else