Jörg Sonnenberger
NetBSD and Clang
NetBSD developer summit @EuroBSDCon 2015
Agenda
- Executive summary
- OpenMP
- libc
- NetBSD/x86
- NetBSD/ARM
- NetBSD/PowerPC
- NetBSD/Sparc
- NetBSD/MIPS
Executive summary
- x86 + ARM + PPC: sort out library situation, testing
- Sparc: complex, IAS
- Mips: sort out ABI issues, GAS compat, IAS
OpenMP
- Two runtimes supported: GNU OMP + LLVM OMP
- Not required for building the commpiler, unlike with GCC
- GNU OMP: single threaded only
- LLVM OMP: build system still a bit messy
- Runtime in base?
libc
- Goal: drop libgcc requirement
- Milli code by using linker script as libc.so
- Many side projects to decide on:
- NIS vs master.passwd
- NSS reorg
- Separate ancient libdb out
- Separate BIND resolver out
- How to deal with static binaries?
- Symbol versioning
- ...
- Checkout libc/shlib_major
- Branch libc? Do multiple bumps in phases?
NetBSD/x86
- IAS still has a few issues with explicit data / address size overrides
NetBSD/ARM
- IAS lacks compatibility for old-style assembly
- pre-ARMv6 needs testing, not a focus of ARM
NetBSD/PowerPC
- Lightly tested only so far, but in the build rotation
NetBSD/Sparc
- WIP, doesn't build a full release yet
- IAS: relocations in the immediate field still unsupported
- Sparc V9: aliases, memory ops
- Some ABI implementation issues still open: va_arg with aggregates/unions, complex
-
NetBSD/MIPS
- WIP, doesn't build a full release yet
- IAS: some non-immediate forms are not completely supported
- IAS: missing some aliases
- .ehframe still a bit problematic
- PIC vs non-PIC still a bit problematic
- Need to learn MIPS assembler...