feat: x86_64-montauk userspace cross toolchain
Add build-montauk-toolchain.sh: builds an OS-aware cross GCC/binutils (same versions and prefix as the bare-metal x86_64-elf toolchain) whose x86_64-montauk target links static ET_EXEC binaries against the Montauk libc sysroot with no special flags: 4 KiB max page size for the kernel ELF loader, -mno-red-zone by default, crt1/crti/crtn + -lc from the sysroot, __montauk__ defined. Target patches are checked into toolchain/patches/, the GCC target header into toolchain/files/. sys/types.h now includes <stdint.h> so hosted code (libgcov and friends) sees intptr_t via the stdio include chain. Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
@@ -3,6 +3,12 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/* Fixed-width and pointer-sized integer types. Freestanding builds get
|
||||
this from the kernel freestanding headers; the cross toolchain from
|
||||
the GCC-provided stdint.h. Hosted code (e.g. libgcov) expects
|
||||
intptr_t to be visible via the stdio/stdlib include chain. */
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user