[OE-core] [PATCH 1/1] boost: fix build for mips

Mike Looijmans mike.looijmans at topic.nl
Mon Jun 1 16:43:52 UTC 2015


Indeed, this fixes the build problems with boost. Didn't realize one had 
to patch both bjam and boost.

Tested-By: Mike Looijmans <mike.looijmans at topic.nl>

On 01-06-15 10:02, Robert Yang wrote:
> Backport 2 patches to fix the build error on mips:
> mips-poky-linux-g++: error: unrecognized command line option '-m32'
>
> https://github.com/boostorg/build/commit/c0634341d9ee2c02d3a55c91dafb988afc066c49
> https://github.com/boostorg/build/commit/9576ca216cae888d7efb5da97c009c245c5ba567
>
> Apply the pacthes to both bjam-native and boost, so put the patches to
> "files" dir.
>
> Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
> ---
>   meta/recipes-support/boost/boost-1.58.0.inc        |    5 ++-
>   ...dded-gcc.jam-was-passing-the-options-m32-.patch |   33 ++++++++++++++++
>   ...n-t-pass-m32-m64-where-it-s-not-supported.patch |   40 ++++++++++++++++++++
>   3 files changed, 77 insertions(+), 1 deletion(-)
>   create mode 100644 meta/recipes-support/boost/files/0001-mips1-fix-added-gcc.jam-was-passing-the-options-m32-.patch
>   create mode 100644 meta/recipes-support/boost/files/0002-Don-t-pass-m32-m64-where-it-s-not-supported.patch
>
> diff --git a/meta/recipes-support/boost/boost-1.58.0.inc b/meta/recipes-support/boost/boost-1.58.0.inc
> index 0bae81b..b47d091 100644
> --- a/meta/recipes-support/boost/boost-1.58.0.inc
> +++ b/meta/recipes-support/boost/boost-1.58.0.inc
> @@ -11,7 +11,10 @@ BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
>   BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
>   BOOST_P = "boost_${BOOST_VER}"
>
> -SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2"
> +SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \
> +           file://0001-mips1-fix-added-gcc.jam-was-passing-the-options-m32-.patch \
> +           file://0002-Don-t-pass-m32-m64-where-it-s-not-supported.patch \
> +"
>
>   SRC_URI[md5sum] = "b8839650e61e9c1c0a89f371dd475546"
>   SRC_URI[sha256sum] = "fdfc204fc33ec79c99b9a74944c3e54bd78be4f7f15e260c0e2700a36dc7d3e5"
> diff --git a/meta/recipes-support/boost/files/0001-mips1-fix-added-gcc.jam-was-passing-the-options-m32-.patch b/meta/recipes-support/boost/files/0001-mips1-fix-added-gcc.jam-was-passing-the-options-m32-.patch
> new file mode 100644
> index 0000000..329b4c3
> --- /dev/null
> +++ b/meta/recipes-support/boost/files/0001-mips1-fix-added-gcc.jam-was-passing-the-options-m32-.patch
> @@ -0,0 +1,33 @@
> +From 817aed0d755bf8c0ba4ef6a77d41538e50b571fd Mon Sep 17 00:00:00 2001
> +From: claymore <carlosmf.pt at gmail.com>
> +Date: Fri, 24 Apr 2015 02:28:47 +0100
> +Subject: [PATCH 1/2] mips1 fix added gcc.jam was passing the options -m32 and
> + -m64 to mips cross-compilers, when those do not use
> + such options This modification solves it by adding mips
> + as an exception
> +
> +Signed-off-by: Carlos M. Ferreira carlosmf.pt at gmail.com
> +
> +Upstream-Status: Backport
> +Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
> +
> +---
> + tools/build/src/tools/gcc.jam |    2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
> +index db04534..eff95ae 100644
> +--- a/tools/build/src/tools/gcc.jam
> ++++ b/tools/build/src/tools/gcc.jam
> +@@ -451,7 +451,7 @@ rule setup-address-model ( targets * : sources * : properties * )
> +         else
> +         {
> +             local arch = [ feature.get-values architecture : $(properties) ] ;
> +-            if $(arch) != arm
> ++            if $(arch) != arm && $(arch) != mips1
> +             {
> +                 if $(model) = 32
> +                 {
> +--
> +1.7.9.5
> +
> diff --git a/meta/recipes-support/boost/files/0002-Don-t-pass-m32-m64-where-it-s-not-supported.patch b/meta/recipes-support/boost/files/0002-Don-t-pass-m32-m64-where-it-s-not-supported.patch
> new file mode 100644
> index 0000000..ecf7e55
> --- /dev/null
> +++ b/meta/recipes-support/boost/files/0002-Don-t-pass-m32-m64-where-it-s-not-supported.patch
> @@ -0,0 +1,40 @@
> +From f825634a56b119dfa9d712119a66279cc7635978 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause at embedded.rocks>
> +Date: Sat, 2 May 2015 14:24:02 +0200
> +Subject: [PATCH 2/2] Don't pass -m32/-m64 where it's not supported.
> +
> +Only PowerPC, SPARC, and x86 do support the -m32 and -m64 compiler options [1].
> +
> +Rather then excluding all architectures not supporting these options as it is
> +done in commit c0634341d9ee2c02d3a55c91dafb988afc066c49 [2], include all
> +architectures that do support them.
> +
> +This will fix building Boost for the SuperH architecture with Buildroot [3].
> +
> +[1] https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html
> +[2] https://github.com/boostorg/build/commit/c0634341d9ee2c02d3a55c91dafb988afc066c49
> +[3] http://autobuild.buildroot.net/results/ccd/ccd5c83963032ba49b1627b1dff39e34a9486943/build-end.log
> +
> +Upstream-Status: Backport
> +Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
> +
> +---
> + tools/build/src/tools/gcc.jam |    2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
> +index eff95ae..2f6af93 100644
> +--- a/tools/build/src/tools/gcc.jam
> ++++ b/tools/build/src/tools/gcc.jam
> +@@ -451,7 +451,7 @@ rule setup-address-model ( targets * : sources * : properties * )
> +         else
> +         {
> +             local arch = [ feature.get-values architecture : $(properties) ] ;
> +-            if $(arch) != arm && $(arch) != mips1
> ++            if $(arch) = power || $(arch) = sparc || $(arch) = x86
> +             {
> +                 if $(model) = 32
> +                 {
> +--
> +1.7.9.5
> +
>


-- 
Mike Looijmans



More information about the Openembedded-core mailing list