[lld] r289046 - [ELF] - Read 16 bits for R_386_16/R_386_PC16 relocations instead of 32.

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 8 06:13:51 PST 2016


Thanks!

George Rimar via llvm-commits <llvm-commits at lists.llvm.org> writes:

> Author: grimar
> Date: Thu Dec  8 07:50:28 2016
> New Revision: 289046
>
> URL: http://llvm.org/viewvc/llvm-project?rev=289046&view=rev
> Log:
> [ELF] - Read 16 bits for R_386_16/R_386_PC16 relocations instead of 32.
>
> Looks it was theoretically incorrect if the section is at the very end of the file as
> reading 32 bits would pass the end of file
>
> Modified:
>     lld/trunk/ELF/Target.cpp
>
> Modified: lld/trunk/ELF/Target.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=289046&r1=289045&r2=289046&view=diff
> ==============================================================================
> --- lld/trunk/ELF/Target.cpp (original)
> +++ lld/trunk/ELF/Target.cpp Thu Dec  8 07:50:28 2016
> @@ -439,12 +439,13 @@ uint64_t X86TargetInfo::getImplicitAdden
>    default:
>      return 0;
>    case R_386_16:
> +  case R_386_PC16:
> +    return read16le(Buf);
>    case R_386_32:
>    case R_386_GOT32:
>    case R_386_GOT32X:
>    case R_386_GOTOFF:
>    case R_386_GOTPC:
> -  case R_386_PC16:
>    case R_386_PC32:
>    case R_386_PLT32:
>    case R_386_TLS_LE:
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list