[PATCH] D29714: [ELF] - Do sign extend for addends of R_386_8, R_386_16 relocations

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 9 00:57:50 PST 2017


grimar added a comment.

In https://reviews.llvm.org/D29714#671060, @ruiu wrote:

> Maybe we need to sign extend everything? In other words, is there any relocation that we shouldn't sign extend?


>From my understanding we should extend only relocations that have addend value shorter than target size.

I mean we return 64 bit value from getImplicitAddend(), it is then assigned to uintX_t. So for i386 case for example we want to extend all relocations that are not reading 32 bits, 
as anyways value is truncated later.
So I believe, for i386 this patch is all what else needed for it's relocations, all other ones are working with 32 bits already.


https://reviews.llvm.org/D29714





More information about the llvm-commits mailing list