misc fixes
cover misc fixes
From: Nitin A Kamble <[email protected]>
Here are few misc fixes for oecore.
Thanks,
Nitin
The following changes since commit dee0fc1462ba18551571c3b2d0f2b443a2feca18:
multilib.conf: Enable shadow-sysroot and libffi (2011-12-21 17:24:44 +0000)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib nitin/misc
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/misc
H.J. Lu (1):
gmp: Don't check "$CC $CFLAGS" for x32 in gmp configure
Nitin A Kamble (2):
bitbake.conf multilib.conf: move the definition of baselib
binutils: fix building on distros with matching binutils version
meta/conf/bitbake.conf | 2 +- meta/conf/multilib.conf | 2 - .../binutils/binutils-cross-canadian_2.22.bb | 2 +- .../binutils/binutils-crosssdk_2.22.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 2 +- meta/recipes-devtools/binutils/binutils_2.22.bb | 2 +- meta/recipes-support/gmp/gmp/gmp_fix_for_x32.patch | 24 ++++++++----------- 7 files changed, 15 insertions(+), 21 deletions(-)
Signature · 1 line
1.7.6.4
PATCH 1/3 gmp: Don't check "$CC $CFLAGS" for x32 in gmp configure
From: "H.J. Lu" <[email protected]>
There is no need to check "$CC $CFLAGS" for x32 in gmp configure. The way GMP works is that it makes all the ABIs available for the user to pick from based on the target, but the final ABI is selected based on the $ABI variable or if compiler passes the ABI test. The test for x32 ABI is
any_x32_testlist="sizeof-long-4"
GMP will select x32 ABI only if long is 4byte, which will only be set to 4 by -mx32 passed in "$CC $CFLAGS".
--- meta/recipes-support/gmp/gmp/gmp_fix_for_x32.patch | 24 ++++++++----------- 1 files changed, 10 insertions(+), 14 deletions(-)
meta/recipes-support/gmp/gmp/gmp_fix_for_x32.patch +10 -14
@@ -8,7 +8,7 @@ Signed Off By: Nitin A Kamble <[email protected]> 2011/11/21 --- gmp-4.3.2/configure.in.x32 2011-08-12 15:03:06.143548291 -0700 +++ gmp-4.3.2/configure.in 2011-08-12 15:06:20.580595316 -0700 -@@ -1499,6 +1499,25 @@ case $host in +@@ -1499,6 +1499,21 @@ case $host in path_64="x86_64/atom x86_64" ;; esac
@@ -16,19 +16,15 @@ Signed Off By: Nitin A Kamble <[email protected]> 2011/11/21 + # X32 support. + case x"$path_64" in + xx86_64*) -+ case x"$CC $CFLAGS" in -+ x*-mx32*) -+ abilist="x32 64 32" -+ path_x32="$path_64" -+ limb_x32=longlong -+ cclist_x32="gcc" -+ gcc_x32_cflags="-O2 -mx32" -+ any_x32_testlist="sizeof-long-4" -+ CALLING_CONVENTIONS_OBJS_x32='amd64call.lo amd64check$U.lo' -+ SPEED_CYCLECOUNTER_OBJ_x32=x86_64.lo -+ cyclecounter_size_x32=2 -+ ;; -+ esac ++ abilist="x32 64 32" ++ path_x32="$path_64" ++ limb_x32=longlong ++ cclist_x32="gcc" ++ gcc_x32_cflags="-O2 -mx32" ++ any_x32_testlist="sizeof-long-4" ++ CALLING_CONVENTIONS_OBJS_x32='amd64call.lo amd64check$U.lo' ++ SPEED_CYCLECOUNTER_OBJ_x32=x86_64.lo ++ cyclecounter_size_x32=2 + ;; + esac ;;
Signature · 1 line
1.7.6.4
PATCH 2/3 bitbake.conf multilib.conf: move the definition of baselib
From: Nitin A Kamble <[email protected]>
The baselib value varies with tune, even when multilib is not configured. This commit makes the logic to find value of baselib based on the tune available outside of multilib setup.
This Fixes bug: [YOCTO #1854]
--- meta/conf/bitbake.conf | 2 +- meta/conf/multilib.conf | 2 -- 2 files changed, 1 insertions(+), 3 deletions(-)
meta/conf/bitbake.conf +1 -1
@@ -9,7 +9,7 @@ # Used by multilib code to change the library paths baselib = "${BASELIB}" baselib[vardepvalue] = "${baselib}" -BASELIB = "lib" +BASELIB = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or 'lib'}" BASELIB_powerpc64 = "lib64" # Path prefixes
meta/conf/multilib.conf +0 -2
@@ -1,6 +1,4 @@ -baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or 'lib'}" - MULTILIB_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" MULTILIB_SAVE_VARNAME = "DEFAULTTUNE"
Signature · 1 line
1.7.6.4
PATCH 3/3 binutils: fix building on distros with matching binutils version
In reply to [email protected]From: Nitin A Kamble <[email protected]>
x86_64 opensuse 11.4 has bintuils version 2.21, and when binutils_2.21 recipe is built for x86_64 target then, the invocation of distro gcc fails with errors like this:
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/as:
symbol lookup error: /usr/lib64/gcc/x86_64-suse-linux/4.5/.. make[2]: *** [sysinfo.o] Error 1
The issue rootcaused as incompatible LD_LIBRARY_PATH while running the distro gcc.
As per Martin Jansa gentoo also sees similar issue with binutils 2.22 recipe.
This commit fixes the issue by clearing the LD_LIBRARY_PATH for distro gcc (CC_FOR_BUILD)
This Fixes bug: [YOCTO #1833]
--- .../binutils/binutils-cross-canadian_2.22.bb | 2 +- .../binutils/binutils-crosssdk_2.22.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 2 +- meta/recipes-devtools/binutils/binutils_2.22.bb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)
meta/recipes-devtools/binutils/binutils-cross-canadian_2.22.bb +1 -1
@@ -1,3 +1,3 @@ require binutils_${PV}.bb require binutils-cross-canadian.inc -PR = "r1" +PR = "r2"
meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb +1 -1
@@ -4,7 +4,7 @@ inherit crosssdk PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk" -PR = "r1" +PR = "r2" do_configure_prepend () { sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgt
meta/recipes-devtools/binutils/binutils.inc +1 -1
@@ -76,7 +76,7 @@ export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib" export CC_FOR_HOST = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}" export CXX_FOR_HOST = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}" -export CC_FOR_BUILD = "${BUILD_CC}" +export CC_FOR_BUILD = "LD_LIBRARY_PATH= ${BUILD_CC}" export CPP_FOR_BUILD = "${BUILD_CPP}" export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
meta/recipes-devtools/binutils/binutils_2.22.bb +1 -1
@@ -1,6 +1,6 @@ require binutils.inc -PR = "r1" +PR = "r2" LIC_FILES_CHKSUM="\ file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
Signature · 1 line
1.7.6.4
Re: [PATCH 3/3] binutils: fix building on distros with matching binutils version
Quoted 10 lines · On Wed, Dec 21, 2011 at 11:27:14AM -0800, [email protected] wrote:
From: Nitin A Kamble <[email protected]>
x86_64opensuse 11.4 has bintuils version 2.21, and when binutils_2.21 recipe is built forx86_64target then, the invocation of distro gcc fails with errors like this:
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/as:
symbol lookup error:/usr/lib64/gcc/x86_64-suse-linux/4.5/.. make[2]: *** [sysinfo.o] Error 1
Quoted 5 lines
The issue rootcaused as incompatible
LD_LIBRARY_PATHwhile running the distro gcc.As per Martin Jansa gentoo also sees similar issue with binutils 2.22 recipe.
I can confirm that with similar patch based on your fix for 2.21 in poky-contrib/nitin/bugfix I was able to build binutils for qemux86-64 for first time without manual fix :).
Cheers,
Quoted 68 lines
This commit fixes the issue by clearing the
LD_LIBRARY_PATHfor distro gcc (CC_FOR_BUILD)This Fixes bug: [YOCTO #1833]
Signed-off-by Nitin A Kamble <[email protected]>--- .../binutils/binutils-cross-canadian_2.22.bb | 2 +- .../binutils/binutils-crosssdk_2.22.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 2 +- meta/recipes-devtools/binutils/binutils_2.22.bb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)meta/recipes-devtools/binutils/binutils-cross-canadian_2.22.bb +1
-1@@ -1,3 +1,3 @@ require binutils_${PV}.bb require binutils-cross-canadian.inc -PR = "r1" +PR = "r2"meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb +1
-1@@ -4,7 +4,7 @@ inherit crosssdk PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk" -PR = "r1" +PR = "r2" do_configure_prepend () { sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgtmeta/recipes-devtools/binutils/binutils.inc +1
-1@@ -76,7 +76,7 @@ export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib" export CC_FOR_HOST = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}" export CXX_FOR_HOST = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}" -export CC_FOR_BUILD = "${BUILD_CC}" +export CC_FOR_BUILD = "LD_LIBRARY_PATH= ${BUILD_CC}" export CPP_FOR_BUILD = "${BUILD_CPP}" export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"meta/recipes-devtools/binutils/binutils_2.22.bb +1
-1@@ -1,6 +1,6 @@ require binutils.inc -PR = "r1" +PR = "r2" LIC_FILES_CHKSUM="\ file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\Signature · 7 lines
1.7.6.4 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Re: [PATCH 3/3] binutils: fix building on distros with matching binutils version
Martin,
Thanks for the report.
Nitin
Quoted 115 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Martin Jansa
Sent: Wednesday, December 21, 2011 2:41 PM
To: Patches and discussions about the oe-core layer
Subject: Re: [OE-core] [PATCH 3/3] binutils: fix building on distros with matching binutils versionQuoted 7 lines · On Wed, Dec 21, 2011 at 11:27:14AM -0800, [email protected] wrote:
From: Nitin A Kamble <[email protected]>
x86_64opensuse 11.4 has bintuils version 2.21, and when binutils_2.21 recipe is built forx86_64target then, the invocation of distro gcc fails with errors like this:
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/as:
Quoted 4 lines
symbol lookup error:
/usr/lib64/gcc/x86_64-suse-linux/4.5/.. make[2]: *** [sysinfo.o] Error 1The issue rootcaused as incompatible
LD_LIBRARY_PATHwhile runningthe
Quoted 4 lines
distro gcc.
As per Martin Jansa gentoo also sees similar issue with binutils 2.22 recipe.
I can confirm that with similar patch based on your fix for 2.21 in poky-contrib/nitin/bugfix I was able to build binutils for qemux86-64 for first time without manual fix :).
Cheers,
Quoted 1 line
This commit fixes the issue by clearing the
LD_LIBRARY_PATHfordistro
Quoted 71 lines
gcc (
CC_FOR_BUILD)This Fixes bug: [YOCTO #1833]
Signed-off-by Nitin A Kamble <[email protected]>--- .../binutils/binutils-cross-canadian_2.22.bb | 2 +- .../binutils/binutils-crosssdk_2.22.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 2 +- meta/recipes-devtools/binutils/binutils_2.22.bb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)diff --git a/meta/recipes-devtools/binutils/binutils-cross-canadian_2.22.bb b/meta/recipes-devtools/binutils/binutils-cross-canadian_2.22.bb index e91e7dc..a49aded 100644
meta/recipes-devtools/binutils/binutils-cross-canadian_2.22.bb +1
-1@@ -1,3 +1,3 @@ require binutils_${PV}.bb require binutils-cross-canadian.inc -PR = "r1" +PR = "r2"meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb +1
-1@@ -4,7 +4,7 @@ inherit crosssdk PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk" -PR = "r1" +PR = "r2" do_configure_prepend () { sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib${SDKPATHNATIVE}/usr/lib
/usr/local/lib/lib /usr/lib#' ${S}/ld/configure.tgt diff --git a/meta/recipes-devtools/binutils/binutils.inc b/meta/recipes-devtools/binutils/binutils.inc index 5cb2cc9..30a0416 100644meta/recipes-devtools/binutils/binutils.inc +1
-1@@ -76,7 +76,7 @@ export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib" export CC_FOR_HOST = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}" export CXX_FOR_HOST = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}" -export CC_FOR_BUILD = "${BUILD_CC}" +export CC_FOR_BUILD = "LD_LIBRARY_PATH= ${BUILD_CC}" export CPP_FOR_BUILD = "${BUILD_CPP}" export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"meta/recipes-devtools/binutils/binutils_2.22.bb +1
-1@@ -1,6 +1,6 @@ require binutils.inc -PR = "r1" +PR = "r2" LIC_FILES_CHKSUM="\file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
--
1.7.6.4Quoted 4 lines
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core--
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 9 lines · On 12/21/2011 11:27 AM, [email protected] wrote:
From: Nitin A Kamble<[email protected]>
Here are few misc fixes for oecore.
Thanks,
NitinThe following changes since commit
dee0fc1462ba18551571c3b2d0f2b443a2feca18:
Quoted 9 lines
multilib.conf: Enable shadow-sysroot and libffi (2011-12-21 17:24:44 +0000)are available in the git repository at:
git://git.pokylinux.org/poky-contribnitin/misc
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/miscH.J. Lu (1):
gmp: Don't check "$CC $CFLAGS" for x32 in gmp configure
Pulled into OE-Core
Quoted 2 lines
Nitin A Kamble (2):
bitbake.conf multilib.conf: move the definition of baselib
This requires more information based on RP's Comment:
"this is a major layout change for x86-64 but Nitin makes no comment
on that in the commit"
Quoted 2 lines
binutils: fix building on distros with matching binutils version
Merged the binutils patch to OE-Core
Quoted 9 lines
meta/conf/bitbake.conf | 2 +- meta/conf/multilib.conf | 2 - .../binutils/binutils-cross-canadian_2.22.bb | 2 +- .../binutils/binutils-crosssdk_2.22.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 2 +- meta/recipes-devtools/binutils/binutils_2.22.bb | 2 +- meta/recipes-support/gmp/gmp/gmp_fix_for_x32.patch | 24 ++++++++----------- 7 files changed, 15 insertions(+), 21 deletions(-)