X32 abi
From Yocto Project
Jump to navigationJump to search
Vision
Incorporate toolchain components and other bits (binutils, gcc, glibc, gdb, kernel, linux-libc-headers) into a meta-x32 layer; And added needed infrastructure into the oe-core/yocto tree so that meta-x32 layer can work on top; so that one can build complete images with x32 abi binaries.
Moving the vision forward to 1.3, we have now integrated the meta-x32 changes into OE-Core, such that a build of x32 does not require the meta-x32 layer. If you are using older source base, you will still need meta-x32. Moving forward there is a list of items that need to be fixed for world build (see below)
Status
1.2 Status:
- The meta-x32 layer is hosting the x32 tollchain recipes now
- core-image-sato can build and run under qemu
- Many recipes have been fixed for compilation with x32 toolchain.
1.3 Status:
- x32 toolchain and kernel bits are part of OE-Core now
- core-image-sato can build and run under qemux86-64
- Most recipes have been fixed.
X32 poky setup
For Edison & Denzil (1.2 and earlier), you need the meta-x32 layer, this is NOT needed for 1.3 and later
- add meta-x32 layer
- git clone x32 layer
git clone git://git.yoctoproject.org/experimental/meta-x32
- cat conf/bblayers.conf
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf # changes incompatibly LCONF_VERSION = "4" BBFILES ?= "" BBLAYERS = " \ /home/nitin/prj/poky.git/meta \ /home/nitin/prj/poky.git/meta-yocto \ /home/nitin/prj/meta-x32.git \ "
- And add these lines to local.conf - for all releases
MACHINE = "qemux86-64" DEFAULTTUNE = "x86-64-x32" #MACHINE = "atom-pc" #DEFAULTTUNE = "core2-64-x32" baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or 'lib'}"
Tasks
- try and find some way of assessing performance