[Bug 1533009] Re: arm64: "unsupported RELA relocation"

Kj 1533009 at bugs.launchpad.net
Fri Feb 3 00:29:22 UTC 2017


I came across the same issue today (2/2/2017), i.e. "unsupported RELA
relocation: 275", while using "Ubuntu 16.04.1 LTS (GNU/Linux
4.4.0-59-generic aarch64)".  I read above messages and have verified
that arch/arm64/Makefile does have -mpc-relative-literal-loads as shown
below.  The kernel config file also has CONFIG_ARM64_ERRATUM_843419=y.

However, module.c shows "#ifndef CONFIG_ARM64_ERRATUM_843419".
Shouldn't this be #ifdef instead? Could it be that I'm seeing the error
message since #ifndef compiled out "case R_AARCH64_ADR_PREL_PG_HI21"
(275)?

ifeq ($(CONFIG_ARM64_ERRATUM_843419), y)
 KBUILD_CFLAGS_MODULE += -mcmodel=large
 KBUILD_CFLAGS_MODULE += $(call cc-option, -mpc-relative-literal-loads)
endif


File: arch/arm64/kernel/module.c
Linux Kernel Version: 4.9

 195int apply_relocate_add(Elf64_Shdr *sechdrs,
 196                       const char *strtab,
 197                       unsigned int symindex,
 198                       unsigned int relsec,
 199                       struct module *me)
 200{
 ...
 334#ifndef CONFIG_ARM64_ERRATUM_843419
 335                case R_AARCH64_ADR_PREL_PG_HI21_NC:
 336                        overflow_check = false;
 337                case R_AARCH64_ADR_PREL_PG_HI21:
 338                        ovf = reloc_insn_imm(RELOC_OP_PAGE, loc, val, 12, 21,
 339                                             AARCH64_INSN_IMM_ADR);
 340                        break;
 341#endif

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-5 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:
  Invalid
Status in linux package in Ubuntu:
  Fix Released
Status in gcc-5 source package in Trusty:
  New
Status in linux source package in Trusty:
  Fix Released
Status in gcc-5 source package in Vivid:
  New
Status in linux source package in Vivid:
  Fix Released
Status in gcc-5 source package in Wily:
  New
Status in linux source package in Wily:
  Fix Released
Status in gcc-5 source package in Xenial:
  Invalid
Status in linux source package in Xenial:
  Fix Released

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



More information about the foundations-bugs mailing list