]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Merge commit 459e8e948 from llvm git (by Justin Hibbits):
authorDimitry Andric <dim@FreeBSD.org>
Thu, 26 Mar 2020 17:28:54 +0000 (17:28 +0000)
committerDimitry Andric <dim@FreeBSD.org>
Thu, 26 Mar 2020 17:28:54 +0000 (17:28 +0000)
commit6dce2be1c72245eb975978cffcb2e0b4144d6d96
treee74dc9e199f257d69c254ae7568571e73218b637
parent5b5f869e878b123e3613c552ffc049e31f80c388
Merge commit 459e8e948 from llvm git (by Justin Hibbits):

  [PowerPC]: Don't allow r0 as a target for LD_GOT_TPREL_L/32

  Summary:
  The linker is free to relax this (relocation R_PPC_GOT_TPREL16)
  against R_PPC_TLS, if it sees fit (initial exec to local exec). If r0
  is used, this can generate execution-invalid code (converts to 'addi
  %rX, %r0, FOO, which translates in PPC-lingo to li %rX, FOO). Forbid
  this instead.

  This fixes static binaries using locales on FreeBSD/powerpc (tested
  on FreeBSD/powerpcspe).

  Reviewed By: nemanjai
  Differential Revision: https://reviews.llvm.org/D76662

Requested by: jhibbits
MFC after: 6 weeks
X-MFC-With: 358851
contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
contrib/llvm-project/llvm/lib/Target/PowerPC/PPCInstrInfo.td