X32 abi: Difference between revisions

From Yocto Project
Jump to navigationJump to search
No edit summary
Line 1: Line 1:
==Vision==
==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.
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.
==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.
==X32 poky setup==
*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
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==
==Tasks==
* Create x32-layer & populate x32 specific recipes in it - done
** create gcc-4.7, glibc2-14, kernel-2.6.38.y & other working recipes
* Get core-image-minimal image building and running - done
** Fix the recipes which break with x32- Fixed glib-2.0, openssl, udev, busybox
*Integrate infrastructure pieces of x32 integrated in oe-core/yocto
** qemux32 change - not needed anymore
** siteinfo changes - RP accepted for master
*** create a new tripplet for x32, -- solved differently with ABIEXTENSION
*** support multiple ABIs per architecture
** multilib changes will be needed soon
* assess how much work something like X11 and maybe sato would be
*List all the recipes which fail with x32 toolchain
** [[x32-broken-recipes-list]]
* try and find some way of assessing performance
* try and find some way of assessing performance

Revision as of 20:39, 10 January 2012

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.

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.

X32 poky setup

  • 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
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