X32 abi

From Yocto Project
Revision as of 16:17, 24 September 2012 by SaulWold (talk | contribs)
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