[lld] r270657 - Reduce code duplication.

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Wed May 25 06:39:29 PDT 2016


Thanks!

On 25 May 2016 at 00:10, Rui Ueyama via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: ruiu
> Date: Tue May 24 23:10:14 2016
> New Revision: 270657
>
> URL: http://llvm.org/viewvc/llvm-project?rev=270657&view=rev
> Log:
> Reduce code duplication.
>
> 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=270657&r1=270656&r2=270657&view=diff
> ==============================================================================
> --- lld/trunk/ELF/Target.cpp (original)
> +++ lld/trunk/ELF/Target.cpp Tue May 24 23:10:14 2016
> @@ -700,15 +700,6 @@ void X86_64TargetInfo::relocateOne(uint8
>    case R_X86_64_32S:
>    case R_X86_64_TPOFF32:
>    case R_X86_64_GOT32:
> -    checkInt<32>(Val, Type);
> -    write32le(Loc, Val);
> -    break;
> -  case R_X86_64_64:
> -  case R_X86_64_DTPOFF64:
> -  case R_X86_64_SIZE64:
> -  case R_X86_64_PC64:
> -    write64le(Loc, Val);
> -    break;
>    case R_X86_64_GOTPCREL:
>    case R_X86_64_GOTPCRELX:
>    case R_X86_64_REX_GOTPCRELX:
> @@ -722,6 +713,12 @@ void X86_64TargetInfo::relocateOne(uint8
>      checkInt<32>(Val, Type);
>      write32le(Loc, Val);
>      break;
> +  case R_X86_64_64:
> +  case R_X86_64_DTPOFF64:
> +  case R_X86_64_SIZE64:
> +  case R_X86_64_PC64:
> +    write64le(Loc, Val);
> +    break;
>    default:
>      fatal("unrecognized reloc " + Twine(Type));
>    }
> @@ -1075,14 +1072,17 @@ void AArch64TargetInfo::relocateOne(uint
>                                      uint64_t Val) const {
>    switch (Type) {
>    case R_AARCH64_ABS16:
> +  case R_AARCH64_PREL16:
>      checkIntUInt<16>(Val, Type);
>      write16le(Loc, Val);
>      break;
>    case R_AARCH64_ABS32:
> +  case R_AARCH64_PREL32:
>      checkIntUInt<32>(Val, Type);
>      write32le(Loc, Val);
>      break;
>    case R_AARCH64_ABS64:
> +  case R_AARCH64_PREL64:
>      write64le(Loc, Val);
>      break;
>    case R_AARCH64_ADD_ABS_LO12_NC:
> @@ -1093,6 +1093,8 @@ void AArch64TargetInfo::relocateOne(uint
>      or32le(Loc, (Val & 0xFFF) << 10);
>      break;
>    case R_AARCH64_ADR_GOT_PAGE:
> +  case R_AARCH64_ADR_PREL_PG_HI21:
> +  case R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
>      checkInt<33>(Val, Type);
>      updateAArch64Addr(Loc, (Val >> 12) & 0x1FFFFF); // X[32:12]
>      break;
> @@ -1100,11 +1102,6 @@ void AArch64TargetInfo::relocateOne(uint
>      checkInt<21>(Val, Type);
>      updateAArch64Addr(Loc, Val & 0x1FFFFF);
>      break;
> -  case R_AARCH64_ADR_PREL_PG_HI21:
> -  case R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
> -    checkInt<33>(Val, Type);
> -    updateAArch64Addr(Loc, (Val >> 12) & 0x1FFFFF); // X[32:12]
> -    break;
>    case R_AARCH64_CALL26:
>    case R_AARCH64_JUMP26:
>      checkInt<28>(Val, Type);
> @@ -1134,17 +1131,6 @@ void AArch64TargetInfo::relocateOne(uint
>    case R_AARCH64_LDST64_ABS_LO12_NC:
>      or32le(Loc, (Val & 0xFF8) << 7);
>      break;
> -  case R_AARCH64_PREL16:
> -    checkIntUInt<16>(Val, Type);
> -    write16le(Loc, Val);
> -    break;
> -  case R_AARCH64_PREL32:
> -    checkIntUInt<32>(Val, Type);
> -    write32le(Loc, Val);
> -    break;
> -  case R_AARCH64_PREL64:
> -    write64le(Loc, Val);
> -    break;
>    case R_AARCH64_TSTBR14:
>      checkInt<16>(Val, Type);
>      or32le(Loc, (Val & 0xFFFC) << 3);
>
>
> _______________________________________________
> 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