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
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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to