Commits enabling x32 infrastructure in the master branch
cover Commits enabling x32 infrastructure in the master branch
From: Nitin A Kamble <[email protected]>
These commits add infrastructure to the oe-core/yocto to add the meta-x32 layer to build x32 images. core-image-minimal has been tested to work with this commits
=== How to build an image with x32 binaries
Add this layer on top of yocto/oe-core
http://git.pokylinux.org/cgit/cgit.cgi/experimental/meta-x32/
Add these lines in your conf/local.conf
MACHINE = "qemux86-64"
DEFAULTTUNE = "x86-64-x32"
TUNE_PKGARCH = "x86-64-x32"
And build the minimal image with command:
bitbake core-image-minimal
And then run it with qemu with this command:
runqemu qemux86-64 core-image-minimal
=== How to know if your binaries/libraries are x32:
Run the file command to know what type of elf binary is it. It should be 32bit x86-64 elf binary as seen here:
$ file bin/busybox bin/busybox: setuid ELF 32-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.35, not stripped
$file usr/lib/libz.so.1.2.5usr/lib/libz.so.1.2.5: ELF 32-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped
The following changes since commit f94b781695cd8fa387daff16ecbf3987a0883018:
poky.conf: explicitly referenced preferred linux-yocto version (2011-07-27 09:56:56 -0700)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib nitin/x32
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/x32
Nitin A Kamble (4):
toolchain-scripts & other classes: add TARGET_LD_ARCH &
TARGET_AS_ARCH vars
siteinfo.bbclass: add entries for new x86_64 ABI targets insane.bbclass: add entries for linux-gnu<ABI> x86 tune inc files: add x32 abi tune parameters
meta/classes/allarch.bbclass | 2 ++ meta/classes/cross-canadian.bbclass | 2 ++ meta/classes/cross.bbclass | 2 ++ meta/classes/crosssdk.bbclass | 2 ++ meta/classes/insane.bbclass | 9 +++++++++ meta/classes/native.bbclass | 10 +++++++--- meta/classes/nativesdk.bbclass | 4 ++++ meta/classes/siteinfo.bbclass | 14 +++++++++++++- meta/classes/toolchain-scripts.bbclass | 9 +++++---- meta/conf/bitbake.conf | 23 +++++++++++++++++------ meta/conf/machine/include/ia32/arch-ia32.inc | 23 ++++++++++++++++++++--- meta/conf/machine/include/tune-core2.inc | 4 ++++ meta/conf/machine/include/tune-x86_64.inc | 2 +- 13 files changed, 88 insertions(+), 18 deletions(-)
Signature · 1 line
1.7.4.4
PATCH 1/4 toolchain-scripts & other classes: add TARGET_LD_ARCH & TARGET_AS_ARCH vars
From: Nitin A Kamble <[email protected]>
This is comming from x32 need to pass special parameters to ld & as.
--- meta/classes/allarch.bbclass | 2 ++ meta/classes/cross-canadian.bbclass | 2 ++ meta/classes/cross.bbclass | 2 ++ meta/classes/crosssdk.bbclass | 2 ++ meta/classes/native.bbclass | 10 +++++++--- meta/classes/nativesdk.bbclass | 4 ++++ meta/classes/toolchain-scripts.bbclass | 9 +++++---- meta/conf/bitbake.conf | 23 +++++++++++++++++------ 8 files changed, 41 insertions(+), 13 deletions(-)
meta/classes/allarch.bbclass +2 -0
@@ -12,4 +12,6 @@ INHIBIT_DEFAULT_DEPS = "1" TARGET_ARCH = "allarch" TARGET_OS = "linux" TARGET_CC_ARCH = "none" +TARGET_LD_ARCH = "none" +TARGET_AS_ARCH = "none" PACKAGE_EXTRA_ARCHS = ""
meta/classes/cross-canadian.bbclass +2 -0
@@ -39,6 +39,8 @@ HOST_VENDOR = "${SDK_VENDOR}" HOST_OS = "${SDK_OS}" HOST_PREFIX = "${SDK_PREFIX}" HOST_CC_ARCH = "${SDK_CC_ARCH}" +HOST_LD_ARCH = "${SDK_LD_ARCH}" +HOST_AS_ARCH = "${SDK_AS_ARCH}" #assign DPKG_ARCH DPKG_ARCH = "${SDK_ARCH}"
meta/classes/cross.bbclass +2 -0
@@ -11,6 +11,8 @@ HOST_VENDOR = "${BUILD_VENDOR}" HOST_OS = "${BUILD_OS}" HOST_PREFIX = "${BUILD_PREFIX}" HOST_CC_ARCH = "${BUILD_CC_ARCH}" +HOST_LD_ARCH = "${BUILD_LD_ARCH}" +HOST_AS_ARCH = "${BUILD_AS_ARCH}" STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}"
meta/classes/crosssdk.bbclass +2 -0
@@ -9,6 +9,8 @@ TARGET_VENDOR = "${SDK_VENDOR}" TARGET_OS = "${SDK_OS}" TARGET_PREFIX = "${SDK_PREFIX}" TARGET_CC_ARCH = "${SDK_CC_ARCH}" +TARGET_LD_ARCH = "${SDK_LD_ARCH}" +TARGET_AS_ARCH = "${SDK_AS_ARCH}" TARGET_FPU = "" target_libdir = "${SDKPATHNATIVE}${libdir_nativesdk}"
meta/classes/native.bbclass +7 -3
@@ -24,6 +24,8 @@ TARGET_OS = "${BUILD_OS}" TARGET_VENDOR = "${BUILD_VENDOR}" TARGET_PREFIX = "${BUILD_PREFIX}" TARGET_CC_ARCH = "${BUILD_CC_ARCH}" +TARGET_LD_ARCH = "${BUILD_LD_ARCH}" +TARGET_AS_ARCH = "${BUILD_AS_ARCH}" TARGET_FPU = "" HOST_ARCH = "${BUILD_ARCH}"
@@ -31,6 +33,8 @@ HOST_OS = "${BUILD_OS}" HOST_VENDOR = "${BUILD_VENDOR}" HOST_PREFIX = "${BUILD_PREFIX}" HOST_CC_ARCH = "${BUILD_CC_ARCH}" +HOST_LD_ARCH = "${BUILD_LD_ARCH}" +HOST_AS_ARCH = "${BUILD_AS_ARCH}" CPPFLAGS = "${BUILD_CPPFLAGS}" CFLAGS = "${BUILD_CFLAGS}"
@@ -50,11 +54,11 @@ export CONFIG_SITE = "" export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}" export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}" export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}" -export CPP = "${HOST_PREFIX}gcc -E" -export LD = "${HOST_PREFIX}ld" +export CPP = "${HOST_PREFIX}gcc ${HOST_CC_ARCH} -E" +export LD = "${HOST_PREFIX}ld ${HOST_LD_ARCH} " export CCLD = "${CC}" export AR = "${HOST_PREFIX}ar" -export AS = "${HOST_PREFIX}as" +export AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}" export RANLIB = "${HOST_PREFIX}ranlib" export STRIP = "${HOST_PREFIX}strip"
meta/classes/nativesdk.bbclass +4 -0
@@ -24,6 +24,8 @@ HOST_VENDOR = "${SDK_VENDOR}" HOST_OS = "${SDK_OS}" HOST_PREFIX = "${SDK_PREFIX}" HOST_CC_ARCH = "${SDK_CC_ARCH}" +HOST_LD_ARCH = "${SDK_LD_ARCH}" +HOST_AS_ARCH = "${SDK_AS_ARCH}" #HOST_SYS = "${HOST_ARCH}${TARGET_VENDOR}-${HOST_OS}" TARGET_ARCH = "${SDK_ARCH}"
@@ -31,6 +33,8 @@ TARGET_VENDOR = "${SDK_VENDOR}" TARGET_OS = "${SDK_OS}" TARGET_PREFIX = "${SDK_PREFIX}" TARGET_CC_ARCH = "${SDK_CC_ARCH}" +TARGET_LD_ARCH = "${SDK_LD_ARCH}" +TARGET_AS_ARCH = "${SDK_AS_ARCH}" TARGET_FPU = "" CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
meta/classes/toolchain-scripts.bbclass +5 -4
@@ -24,8 +24,8 @@ toolchain_create_sdk_env_script () { fi echo 'export CFLAGS="${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script echo 'export CXXFLAGS="${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script - echo 'export LDFLAGS="--sysroot=${SDKTARGETSYSROOT}"' >> $script - echo 'export CPPFLAGS="--sysroot=${SDKTARGETSYSROOT}"' >> $script + echo 'export LDFLAGS="${TARGET_LD_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script + echo 'export CPPFLAGS="${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script echo 'export OECORE_TARGET_SYSROOT="${SDKTARGETSYSROOT}"' >> $script echo 'export OECORE_ACLOCAL_OPTS="-I ${SDKPATHNATIVE}/usr/share/aclocal"' >> $script
@@ -58,6 +58,7 @@ toolchain_create_tree_env_script () { fi echo 'export CFLAGS="${TARGET_CC_ARCH}"' >> $script echo 'export CXXFLAGS="${TARGET_CC_ARCH}"' >> $script + echo 'export LDFLAGS="${TARGET_LD_ARCH}"' >> $script echo 'export OECORE_NATIVE_SYSROOT="${STAGING_DIR_NATIVE}"' >> $script echo 'export OECORE_TARGET_SYSROOT="${STAGING_DIR_TARGET}"' >> $script echo 'export OECORE_ACLOCAL_OPTS="-I ${STAGING_DIR_NATIVE}/usr/share/aclocal"' >> $script
@@ -87,8 +88,8 @@ toolchain_create_sdk_env_script_for_installer () { fi echo 'export CFLAGS="${TARGET_CC_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script echo 'export CXXFLAGS="${TARGET_CC_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script - echo 'export LDFLAGS="--sysroot=##SDKTARGETSYSROOT##"' >> $script - echo 'export CPPFLAGS="--sysroot=##SDKTARGETSYSROOT##"' >> $script + echo 'export LDFLAGS="${TARGET_LD_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script + echo 'export CPPFLAGS="${TARGET_CC_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script echo 'export OECORE_TARGET_SYSROOT="##SDKTARGETSYSROOT##"' >> $script echo 'export OECORE_ACLOCAL_OPTS="-I ${SDKPATHNATIVE}/usr/share/acloal"' >> $script
meta/conf/bitbake.conf +17 -6
@@ -71,6 +71,8 @@ BUILD_VENDOR = "" BUILD_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}" BUILD_PREFIX = "" BUILD_CC_ARCH = "" +BUILD_LD_ARCH = "" +BUILD_AS_ARCH = "" BUILD_EXEEXT = "" HOST_ARCH = "${TARGET_ARCH}"
@@ -79,10 +81,14 @@ HOST_VENDOR = "${TARGET_VENDOR}" HOST_SYS = "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}" HOST_PREFIX = "${TARGET_PREFIX}" HOST_CC_ARCH = "${TARGET_CC_ARCH}" +HOST_LD_ARCH = "${TARGET_LD_ARCH}" +HOST_AS_ARCH = "${TARGET_AS_ARCH}" HOST_EXEEXT = "" TUNE_ARCH ??= "INVALID" TUNE_CCARGS ??= "" +TUNE_LDARGS ??= "" +TUNE_ASARGS ??= "" TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}" PACKAGE_EXTRA_ARCHS_tune-${DEFAULTTUNE} ??= "${TARGET_ARCH}" LIBCEXTENSION ??= ""
@@ -94,6 +100,8 @@ TARGET_VENDOR = "-oe" TARGET_SYS = "${TARGET_ARCH}${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}" TARGET_PREFIX = "${TARGET_SYS}-" TARGET_CC_ARCH = "${TUNE_CCARGS}" +TARGET_LD_ARCH = "${TUNE_LDARGS}" +TARGET_AS_ARCH = "${TUNE_ASARGS}" SDK_ARCH = "${BUILD_ARCH}" SDK_OS = "${BUILD_OS}"
@@ -101,6 +109,8 @@ SDK_VENDOR = "-oesdk" SDK_SYS = "${SDK_ARCH}${SDK_VENDOR}${@['-' + bb.data.getVar('SDK_OS', d, 1), ''][bb.data.getVar('SDK_OS', d, 1) == ('' or 'custom')]}" SDK_PREFIX = "${SDK_SYS}-" SDK_CC_ARCH = "${BUILD_CC_ARCH}" +SDK_LD_ARCH = "${BUILD_LD_ARCH}" +SDK_AS_ARCH = "${BUILD_AS_ARCH}" PACKAGE_ARCH = "${TUNE_PKGARCH}" MACHINE_ARCH = "${@[bb.data.getVar('TUNE_PKGARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))].replace('-', '_')}"
@@ -398,11 +408,11 @@ export CCACHE_DIR = "${TMPDIR}/ccache/${HOST_SYS}/${PN}" export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" -export CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS}" -export LD = "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS}" +export CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}" +export LD = "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}" export CCLD = "${CC}" export AR = "${HOST_PREFIX}ar" -export AS = "${HOST_PREFIX}as" +export AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}" export RANLIB = "${HOST_PREFIX}ranlib" export STRIP = "${HOST_PREFIX}strip" export OBJCOPY = "${HOST_PREFIX}objcopy"
@@ -413,10 +423,11 @@ PYTHON = "${@sys.executable}" export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}" export BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}" export BUILD_F77 = "${CCACHE}${BUILD_PREFIX}g77 ${BUILD_CC_ARCH}" -export BUILD_CPP = "${BUILD_PREFIX}cpp" -export BUILD_LD = "${BUILD_PREFIX}ld" -export BUILD_CCLD = "${BUILD_PREFIX}gcc" +export BUILD_CPP = "${BUILD_PREFIX}cpp ${BUILD_CC_ARCH}" +export BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}" +export BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}" export BUILD_AR = "${BUILD_PREFIX}ar" +export BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}" export BUILD_RANLIB = "${BUILD_PREFIX}ranlib" export BUILD_STRIP = "${BUILD_PREFIX}strip" export BUILD_NM = "${BUILD_PREFIX}nm"
Signature · 1 line
1.7.4.4
PATCH 2/4 siteinfo.bbclass: add entries for new x86_64 ABI targets
From: Nitin A Kamble <[email protected]>
--- meta/classes/siteinfo.bbclass | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
meta/classes/siteinfo.bbclass +13 -1
@@ -42,12 +42,15 @@ def siteinfo_data(d): "sh4": "endian-little bit-32 sh-common", "sparc": "endian-big bit-32", "viac3": "endian-little bit-32 ix86-common", - "x86_64": "endian-little bit-64", + "x86_64": "endian-little", # bitinfo specified in targetinfo } osinfo = { "darwin": "common-darwin", "darwin9": "common-darwin", "linux": "common-linux common-glibc", + "linux-gnu32": "common-linux common-glibc", + "linux-gnux32": "common-linux common-glibc", + "linux-gnu64": "common-linux common-glibc", "linux-gnueabi": "common-linux common-glibc", "linux-gnuspe": "common-linux common-glibc", "linux-uclibc": "common-linux common-uclibc",
@@ -68,6 +71,15 @@ def siteinfo_data(d): "powerpc-linux-uclibcspe": "powerpc-linux powerpc32-linux powerpc-linux-uclibc", "powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux", "powerpc64-linux": "powerpc-linux", + "x86_64-cygwin": "bit-64", + "x86_64-darvin": "bit-64", + "x86_64-darvin9": "bit-64", + "x86_64-linux": "bit-64", + "x86_64-linux-uclibc": "bit-64", + "x86_64-linux-gnu32": "bit-32 ix86-common", + "x86_64-linux-gnux32": "bit-32 ix86-common", + "x86_64-linux-gnu64": "bit-64 x86_64-linux", + "x86_64-mingw32": "bit-64", } hostarch = d.getVar("HOST_ARCH", True)
Signature · 1 line
1.7.4.4
Re: [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets
Quoted 29 lines · On 07/27/2011 04:09 PM, [email protected] wrote:
From: Nitin A Kamble <[email protected]>
Signed-off-by Nitin A Kamble <[email protected]>--- meta/classes/siteinfo.bbclass | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)meta/classes/siteinfo.bbclass +4
-1@@ -42,12 +42,15 @@ def siteinfo_data(d): "sh4": "endian-little bit-32 sh-common", "sparc": "endian-big bit-32", "viac3": "endian-little bit-32 ix86-common", - "x86_64": "endian-little bit-64", + "x86_64": "endian-little", # bitinfo specified in targetinfo } osinfo = { "darwin": "common-darwin", "darwin9": "common-darwin", "linux": "common-linux common-glibc", + "linux-gnu32": "common-linux common-glibc", + "linux-gnux32": "common-linux common-glibc", + "linux-gnu64": "common-linux common-glibc", "linux-gnueabi": "common-linux common-glibc", "linux-gnuspe": "common-linux common-glibc", "linux-uclibc": "common-linux common-uclibc",
meta/classes/siteinfo.bbclass def siteinfo_data(d): · line 76
Quoted 6 lines
meta/classes/siteinfo.bbclass +3
-0@@ -68,6 +71,15 @@ def siteinfo_data(d): "powerpc-linux-uclibcspe": "powerpc-linux powerpc32-linux powerpc-linux-uclibc", "powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux", "powerpc64-linux": "powerpc-linux", + "x86_64-cygwin": "bit-64", + "x86_64-darvin": "bit-64", + "x86_64-darvin9": "bit-64",
dar_v_in? :)
Slightly more seriously, lets drop out ones we can't / aren't using, wrt hosts, until we're going to do them for real.
Signature · 2 lines
Tom Rini Mentor Graphics Corporation
Re: [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets
Quoted 50 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Tom Rini
Sent: Wednesday, July 27, 2011 4:13 PM
To: [email protected]
Subject: Re: [OE-core] [PATCH 2/4] siteinfo.bbclass: add entries for newx86_64ABI targetsReview
Quoted 8 lines · On 07/27/2011 04:09 PM, [email protected] wrote:
From: Nitin A Kamble <[email protected]>
Signed-off-by Nitin A Kamble <[email protected]>--- meta/classes/siteinfo.bbclass | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)(quoted diff) +0
-0b/meta/classes/siteinfo.bbclass
Quoted 21 lines
index 9dacd58..daa7946 100644
meta/classes/siteinfo.bbclass +4
-1@@ -42,12 +42,15 @@ def siteinfo_data(d): "sh4": "endian-little bit-32 sh-common", "sparc": "endian-big bit-32", "viac3": "endian-little bit-32 ix86-common", - "x86_64": "endian-little bit-64", + "x86_64": "endian-little", # bitinfo specified in targetinfo } osinfo = { "darwin": "common-darwin", "darwin9": "common-darwin", "linux": "common-linux common-glibc", + "linux-gnu32": "common-linux common-glibc", + "linux-gnux32": "common-linux common-glibc", + "linux-gnu64": "common-linux common-glibc", "linux-gnueabi": "common-linux common-glibc", "linux-gnuspe": "common-linux common-glibc", "linux-uclibc": "common-linux common-uclibc",meta/classes/siteinfo.bbclass def siteinfo_data(d): · line 71
Quoted 1 line
meta/classes/siteinfo.bbclass +0
-0@@ -68,6 +71,15 @@ def siteinfo_data(d): "powerpc-linux-uclibcspe": "powerpc-linux powerpc32-linuxpowerpc-linux-uclibc",
meta/classes/siteinfo.bbclass def siteinfo_data(d): · line 76
Quoted 5 lines
meta/classes/siteinfo.bbclass +3
-0"powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux", "powerpc64-linux": "powerpc-linux", + "x86_64-cygwin": "bit-64", + "x86_64-darvin": "bit-64", + "x86_64-darvin9": "bit-64",
Quoted 5 lines
dar_v_in? :)Slightly more seriously, lets drop out ones we can't / aren't using, wrt
hosts, until we're going to do them for real.
Hi Tom,
I don't know if they(cygwin, darvin) work or not, I just kept them in the same state. If they are not used/working, then it is good to clean them out.
Nitin
Quoted 9 lines
--
Tom Rini
Mentor Graphics Corporation_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets
Quoted 50 lines · Nitin A
Quoted 50 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Tom Rini
Sent: Wednesday, July 27, 2011 4:13 PM
To: [email protected]
Subject: Re: [OE-core] [PATCH 2/4] siteinfo.bbclass: add entries for newx86_64ABI targetsReview
Quoted 8 lines · On 07/27/2011 04:09 PM, [email protected] wrote:
From: Nitin A Kamble <[email protected]>
Signed-off-by Nitin A Kamble <[email protected]>--- meta/classes/siteinfo.bbclass | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)(quoted diff) +0
-0b/meta/classes/siteinfo.bbclass
Quoted 21 lines
index 9dacd58..daa7946 100644
meta/classes/siteinfo.bbclass +4
-1@@ -42,12 +42,15 @@ def siteinfo_data(d): "sh4": "endian-little bit-32 sh-common", "sparc": "endian-big bit-32", "viac3": "endian-little bit-32 ix86-common", - "x86_64": "endian-little bit-64", + "x86_64": "endian-little", # bitinfo specified in targetinfo } osinfo = { "darwin": "common-darwin", "darwin9": "common-darwin", "linux": "common-linux common-glibc", + "linux-gnu32": "common-linux common-glibc", + "linux-gnux32": "common-linux common-glibc", + "linux-gnu64": "common-linux common-glibc", "linux-gnueabi": "common-linux common-glibc", "linux-gnuspe": "common-linux common-glibc", "linux-uclibc": "common-linux common-uclibc",meta/classes/siteinfo.bbclass def siteinfo_data(d): · line 71
Quoted 1 line
meta/classes/siteinfo.bbclass +0
-0@@ -68,6 +71,15 @@ def siteinfo_data(d): "powerpc-linux-uclibcspe": "powerpc-linux powerpc32-linuxpowerpc-linux-uclibc",
Quoted 5 lines
meta/classes/siteinfo.bbclass +3
-0"powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux", "powerpc64-linux": "powerpc-linux", + "x86_64-cygwin": "bit-64", + "x86_64-darvin": "bit-64", + "x86_64-darvin9": "bit-64",
Quoted 8 lines
Quoted 5 lines
dar_v_in? :)Slightly more seriously, lets drop out ones we can't / aren't using, wrt
hosts, until we're going to do them for real.Hi Tom,
I don't know ifthey(cygwin, darvin)work or not, I just kept them in the same state. If they are not used/working, then it is good to clean them out.
Well, OSX is dar_w_in :)
Signature · 2 lines
Tom Rini Mentor Graphics Corporation
PATCH 3/4 insane.bbclass: add entries for linux-gnu<ABI>
In reply to [email protected]From: Nitin A Kamble <[email protected]>
for x86_64 multiple ABIs now have these new names for the TARGET_OS. Add entries for:
linux-gnu32, linux-gnux32, linux-gnu64
--- meta/classes/insane.bbclass | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
meta/classes/insane.bbclass +9 -0
@@ -90,6 +90,15 @@ def package_qa_get_machine_dict(): "microblaze": (47787, 0, 0, False, 32), "microblazeel": (47787, 0, 0, True, 32), }, + "linux-gnu32" : { + "x86_64": (62, 0, 0, True, 32), + }, + "linux-gnux32" : { + "x86_64": (62, 0, 0, True, 32), + }, + "linux-gnu64" : { + "x86_64": (62, 0, 0, True, 64), + }, }
Signature · 1 line
1.7.4.4
PATCH 4/4 x86 tune inc files: add x32 abi tune parameters
In reply to [email protected]From: Nitin A Kamble <[email protected]>
--- meta/conf/machine/include/ia32/arch-ia32.inc | 23 ++++++++++++++++++++--- meta/conf/machine/include/tune-core2.inc | 4 ++++ meta/conf/machine/include/tune-x86_64.inc | 2 +- 3 files changed, 25 insertions(+), 4 deletions(-)
meta/conf/machine/include/ia32/arch-ia32.inc +20 -3
@@ -6,17 +6,29 @@ DEFAULTTUNE ?= "x86" TARGET_FPU ?= "" X86ARCH32 ?= "i586" X86ARCH64 ?= "x86_64" +X86ARCHX32 ?= "x86_64" # ELF32 ABI TUNEVALID[m32] = "IA32 ELF32 standard ABI" -TUNECONFLICTS[m32] = "m64" +TUNECONFLICTS[m32] = "m64 mx32" TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "${X86ARCH32}", "" ,d)}" +ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "32", "" ,d)}" TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m32", "-m32", "", d)}" +# x32 ABI +TUNEVALID[mx32] = "IA32e (x86_64) ELF32 standard ABI" +TUNECONFLICTS[mx32] = "m64 m32" +TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "${X86ARCHX32}", "" ,d)}" +ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "x32", "" ,d)}" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-mx32", "", d)}" +TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}" +TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}" + # ELF64 ABI TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI" -TUNECONFLICT[m64] = "m32" +TUNECONFLICT[m64] = "m32 mx32" TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m64", "${X86ARCH64}", "" ,d)}" +ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "m64", "64", "" ,d)}" TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m64", "-m64", "", d)}" TUNE_PKGARCH ?= "${@bb.utils.contains("TUNE_FEATURES", "m32", "x86", "x86_64", d)}"
@@ -30,4 +42,9 @@ PACKAGE_EXTRA_ARCHS_tune-x86 = "x86" AVAILTUNES += "x86-64" TUNE_FEATURES_tune-x86-64 ?= "m64" BASE_LIB_tune-x86-64 ?= "lib64" -PACKAGE_EXTRA_ARCHS_tune-x86-64 = "x86_64" +PACKAGE_EXTRA_ARCHS_tune-x86-64 = "x86-64" + +AVAILTUNES += "x86-64-x32" +TUNE_FEATURES_tune-x86-64-x32 ?= "mx32" +BASE_LIB_tune-x86-64-x32 ?= "lib" +PACKAGE_EXTRA_ARCHS_tune-x86-64-x32 = "x86-64-x32"
meta/conf/machine/include/tune-core2.inc +4 -0
@@ -18,3 +18,7 @@ TUNE_FEATURES_tune-core2-64 ?= "${TUNE_FEATURES_tune-x86-64} core2" BASE_LIB_tune-core2-64 ?= "lib64" PACKAGE_EXTRA_ARCHS_tune-core2-64 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64} core2-64" +AVAILTUNES += "core2-x32" +TUNE_FEATURES_tune-core2-x32 ?= "${TUNE_FEATURES_tune-x86-64-x32} core2" +BASE_LIB_tune-core2-x32 ?= "lib" +PACKAGE_EXTRA_ARCHS_tune-core2-x32 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64-x32} core2-x32"
meta/conf/machine/include/tune-x86_64.inc +1 -1
@@ -1,3 +1,3 @@ require conf/machine/include/ia32/arch-ia32.inc -DEFAULTTUNE = "x86-64" +DEFAULTTUNE ?= "x86-64"
Signature · 1 line
1.7.4.4