kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #157110
[Bug 1533009] Re: arm64: "unsupported RELA relocation"
We backported fixes for GCC PR63304
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63304) in our 2015.12
snapshot.
By default, GCC now uses adrp / ldr or adrp / add instructions to address the literal pools under the use of a command line
option, and this mode is on by default.
OTOH, CONFIG_ARM64_ERRATUM_843419 removes support for the related
relocations from the kernel, hence the error you are seeing.
Modifying arch/arm64/Makefile in the kernel sources to have:
ifeq ($(CONFIG_ARM64_ERRATUM_843419), y)
KBUILD_CFLAGS_MODULE += -mcmodel=large -mpc-relative-literal-loads
endif
makes the problem disappear.
However, the -mpc-relative-literal-loads option is not recognized by GCC
if it doesn't include the patch for GCC PR 63304, so it may not be easy
to patch the Makefile.
** Bug watch added: GCC Bugzilla #63304
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63304
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1533009
Title:
arm64: "unsupported RELA relocation"
Status in Linaro GCC:
Unknown
Status in Linux:
Unknown
Status in gcc-5 package in Ubuntu:
Confirmed
Status in linux package in Ubuntu:
Triaged
Bug description:
linux-image-4.3.0-5-generic 4.3.0-5.16 arm64 fails to load modules
(and therefore boot). It emits messages like the following for each
attempted module load:
[ 2.156817] module libahci: unsupported RELA relocation: 275
This is reminiscent of LP: #1502946 - except that fix appears to still
be in-tact. What has changed, however, is the build environment. If I
rebuild the same kernel source in a wily chroot, it boots fine.
Marking "Confirmed" because Paulo Pisatti reported this to me, and I
reproduced.
To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc-linaro/+bug/1533009/+subscriptions
References