From eeab3760badcce40a3f2fe56e3889fe463ac561d Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 22 Dec 2012 18:25:09 +0000 Subject: [PATCH] Check R_X86_64_standard for unrecognized relocation * elf64-x86-64.c (elf_x86_64_relocate_section): Check R_X86_64_standard instead of R_X86_64_max for unrecognized relocation. --- bfd/ChangeLog | 6 ++++++ bfd/elf64-x86-64.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index acb0d651d3c..a51bbd1d322 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2012-12-21 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_relocate_section): Check + R_X86_64_standard instead of R_X86_64_max for unrecognized + relocation. + 2012-12-21 H.J. Lu PR ld/14980 diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index ef20bd8ed38..a0e2daf049c 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -3135,8 +3135,11 @@ elf_x86_64_relocate_section (bfd *output_bfd, || r_type == (int) R_X86_64_GNU_VTENTRY) continue; - if (r_type >= R_X86_64_max) + if (r_type >= (int) R_X86_64_standard) { + (*_bfd_error_handler) + (_("%B: unrecognized relocation (0x%x) in section `%A'"), + input_bfd, input_section, r_type); bfd_set_error (bfd_error_bad_value); return FALSE; } -- 2.47.2