On 03/09/2016 05:02 PM, Richard Purdie wrote:
On Wed, 2016-03-09 at 23:50 +0100, Martin Jansa wrote:
What's even more interesting is that even gcc-cross-initial has
different signatures for 2 ARM MACHINEs with different DEFAULTTUNES
OE qemuarm7@ ~/build/oe-core $ grep ^DEFAULTTUNE= env.gdb-cross-arm*
env.gdb-cross-arm:DEFAULTTUNE="armv5te"
env.gdb-cross-arm7:DEFAULTTUNE="armv7a-neon"
OE qemuarm7@ ~/build/oe-core $ ls tmp-glibc/sstate
-diff/1457556601/*/*/*gcc-cross-initial*/*do_configure*
tmp-glibc/sstate-diff/1457556601/qemuarm/x86_64-linux/gcc-cross
-initial-arm/5.3.0
-r0.do_configure.sigdata.e54e7a04acf1029cc37463114c7e4dba
tmp-glibc/sstate-diff/1457556601/qemuarm7/x86_64-linux/gcc-cross
-initial-arm/5.3.0
-r0.do_configure.sigdata.3496e3dde08a49b14462741cc6f8d239
OE qemuarm7@ ~/build/oe-core $ bitbake-diffsigs tmp-glibc/sstate
-diff/1457556601/*/*/*gcc-cross-initial*/*do_configure*
basehash changed from 5848199c69eee0db746de21c5458c13d to
673cd8d19bc4cbea132900a670593df6
Variable EXTRA_OECONF value changed from '--with-newlib --without
-headers --disable-shared --disable-threads --disable-multilib -
-disable-__cxa_atexit --enable-languages=c --program
-prefix=${TARGET_PREFIX} --with-sysroot=/not/exist --with-build
-sysroot=${GCCCROSS_BUILDSYSROOT} ${EXTRA_OECONF_INITIAL}
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--with
-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)}
${EXTRA_OECONF_GCC_FLOAT} ${@get_gcc_ppc_plt_settings(bb, d)} --with
-native-system-header-dir=${SYSTEMHEADERS}${DISABLE_STATIC}
${@gettext_oeconf(d)}
DISTRO_FEATURES{ld-is-gold} = Unset' to '--with-newlib --without
-headers --disable-shared --disable-threads --disable-multilib -
-disable-__cxa_atexit --enable-languages=c --program
-prefix=${TARGET_PREFIX} --with-sysroot=/not/exist --with-build
-sysroot=${GCCCROSS_BUILDSYSROOT} ${EXTRA_OECONF_INITIAL}
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--with
-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)}
${EXTRA_OECONF_GCC_FLOAT} ${@get_gcc_ppc_plt_settings(bb, d)} --with
-native-system-header-dir=${SYSTEMHEADERS}${DISABLE_STATIC}
${@gettext_oeconf(d)} --with-arch=armv7-a
DISTRO_FEATURES{ld-is-gold} = Unset'
To answer my own question, it looks like:
gcc-configure-common.inc:EXTRA_OECONF_append_armv6 = " --with-arch=armv6"
gcc-configure-common.inc:EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a"
gcc-configure-common.inc:EXTRA_OECONF_append_armv7ve = " --with-arch=armv7-a"
which effectively comes from:
http://git.yoctoproject.org/cgit.cgi/poky/commit/meta/recipes-devtools/gcc/gcc-configure-common.inc?id=c0a071e16ec04f485f06eece5b807e5afbe1c1f1
The concept of having one gcc for each arch precludes such changes :(.
Yes. Fundamentally the Yocto concept of arch appears to be inconsistent
with gcc's concept in that the defaults for Yocto don't match the
defaults for gcc on the same platform. At the time I submitted that
patch reworking how the toolchain is built wasn't feasible.
I'm not working with Yocto at this time so can't contribute to the
solution, however if/when I get the opportunity I can help verify that
the bug the patch fixed hasn't been re-introduced.
Peter
I believe these overrides need to move to the gcc-target.inc file.
Cheers,
Richard
--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto