* [PATCH 0/4] Commits enabling x32 infrastructure in the master branch
@ 2011-07-27 23:09 nitin.a.kamble
2011-07-27 23:09 ` [PATCH 1/4] toolchain-scripts & other classes: add TARGET_LD_ARCH & TARGET_AS_ARCH vars nitin.a.kamble
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: nitin.a.kamble @ 2011-07-27 23:09 UTC (permalink / raw)
To: openembedded-core
From: Nitin A Kamble <nitin.a.kamble@intel.com>
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.5
usr/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(-)
--
1.7.4.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/4] toolchain-scripts & other classes: add TARGET_LD_ARCH & TARGET_AS_ARCH vars
2011-07-27 23:09 [PATCH 0/4] Commits enabling x32 infrastructure in the master branch nitin.a.kamble
@ 2011-07-27 23:09 ` nitin.a.kamble
2011-07-27 23:09 ` [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets nitin.a.kamble
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: nitin.a.kamble @ 2011-07-27 23:09 UTC (permalink / raw)
To: openembedded-core
From: Nitin A Kamble <nitin.a.kamble@intel.com>
This is comming from x32 need to pass special parameters to ld & as.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
---
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(-)
diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
index 26fca70..a2f8179 100644
--- a/meta/classes/allarch.bbclass
+++ b/meta/classes/allarch.bbclass
@@ -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 = ""
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index c878d7f..601175d 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -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}"
diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass
index e19614f..519aa0d 100644
--- a/meta/classes/cross.bbclass
+++ b/meta/classes/cross.bbclass
@@ -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}"
diff --git a/meta/classes/crosssdk.bbclass b/meta/classes/crosssdk.bbclass
index a2e5a22..5cfa43b 100644
--- a/meta/classes/crosssdk.bbclass
+++ b/meta/classes/crosssdk.bbclass
@@ -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}"
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 00f7b9f..9a41f19 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -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"
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index de7a883..152d053 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -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}"
diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
index 3301319..b980926 100644
--- a/meta/classes/toolchain-scripts.bbclass
+++ b/meta/classes/toolchain-scripts.bbclass
@@ -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
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 6e109ec..fb37ee5 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -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"
--
1.7.4.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets
2011-07-27 23:09 [PATCH 0/4] Commits enabling x32 infrastructure in the master branch nitin.a.kamble
2011-07-27 23:09 ` [PATCH 1/4] toolchain-scripts & other classes: add TARGET_LD_ARCH & TARGET_AS_ARCH vars nitin.a.kamble
@ 2011-07-27 23:09 ` nitin.a.kamble
2011-07-27 23:12 ` Tom Rini
2011-07-27 23:10 ` [PATCH 3/4] insane.bbclass: add entries for linux-gnu<ABI> nitin.a.kamble
2011-07-27 23:10 ` [PATCH 4/4] x86 tune inc files: add x32 abi tune parameters nitin.a.kamble
3 siblings, 1 reply; 8+ messages in thread
From: nitin.a.kamble @ 2011-07-27 23:09 UTC (permalink / raw)
To: openembedded-core
From: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
---
meta/classes/siteinfo.bbclass | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
index 9dacd58..daa7946 100644
--- a/meta/classes/siteinfo.bbclass
+++ b/meta/classes/siteinfo.bbclass
@@ -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)
--
1.7.4.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/4] insane.bbclass: add entries for linux-gnu<ABI>
2011-07-27 23:09 [PATCH 0/4] Commits enabling x32 infrastructure in the master branch nitin.a.kamble
2011-07-27 23:09 ` [PATCH 1/4] toolchain-scripts & other classes: add TARGET_LD_ARCH & TARGET_AS_ARCH vars nitin.a.kamble
2011-07-27 23:09 ` [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets nitin.a.kamble
@ 2011-07-27 23:10 ` nitin.a.kamble
2011-07-27 23:10 ` [PATCH 4/4] x86 tune inc files: add x32 abi tune parameters nitin.a.kamble
3 siblings, 0 replies; 8+ messages in thread
From: nitin.a.kamble @ 2011-07-27 23:10 UTC (permalink / raw)
To: openembedded-core
From: Nitin A Kamble <nitin.a.kamble@intel.com>
for x86_64 multiple ABIs now have these new names for the TARGET_OS.
Add entries for:
linux-gnu32, linux-gnux32, linux-gnu64
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
---
meta/classes/insane.bbclass | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 5fb0d98..15e7fc7 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -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),
+ },
}
--
1.7.4.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/4] x86 tune inc files: add x32 abi tune parameters
2011-07-27 23:09 [PATCH 0/4] Commits enabling x32 infrastructure in the master branch nitin.a.kamble
` (2 preceding siblings ...)
2011-07-27 23:10 ` [PATCH 3/4] insane.bbclass: add entries for linux-gnu<ABI> nitin.a.kamble
@ 2011-07-27 23:10 ` nitin.a.kamble
3 siblings, 0 replies; 8+ messages in thread
From: nitin.a.kamble @ 2011-07-27 23:10 UTC (permalink / raw)
To: openembedded-core
From: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
---
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(-)
diff --git a/meta/conf/machine/include/ia32/arch-ia32.inc b/meta/conf/machine/include/ia32/arch-ia32.inc
index 2709440..fb527da 100644
--- a/meta/conf/machine/include/ia32/arch-ia32.inc
+++ b/meta/conf/machine/include/ia32/arch-ia32.inc
@@ -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"
diff --git a/meta/conf/machine/include/tune-core2.inc b/meta/conf/machine/include/tune-core2.inc
index 25c2226..8a4de3e 100644
--- a/meta/conf/machine/include/tune-core2.inc
+++ b/meta/conf/machine/include/tune-core2.inc
@@ -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"
diff --git a/meta/conf/machine/include/tune-x86_64.inc b/meta/conf/machine/include/tune-x86_64.inc
index 04b0f96..50f20ba 100644
--- a/meta/conf/machine/include/tune-x86_64.inc
+++ b/meta/conf/machine/include/tune-x86_64.inc
@@ -1,3 +1,3 @@
require conf/machine/include/ia32/arch-ia32.inc
-DEFAULTTUNE = "x86-64"
+DEFAULTTUNE ?= "x86-64"
--
1.7.4.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets
2011-07-27 23:09 ` [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets nitin.a.kamble
@ 2011-07-27 23:12 ` Tom Rini
2011-07-27 23:27 ` Kamble, Nitin A
0 siblings, 1 reply; 8+ messages in thread
From: Tom Rini @ 2011-07-27 23:12 UTC (permalink / raw)
To: openembedded-core
On 07/27/2011 04:09 PM, nitin.a.kamble@intel.com wrote:
> From: Nitin A Kamble <nitin.a.kamble@intel.com>
>
> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
> ---
> meta/classes/siteinfo.bbclass | 14 +++++++++++++-
> 1 files changed, 13 insertions(+), 1 deletions(-)
>
> diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
> index 9dacd58..daa7946 100644
> --- a/meta/classes/siteinfo.bbclass
> +++ b/meta/classes/siteinfo.bbclass
> @@ -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",
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.
--
Tom Rini
Mentor Graphics Corporation
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets
2011-07-27 23:12 ` Tom Rini
@ 2011-07-27 23:27 ` Kamble, Nitin A
2011-07-27 23:41 ` Tom Rini
0 siblings, 1 reply; 8+ messages in thread
From: Kamble, Nitin A @ 2011-07-27 23:27 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
> Tom Rini
> Sent: Wednesday, July 27, 2011 4:13 PM
> To: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH 2/4] siteinfo.bbclass: add entries for
> new x86_64 ABI targets
>
> On 07/27/2011 04:09 PM, nitin.a.kamble@intel.com wrote:
> > From: Nitin A Kamble <nitin.a.kamble@intel.com>
> >
> > Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
> > ---
> > meta/classes/siteinfo.bbclass | 14 +++++++++++++-
> > 1 files changed, 13 insertions(+), 1 deletions(-)
> >
> > diff --git a/meta/classes/siteinfo.bbclass
> b/meta/classes/siteinfo.bbclass
> > index 9dacd58..daa7946 100644
> > --- a/meta/classes/siteinfo.bbclass
> > +++ b/meta/classes/siteinfo.bbclass
> > @@ -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",
>
> 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
>
> --
> Tom Rini
> Mentor Graphics Corporation
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets
2011-07-27 23:27 ` Kamble, Nitin A
@ 2011-07-27 23:41 ` Tom Rini
0 siblings, 0 replies; 8+ messages in thread
From: Tom Rini @ 2011-07-27 23:41 UTC (permalink / raw)
To: openembedded-core
On 07/27/2011 04:27 PM, Kamble, Nitin A wrote:
>
>
>> -----Original Message-----
>> From: openembedded-core-bounces@lists.openembedded.org
>> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of
>> Tom Rini
>> Sent: Wednesday, July 27, 2011 4:13 PM
>> To: openembedded-core@lists.openembedded.org
>> Subject: Re: [OE-core] [PATCH 2/4] siteinfo.bbclass: add entries for
>> new x86_64 ABI targets
>>
>> On 07/27/2011 04:09 PM, nitin.a.kamble@intel.com wrote:
>>> From: Nitin A Kamble <nitin.a.kamble@intel.com>
>>>
>>> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
>>> ---
>>> meta/classes/siteinfo.bbclass | 14 +++++++++++++-
>>> 1 files changed, 13 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/meta/classes/siteinfo.bbclass
>> b/meta/classes/siteinfo.bbclass
>>> index 9dacd58..daa7946 100644
>>> --- a/meta/classes/siteinfo.bbclass
>>> +++ b/meta/classes/siteinfo.bbclass
>>> @@ -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",
>>
>> 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.
Well, OSX is dar_w_in :)
--
Tom Rini
Mentor Graphics Corporation
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-07-27 23:46 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-27 23:09 [PATCH 0/4] Commits enabling x32 infrastructure in the master branch nitin.a.kamble
2011-07-27 23:09 ` [PATCH 1/4] toolchain-scripts & other classes: add TARGET_LD_ARCH & TARGET_AS_ARCH vars nitin.a.kamble
2011-07-27 23:09 ` [PATCH 2/4] siteinfo.bbclass: add entries for new x86_64 ABI targets nitin.a.kamble
2011-07-27 23:12 ` Tom Rini
2011-07-27 23:27 ` Kamble, Nitin A
2011-07-27 23:41 ` Tom Rini
2011-07-27 23:10 ` [PATCH 3/4] insane.bbclass: add entries for linux-gnu<ABI> nitin.a.kamble
2011-07-27 23:10 ` [PATCH 4/4] x86 tune inc files: add x32 abi tune parameters nitin.a.kamble
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.