JOB AD:
We are looking for an experienced Embedded Toolchain Engineer to join an engineering team, focusing on building and optimizing toolchains for embedded platforms. In this role, you will be responsible for patching, building, and cross-compiling compilers from source for multiple architectures and operating systems. A deep understanding of compiler internals and assembly languages is essential. You will also actively contribute to and engage with open-source communities, ensuring that toolchains for embedded systems remain cutting-edge and efficient.
Key Responsibilities:
- Patch and build GCC and LLVM/Clang from source, ensuring optimal performance and compatibility.
- Cross-compile toolchains from source for multiple platforms, including Windows, Linux (x86-64 and Aarch64), and MacOS (Aarch64).
- Debug, optimize, and maintain toolchain components, including compilers, linkers, and assemblers.
- Collaborate with internal teams to integrate and test toolchains within embedded software development workflows.
- Contribute to open-source projects and engage with the wider open-source community, participating in discussions, submitting patches, and collaborating with maintainers.
- Leverage a strong understanding of Arm ISA, Thumb-2 assembly, and RISC-V ISA to ensure toolchain optimizations for these architectures.
- Provide clear explanations and documentation on compiler fundamentals, including how GCC converts C to assembly and machine code.
- Stay updated on new developments in compiler technology and embedded toolchain advancements.
Mandatory Skills:
- Experience patching and building GCC and LLVM/Clang from source across various platforms and architectures.
- Ability to cross-compile toolchains for Windows, Linux x86-64 and Aarch64, and MacOS Aarch64 from source.
- Experience contributing to and working with open-source communities, including submitting patches and participating in discussions.
- Strong understanding of Arm ISA with experience in toolchain optimizations for Arm-based platforms.
- Reasonable understanding of the RISC-V ISA and RV32 assembly.
- Strong understanding of compiler fundamentals, including the ability to explain how GCC translates C into assembly and machine code, along with related optimization processes.
Preferred Skills (Strong Differentiators):
- Familiarity with Xtensa ISA and assembly.
- Experience with build systems such as Yocto/OpenEmbedded or comparable systems.
- Experience contributing to or writing an assembler for a custom ISA.
- Some knowledge of or willingness to learn Rust as the basis of future tools like custom assemblers, etc.
Why Join Us:
- Work with cutting-edge embedded technologies and compilers for various hardware platforms.
- Collaborate with open-source communities, contributing to impactful projects.
- Join a highly skilled team working on innovative solutions in embedded systems and toolchain development.
- Competitive salary, benefits, and flexible work options available.