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 Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1533009

Title:
  arm64: "unsupported RELA relocation"

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc-linaro/+bug/1533009/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to