freebsd-skq/sys/sparc64
Brandon Bergren 7821a820d0 [PowerPC] Implement Secure-PLT jump table processing for ppc32.
Due to clang and LLD's tendency to use a PLT for builtins, and as they
don't have full support for EABI, we sometimes have to deal with a PLT in
.ko files in a clang-built kernel.

As such, augment the in-kernel linker to support jump table processing.

As there is no particular reason to support lazy binding in kernel modules,
only implement Secure-PLT immediate binding.

As part of these changes, add elf_cpu_parse_dynamic() to the MD API of the
in-kernel linker (except on platforms that use raw object files.)

The new function will allow MD code to act on MD tags in _DYNAMIC.

Use this new function in the PowerPC MD code to ensure BSS-PLT modules using
PLT will be rejected during insertion, and to poison the runtime resolver to
ensure we get a clear panic reason if a call is made to the resolver.

Reviewed by:	jhibbits
Differential Revision:	https://reviews.freebsd.org/D22608
2019-12-24 15:56:24 +00:00
..
central Clean up OF_getprop_alloc API 2018-04-08 22:59:34 +00:00
conf Set MALLOC_DEBUG_MAXZONES=1 in GENERIC-NODEBUG configurations. 2019-11-18 20:03:28 +00:00
ebus Clean up OF_getprop_alloc API 2018-04-08 22:59:34 +00:00
fhc Clean up OF_getprop_alloc API 2018-04-08 22:59:34 +00:00
include Introduce vm_page_astate. 2019-12-10 18:14:50 +00:00
isa Clean up OF_getprop_alloc API 2018-04-08 22:59:34 +00:00
pci add snps IP uart support / genaralize UART 2018-08-19 21:10:21 +00:00
sbus Clean up OF_getprop_alloc API 2018-04-08 22:59:34 +00:00
sparc64 [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00