svn commit: r321183 - stable/11/sys/conf
Ed Maste
emaste at FreeBSD.org
Wed Jul 19 03:19:45 UTC 2017
Author: emaste
Date: Wed Jul 19 03:19:44 2017
New Revision: 321183
URL: https://svnweb.freebsd.org/changeset/base/321183
Log:
MFC r320235: retire arm64 kernel module linker workaround
Relocatable linking in aarch64 ld from binutils 2.25.1 does not work.
The linker corrupts the references to the external symbols which are
defined by other object in the linking set and should therefore lose
the GOT entry.
The problem is fixed in later versions of GNU ld and does not exist in
the in-tree lld linker that we now use by default for arm64, so the
workaround can be removed.
Sponsored by: The FreeBSD Foundation
Modified:
stable/11/sys/conf/kmod.mk
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/conf/kmod.mk
==============================================================================
--- stable/11/sys/conf/kmod.mk Wed Jul 19 02:50:08 2017 (r321182)
+++ stable/11/sys/conf/kmod.mk Wed Jul 19 03:19:44 2017 (r321183)
@@ -209,17 +209,7 @@ ${PROG}.debug: ${FULLPROG}
.if ${__KLD_SHARED} == yes
${FULLPROG}: ${KMOD}.kld
-.if ${MACHINE_CPUARCH} != "aarch64"
${LD} -Bshareable ${_LDFLAGS} -o ${.TARGET} ${KMOD}.kld
-.else
-#XXXKIB Relocatable linking in aarch64 ld from binutils 2.25.1 does
-# not work. The linker corrupts the references to the external
-# symbols which are defined by other object in the linking set
-# and should therefore loose the GOT entry. The problem seems
-# to be fixed in the binutils-gdb git HEAD as of 2015-10-04. Hack
-# below allows to get partially functioning modules for now.
- ${LD} -Bshareable ${_LDFLAGS} -o ${.TARGET} ${OBJS}
-.endif
.if !defined(DEBUG_FLAGS)
${OBJCOPY} --strip-debug ${.TARGET}
.endif
More information about the svn-src-stable-11
mailing list