summaryrefslogtreecommitdiff
path: root/util/cbfstool
diff options
context:
space:
mode:
Diffstat (limited to 'util/cbfstool')
-rw-r--r--util/cbfstool/rmodule.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/util/cbfstool/rmodule.c b/util/cbfstool/rmodule.c
index 817bc604f0..80e89118e5 100644
--- a/util/cbfstool/rmodule.c
+++ b/util/cbfstool/rmodule.c
@@ -50,12 +50,18 @@ static int valid_reloc_amd64(Elf64_Rela *rel)
type = ELF64_R_TYPE(rel->r_info);
- /* Only these 5 relocations are expected to be found. */
+ /* Only these 6 relocations are expected to be found. */
return (type == R_AMD64_64 ||
type == R_AMD64_PC64 ||
type == R_AMD64_32S ||
type == R_AMD64_32 ||
- type == R_AMD64_PC32);
+ type == R_AMD64_PC32 ||
+ /*
+ * binutils 2.31 introduced R_AMD64_PLT32 for non local
+ * functions. As we don't care about procedure linkage
+ * table entries handle it as R_X86_64_PC32.
+ */
+ type == R_AMD64_PLT32);
}
static int should_emit_amd64(Elf64_Rela *rel)