Toolchain and Build Session
Agenda
Incremental builds with bmake and so on (BSDCam holdover) (punted to BSDCan)
- Review GPL in base status (BSDCam holdover)
- Brief comparison of NetBSD (build.sh) vs buildworld/installworld/release
- External toolchain status
- GCC Support
Notes
Review of GPLinBase
- Recent changes for editorial intent (pro-permissive, not anti-GPL)
- linker (mclinker)
- Is it feature complete?
- linker scripts supported, not sure of exact feature set?
- include directive (hps)
- Is it feature complete?
- diff
- Recollection that the issue with OpenBSD's diff was wide char support
- binutils
- FreeBSD stuff has been upstreamed
- Need a detailed breakout and to decide which pieces we should take from where
- dtc
- Done except for removing GPL version from tree
- gcc (in tree)
- esoteric architecture support needs to be upstreamed
- format extensions patch needed for cross ports
- libgcc
undwinder -> libunwind
- ~60% done
- groff
roff papers -> to doc repo
- Some ports install things that mandoc won't render, but groff does
- bapt@ to add hook to find ports that do not work with mandoc
- gdb
- gone by 11
- Should be building lldb by default by 10.1
NetBSD build.sh, build
- Some discussion about build.sh vs alternative approaches to bootstrapping build tools
- Needs to be more organized with pre-prep by FreeBSD and NetBSD people to be highly useful
- NO_ROOT needs to be better documented
External Toolchain
Mostly about status of Warner's work to support GCC.
- 4.9 is target for patches. Estimate at ~1500 lines of relevant patches.
- our tree (loc) :
- modernize x86 bulk of patches not needed in newer versions (5000)
- backported and relicensed gcc bugfixes (2500)
- FreeBSD specific architecture changes (2000)
- printf extensions (150)
- our tree (loc) :
- make issues due to gcc differences
- how gcc --sysroot support works still unclear
- -B differs in meaning
- make format extensions a COMPILER_FEATURE
Should have a way to include a .mk file to describe external toolchain: TOOLCHAIN= <foo>.mk
- Need to document external toolchain
Actions
- add ports impact (column), e.g. gperf, texinfo to GPLinBase (bapt)
- Break out binutils in GPLinBase (brooks, emaste)
- Follow up with DES re diff status (gavin)
- Move roff papers to doc repo (???)
- Add ports infrastructure to detect invalid man pages for groff depend (bapt)
- Have a kernel build session at BSDCan (brooks)
- Merge architecture specific gcc patches upstream (imp, etc)
- make WITH(OUT)_FORMAT_EXTENSIONS a COMPILER_FEATURE (brooks)
- Need to document external toolchain support (brooks, imp)
- Need cross gcc ports (imp)
- Should figure out a standardizable way to implemnt format extensions as #pragmas (theraven)