freebsd-dev/sys/mips
Mark Johnston 36716fe2e6 Prepare the kernel linker to handle PC-relative ifunc relocations.
The boot-time ifunc resolver assumes that it only needs to apply
IRELATIVE relocations to PLT entries.  With an upcoming optimization,
this assumption no longer holds, so add the support required to handle
PC-relative relocations targeting GNU_IFUNC symbols.
- Provide a custom symbol lookup routine that can be used in early boot.
  The default lookup routine uses kobj, which is not functional at that
  point.
- Apply all existing relocations during boot rather than filtering
  IRELATIVE relocations.
- Ensure that we continue to apply ifunc relocations in a second pass
  when loading a kernel module.

Reviewed by:	kib
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D16749
2018-08-22 20:44:30 +00:00
..
atheros add snps IP uart support / genaralize UART 2018-08-19 21:10:21 +00:00
beri Add SMP support for BERI CPU. 2018-04-12 17:43:19 +00:00
broadcom add snps IP uart support / genaralize UART 2018-08-19 21:10:21 +00:00
cavium add snps IP uart support / genaralize UART 2018-08-19 21:10:21 +00:00
conf Remove duplicate configuration values as they are already defined in 2018-07-06 13:31:06 +00:00
gxemul sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
include Make cache coherency attributes definitions available in machine/vm.h on MIPS. 2018-08-01 18:35:17 +00:00
ingenic Eliminate kmem_alloc_contig()'s unused arena parameter. 2018-08-20 15:57:27 +00:00
malta add snps IP uart support / genaralize UART 2018-08-19 21:10:21 +00:00
mediatek follow-up to r336635, update TAILQ to CK_SLIST for ie_handlers 2018-07-23 15:36:55 +00:00
mips Prepare the kernel linker to handle PC-relative ifunc relocations. 2018-08-22 20:44:30 +00:00
nlm OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
sibyte sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00