tags : Linkers, Loaders and Libraries, WebAssembly, Golang, Systems, syscalls

General cross compilation ideas

  • Cross compiler: Compiler capable of creating executable code for a platform other than the one on which the compiler is running on.
  • Levels (can be one or many)
    • Architecture: MIPS/x86/arm
    • Vendors: Mostly unknown
    • OS/Platform: FreeBSD/Linux
    • ABI: msul libc/glibc
  • The levels are usually just 3, called the platform target triple, the ABI is sometimes added.
  • sysroot: Directory which is considered to be the root directory for the purpose of locating headers and libraries.
  • toolchain: The set of compiler, linker, shared libs, any tools needed to produce the executable for the target.

Cross Compilation in Python

  • See Python
  • CPython interpreter you run when you type python3 is for a specific platform target triple
  • PEP11 mentions the different support tiers