Use -znorelro for kernel modules, when they are linked as shared
binaries (e.g. on any arch except amd64 and mips). Otherwise, with lld 9, after https://reviews.llvm.org/rLLD356117, the modules will get an additional PT_LOAD segment, which blows up kldxref, since that has a hardcoded limit of 3 segments. I could have alternatively bumped up that limit, but since kernel modules do not use relro, the simplest workaround is to explicitly disable it.
This commit is contained in:
parent
c0e18e70bd
commit
82dd45423b
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/projects/clang900-import/; revision=352098
@ -230,7 +230,7 @@ ${PROG}.debug: ${FULLPROG}
|
||||
|
||||
.if ${__KLD_SHARED} == yes
|
||||
${FULLPROG}: ${KMOD}.kld
|
||||
${LD} -m ${LD_EMULATION} -Bshareable -znotext ${_LDFLAGS} \
|
||||
${LD} -m ${LD_EMULATION} -Bshareable -znotext -znorelro ${_LDFLAGS} \
|
||||
-o ${.TARGET} ${KMOD}.kld
|
||||
.if !defined(DEBUG_FLAGS)
|
||||
${OBJCOPY} --strip-debug ${.TARGET}
|
||||
|
Loading…
Reference in New Issue
Block a user