diff options
Diffstat (limited to 'arch/x86/tools/relocs.c')
-rw-r--r-- | arch/x86/tools/relocs.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c index 3a6c8ebc8032..494a8840b102 100644 --- a/arch/x86/tools/relocs.c +++ b/arch/x86/tools/relocs.c | |||
@@ -46,6 +46,7 @@ static const char * const sym_regex_kernel[S_NSYMTYPES] = { | |||
46 | "^(xen_irq_disable_direct_reloc$|" | 46 | "^(xen_irq_disable_direct_reloc$|" |
47 | "xen_save_fl_direct_reloc$|" | 47 | "xen_save_fl_direct_reloc$|" |
48 | "VDSO|" | 48 | "VDSO|" |
49 | "__typeid__|" | ||
49 | "__crc_)", | 50 | "__crc_)", |
50 | 51 | ||
51 | /* | 52 | /* |
@@ -782,6 +783,12 @@ static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym, | |||
782 | add_reloc(&relocs32neg, offset); | 783 | add_reloc(&relocs32neg, offset); |
783 | break; | 784 | break; |
784 | 785 | ||
786 | case R_X86_64_8: | ||
787 | if (!shn_abs || !is_reloc(S_ABS, symname)) | ||
788 | die("Non-whitelisted %s relocation: %s\n", | ||
789 | rel_type(r_type), symname); | ||
790 | break; | ||
791 | |||
785 | case R_X86_64_32: | 792 | case R_X86_64_32: |
786 | case R_X86_64_32S: | 793 | case R_X86_64_32S: |
787 | case R_X86_64_64: | 794 | case R_X86_64_64: |