[oe-commits] [openembedded-core] 06/16: arch-powerpc64.inc: Use elfv2 ABI when building with musl

git at git.openembedded.org git at git.openembedded.org
Sat Dec 15 17:11:48 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master
in repository openembedded-core.

commit 68c9641855199f34aabe1050e863c21830116fe1
Author: Serhey Popovych <serhe.popovych at gmail.com>
AuthorDate: Fri Dec 14 19:54:34 2018 +0200

    arch-powerpc64.inc: Use elfv2 ABI when building with musl
    
    Historically first PowerPC ABI was big-endian only (elfv1 currently). It
    is standard ABI for both 32-bit ppc and 64-bit ppc64 architectures.
    
    With PowerPC little-endian support new ABI was introduced (elfv2) and it
    is used primarily with ppc64le target only. While it has support for
    big-endian it is not commonly used and elfv1 still preferred.
    
    Musl does support only elfv2 ABI for both LE and BE and does not have
    any plans to support elfv1.
    
    Since then to build for powerpc64 with musl new ABI should be used. As
    expected it is not compatible with elfv1 but that isn't problem as long
    as there is no binary distributed software or assembly code written for
    elfv1 ABI.
    
    Signed-off-by: Serhey Popovych <serhe.popovych at gmail.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/conf/machine/include/powerpc/arch-powerpc64.inc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/meta/conf/machine/include/powerpc/arch-powerpc64.inc
index f751c6b..d9916d4 100644
--- a/meta/conf/machine/include/powerpc/arch-powerpc64.inc
+++ b/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -7,6 +7,9 @@ TUNECONFLICTS[m64] = "m32 nf"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm64', ' -m64', '', d)}"
 TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', [ 'm64' ], 'powerpc64', '', d)}"
 
+# musl only supports elfv2 ABI for ppc64
+TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').split(':')]}"
+
 # user mode qemu doesn't support ppc64
 MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}"
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list