Author: bdragon
Date: Thu Nov 14 19:56:42 2019
New Revision: 354713
URL: https://svnweb.freebsd.org/changeset/base/354713

Log:
  [PowerPC64] Fix broken kernel modules due to LLD 9+ TOC optimization
  
  LLD9 introduced a TOC optimization that isn't compatible with kernel dynamic
  linker causing panic when loading kernel modules (pf, linuxkpi etc.)
  
  This patch disables TOC optimization when building kernel modules.
  
  Submitted by: Alfredo Dal'Ava Junior <alfredo.jun...@eldorado.org.br>
  Approved by: jhibbits (mentor)
  Differential Revision: https://reviews.freebsd.org/D22317

Modified:
  head/sys/conf/kmod.mk

Modified: head/sys/conf/kmod.mk
==============================================================================
--- head/sys/conf/kmod.mk       Thu Nov 14 18:38:56 2019        (r354712)
+++ head/sys/conf/kmod.mk       Thu Nov 14 19:56:42 2019        (r354713)
@@ -169,6 +169,10 @@ CFLAGS+=   -funwind-tables
 
 .if ${MACHINE_CPUARCH} == powerpc
 CFLAGS+=       -mlongcall -fno-omit-frame-pointer
+.if ${LINKER_TYPE} == "lld"
+# TOC optimization in LLD (9.0) currently breaks kernel modules, so disable it
+LDFLAGS+=      --no-toc-optimize
+.endif
 .endif
 
 .if ${MACHINE_CPUARCH} == mips
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to