HomeFreeBSD

MFC r356100:

Description

MFC r356100:

Merge commit d3aeac8e2 from llvm git (by Justin Hibbits)

[PowerPC] Only use PLT annotations if using PIC relocation model

Summary:
The default static (non-PIC, non-PIE) model for 32-bit powerpc does
not use @PLT annotations and relocations in GCC.  LLVM shouldn't use
@PLT annotations either, because it breaks secure-PLT linking with
(some versions of?) GNU LD.

Update the available-externally.ll test to reflect that default mode
should be the same as the static relocation, by using the same check
prefix.

Reviewed by:    sfertile
Differential Revision: https://reviews.llvm.org/D70570

Reviewed by: jhibbits
Differential Revision: https://reviews.freebsd.org/D22913

MFC r356104 (by jhibbits):

[PowerPC] enable atomic.c in compiler_rt and do not check and forces
lock/lock_free decisions in compiled time

Summary:
Enables atomic.c in compiler_rt and forces clang to not emit a call for runtime
decision about lock/lock_free. At compiling time, if clang can't decide if
atomic operation can be lock free, it emits calls to external functions like
__atomic_is_lock_free, __c11_atomic_is_lock_free and
__atomic_always_lock_free, postponing decision to a runtime check. According
to LLVM code documentation, the mechanism exists due to differences between
x86_64 processors that can't be decided at runtime.

On PowerPC and PowerPCSPE (32 bits), we already know in advance it can't be lock
free, so we force the decision at compile time and avoid having to implement it
in an external library.

This patch was made after 32 bit users testing the PowePC32 bit ISO reported
llvm could not be compiled with in-base llvm due to __atomic_load8 not
implemented.

Submitted by: alfredo.junior_eldorado.org.br
Reviewed by: jhibbits, dim

Differential Revision: https://reviews.freebsd.org/D22549

MFC r356112 (by jhibbits):

[PowerPC64] Starting from FreeBSD 13.0, default to ELFv2 ABI

This changes the LLVM default powerpc64 ABI to ELFv2, if target OS is
FreeBSD >= 13.0

This will also be sent upstream.

Submitted by: alfredo.junior_eldorado.org.br
Reviewed by: dim, luporl
Relnotes: YES
Differential Revision: https://reviews.freebsd.org/D20383

Details

Provenance
dimAuthored on
Reviewer
jhibbits
Differential Revision
D22913: Merge commit d3aeac8e2 from llvm git (by Justin Hibbits)
Parents
rS356466: MFC r356005:
Branches
Unknown
Tags
Unknown