[PATCH] D29392: [ELF] - Change value checks to checkUInt for R_386_8/R_386_PC8/R_386_16/R_386_PC16 relocations.
George Rimar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 2 08:48:33 PST 2017
grimar added a comment.
So, I found that my minimal kernel configuration is also affected by that issue some point.
I am observing R_386_PC8 relocation which is fails with new check because has value 358 == 0x166.
BFD output for that place (so it is just truncated to 8 bits and BFD does not complain about):
00000200 <_start>:
200: eb 66 jmp 268 <start_of_setup>
If I comment out that check, we produce the same.
The code that produces this relocation is:
(http://lxr.free-electrons.com/source/arch/x86/boot/header.S#L292)
.globl _start
_start:
# Explicitly enter this as bytes, or the assembler
# tries to generate a 3-byte jump here, which causes
# everything else to push off to the wrong offset.
.byte 0xeb # short (2-byte) jump
.byte start_of_setup-1f
I'll investigate that place deeper tomorrow.
https://reviews.llvm.org/D29392
More information about the llvm-commits
mailing list