LLVM supports OpenPower ABI ELFv2 when argument "-mabi=elfv2" if used on clang, as default ABI is ELFv1. FreeBSD support for PowerPC64 ELFv2 ABI with LLVM is in progress[1], so this patch adds an alternative way to specify ELFv2 ABI on target triple [2].
The following results are expected:
ELFv1 when using:
-target powerpc64-unknown-freebsd12.0
-target powerpc64-unknown-freebsd12.0 -mabi=elfv1
-target powerpc64-unknown-freebsd12.0-elfv1
ELFv2 when using:
-target powerpc64-unknown-freebsd12.0 -mabi=elfv2
-target powerpc64-unknown-freebsd12.0-elfv2
[1] https://wiki.freebsd.org/powerpc/llvm-elfv2
[2] https://clang.llvm.org/docs/CrossCompilation.html
Have you researched how GNU as chooses the default ABI?
I think the change may break some Linux ppc64le users as they expect the default elfv2.