When bisecting the Linux kernel to find a bug (in my case between v4.4 and v4.9), I'm encountering the following build error:

RELOCS  arch/x86/boot/compressed/vmlinux.relocs
Unsupported relocation type: R_X86_64_PLT32 (4)

What can be done against that?

I have found various other places where people report this issue:


There seems to be an incompatibility with newer versions of binutils.

I found that GNU binutils 2.31.1 results in this bug, but using version 2.30 instead fixes the problem.


I eventually found the answer in this chat log where user deviosity says:

and keep runnning into the dreaded: Unsupported relocation type: R_X86_64_PLT32 (4) error, which usually is resolved by downgrading binutils to 2.30 versus 2.31

and this comment also confirms it (Ubuntu 16.04 also uses an older binutils version, 2.26.1).

  • 1
    Thanks for this! I am now building these kernel versions using a chroot of Ubuntu 16.04. I disabled "Enable loadable module support -> Module signature verification" (CONFIG_MODULE_SIG) in my Fedora kernel config, to avoid an error when I make modules_install on the main system, due to a cryptography library version mismatch. – sourcejedi Jul 3 at 13:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.