Due to issues like https://reviews.llvm.org/D70570 (with more details @ https://reviews.llvm.org/D38554 ), clang's support for freestanding / static model / "EABI" code is still slightly lacking on ppc32.
As such, I'm investigating building powerpc* kernel modules as PIC (enforced secure-plt on powerpc32)
- Add elf_cpu_parse_dynamic() to allow MD code to do its own DYNAMIC parsing. Add stubs to all link_elf.c platforms.
- Implement jump table relocation for ppc32 secure-plt LD_BIND_NOW style and add a check to ensure it is only loading secure-plt modules (using elf_cpu_parse_dynamic())
- Build kernel modules -fPIC on powerpc*.
- Poison the powerpc32 runtime resolver to ensure any attempts to call it cause an appropriate panic instead of a branch-to-zero.
Figure out why dtrace is broken again.Was due to CTF type bloat, again.
- Use elf_cpu_parse_dynamic() to make ppc64 module loading more robust?
- Document rationale behind this change
ELFv1 (gcc4) testing.ELFv1 works with -fPIC (and doesn't generate PLT slots.)
- add kib or jhb to reviewers list after this summary is cleaned up
- Using PIC kernel modules crashes GCC4 when compiling module<->module linker sets. (accf_http, etc.)