[oe-commits] [openembedded-core] 01/08: goarch.bbclass: fixups for Go mips32 support

Martin Jansa martin.jansa at gmail.com
Tue Sep 26 12:15:45 UTC 2017


This change (or one of the other 3 go related changes merged recently)
seems to cause go-native to depend on MACHINE specific DEFAULTTUNE variable.

As detected by oe-core/scripts/sstate-diff-machines.sh

ERROR: go-native different signature for task do_configure.sigdata between
qemux86 and foo

Task dependencies changed from:
['AR', 'AS', 'B', 'BASEDEPENDS', 'BUILD_AR', 'BUILD_AS', 'BUILD_AS_ARCH',
'BUILD_CC', 'BUILD_CCLD', 'BUILD_CC_ARCH', 'BUILD_CFLAGS', 'BUILD_CPP',
'BUILD_CPPFLAGS', 'BUILD_CXX', 'BUILD_CXXFLAGS', 'BUILD_FC',
'BUILD_GOARCH', 'BUILD_GOOS', 'BUILD_LD', 'BUILD_LDFLAGS', 'BUILD_LD_ARCH',
'BUILD_NM', 'BUILD_OPTIMIZATION', 'BUILD_OS', 'BUILD_PREFIX',
'BUILD_RANLIB', 'BUILD_REPRODUCIBLE_BINARIES', 'BUILD_STRIP',
'BUILD_VENDOR', 'CC', 'CCLD', 'CFLAGS', 'CGO_ENABLED', 'CONFIG_SITE',
'CPP', 'CPPFLAGS', 'CXX', 'CXXFLAGS', 'DEFAULTTUNE', 'DEPENDS',
'DISABLE_STATIC', 'DISTRO', 'EXTRA_NATIVE_PKGCONFIG_PATH', 'EXTRA_OECONF',
'FC', 'GOARCH', 'GOOS', 'HOST_PREFIX', 'ICECC_AS', 'ICECC_CC', 'ICECC_CXX',
'ICECC_VERSION', 'ICECC_WHICH_AS', 'ICE_PATH', 'LC_ALL', 'LD', 'LDFLAGS',
'LOGFIFO', 'MAKE', 'MLPREFIX', 'NATIVE_PACKAGE_PATH_SUFFIX', 'NM',
'OBJCOPY', 'OBJDUMP', 'P', 'PACKAGECONFIG', 'PACKAGE_ARCH',
'PKG_CONFIG_DIR', 'PKG_CONFIG_DISABLE_UNINSTALLED', 'PKG_CONFIG_LIBDIR',
'PKG_CONFIG_PATH', 'PKG_CONFIG_SYSROOT_DIR', 'PN', 'PSEUDO_DISABLED', 'PV',
'QA_LOGFILE', 'QA_SANE', 'RANLIB', 'READELF', 'RECIPE_SYSROOT_NATIVE', 'S',
'STAGING_BASE_LIBDIR_NATIVE', 'STAGING_BINDIR', 'STAGING_BINDIR_NATIVE',
'STAGING_DATADIR', 'STAGING_DATADIR_NATIVE', 'STAGING_DIR_NATIVE',
'STAGING_ETCDIR_NATIVE', 'STAGING_INCDIR_NATIVE', 'STAGING_LIBDIR_NATIVE',
'STAGING_SBINDIR_NATIVE', 'STRINGS', 'STRIP', 'T', 'TARGET_ARCH',
'TARGET_CFLAGS', 'TARGET_CPPFLAGS', 'TARGET_CXXFLAGS', 'TARGET_LDFLAGS',
'TARGET_OS', 'TARGET_PREFIX', 'TARGET_SYS', 'TARGET_VENDOR',
'TUNE_FEATURES', 'TUNE_FEATURES_tune-i586', 'TUNE_FEATURES_tune-x86',
'UNKNOWN_CONFIGURE_WHITELIST', 'base_bindir', 'base_libdir',
'base_libdir_native', 'base_prefix', 'base_sbindir', 'baselib', 'bbnote',
'bbwarn', 'bindir', 'bindir_cross', 'bindir_native', 'create_path',
'datadir', 'datadir_native', 'do_qa_configure', 'docdir', 'exec_prefix',
'get_cross_kernel_cc', 'get_icecc', 'go_map_arch', 'go_map_os',
'icecc_dep_prepend', 'icecc_get_and_check_tool', 'icecc_get_external_tool',
'icecc_get_tool', 'icecc_is_allarch', 'icecc_is_kernel', 'icecc_is_native',
'icecc_path', 'icecc_version', 'includedir', 'includedir_native',
'infodir', 'libdir', 'libdir_native', 'libexecdir', 'localstatedir',
'lt_cv_sys_lib_dlsearch_path_spec', 'mandir', 'nonarch_base_libdir',
'nonarch_libdir', 'oldincludedir', 'package_qa_handle_error',
'package_qa_write_error', 'prefix', 'prefix_native', 'root_prefix',
'sbindir', 'sbindir_native', 'servicedir', 'set_icecc_env',
'sharedstatedir', 'sysconfdir', 'sysconfdir_native',
'systemd_system_unitdir', 'systemd_unitdir', 'systemd_user_unitdir',
'use_icecc']
to:
['AR', 'AS', 'B', 'BASEDEPENDS', 'BUILD_AR', 'BUILD_AS', 'BUILD_AS_ARCH',
'BUILD_CC', 'BUILD_CCLD', 'BUILD_CC_ARCH', 'BUILD_CFLAGS', 'BUILD_CPP',
'BUILD_CPPFLAGS', 'BUILD_CXX', 'BUILD_CXXFLAGS', 'BUILD_FC',
'BUILD_GOARCH', 'BUILD_GOOS', 'BUILD_LD', 'BUILD_LDFLAGS', 'BUILD_LD_ARCH',
'BUILD_NM', 'BUILD_OPTIMIZATION', 'BUILD_OS', 'BUILD_PREFIX',
'BUILD_RANLIB', 'BUILD_REPRODUCIBLE_BINARIES', 'BUILD_STRIP',
'BUILD_VENDOR', 'CC', 'CCLD', 'CFLAGS', 'CGO_ENABLED', 'CONFIG_SITE',
'CPP', 'CPPFLAGS', 'CXX', 'CXXFLAGS', 'DEFAULTTUNE', 'DEPENDS',
'DISABLE_STATIC', 'DISTRO', 'EXTRA_NATIVE_PKGCONFIG_PATH', 'EXTRA_OECONF',
'FC', 'GOARCH', 'GOOS', 'HOST_PREFIX', 'ICECC_AS', 'ICECC_CC', 'ICECC_CXX',
'ICECC_VERSION', 'ICECC_WHICH_AS', 'ICE_PATH', 'LC_ALL', 'LD', 'LDFLAGS',
'LOGFIFO', 'MAKE', 'MLPREFIX', 'NATIVE_PACKAGE_PATH_SUFFIX', 'NM',
'OBJCOPY', 'OBJDUMP', 'P', 'PACKAGECONFIG', 'PACKAGE_ARCH',
'PKG_CONFIG_DIR', 'PKG_CONFIG_DISABLE_UNINSTALLED', 'PKG_CONFIG_LIBDIR',
'PKG_CONFIG_PATH', 'PKG_CONFIG_SYSROOT_DIR', 'PN', 'PSEUDO_DISABLED', 'PV',
'QA_LOGFILE', 'QA_SANE', 'RANLIB', 'READELF', 'RECIPE_SYSROOT_NATIVE', 'S',
'STAGING_BASE_LIBDIR_NATIVE', 'STAGING_BINDIR', 'STAGING_BINDIR_NATIVE',
'STAGING_DATADIR', 'STAGING_DATADIR_NATIVE', 'STAGING_DIR_NATIVE',
'STAGING_ETCDIR_NATIVE', 'STAGING_INCDIR_NATIVE', 'STAGING_LIBDIR_NATIVE',
'STAGING_SBINDIR_NATIVE', 'STRINGS', 'STRIP', 'T', 'TARGET_ARCH',
'TARGET_CFLAGS', 'TARGET_CPPFLAGS', 'TARGET_CXXFLAGS', 'TARGET_LDFLAGS',
'TARGET_OS', 'TARGET_PREFIX', 'TARGET_SYS', 'TARGET_VENDOR',
'TUNE_FEATURES', 'TUNE_FEATURES_tune-armv7a', 'TUNE_FEATURES_tune-armv7at',
'TUNE_FEATURES_tune-armv7at-neon', 'TUNE_FEATURES_tune-cortexa9t-neon',
'TUNE_FEATURES_tune-webos-tune-ca9v1', 'UNKNOWN_CONFIGURE_WHITELIST',
'base_bindir', 'base_libdir', 'base_libdir_native', 'base_prefix',
'base_sbindir', 'baselib', 'bbnote', 'bbwarn', 'bindir', 'bindir_cross',
'bindir_native', 'create_path', 'datadir', 'datadir_native',
'do_qa_configure', 'docdir', 'exec_prefix', 'get_cross_kernel_cc',
'get_icecc', 'go_map_arch', 'go_map_os', 'icecc_dep_prepend',
'icecc_get_and_check_tool', 'icecc_get_external_tool', 'icecc_get_tool',
'icecc_is_allarch', 'icecc_is_kernel', 'icecc_is_native', 'icecc_path',
'icecc_version', 'includedir', 'includedir_native', 'infodir', 'libdir',
'libdir_native', 'libexecdir', 'localstatedir',
'lt_cv_sys_lib_dlsearch_path_spec', 'mandir', 'nonarch_base_libdir',
'nonarch_libdir', 'oldincludedir', 'package_qa_handle_error',
'package_qa_write_error', 'prefix', 'prefix_native', 'root_prefix',
'sbindir', 'sbindir_native', 'servicedir', 'set_icecc_env',
'sharedstatedir', 'sysconfdir', 'sysconfdir_native',
'systemd_system_unitdir', 'systemd_unitdir', 'systemd_user_unitdir',
'use_icecc']
basehash changed from c9b68d1fd3b5cabc8e1a1d90f9679613 to
c93e5a979d443f1a235d14d25b9945d7
List of dependencies for variable TUNE_FEATURES changed from
'{'DEFAULTTUNE', 'TUNE_FEATURES_tune-i586'}' to '{'DEFAULTTUNE',
'TUNE_FEATURES_tune-webos-tune-ca9v1'}'
changed items: {'TUNE_FEATURES_tune-webos-tune-ca9v1',
'TUNE_FEATURES_tune-i586'}

On Mon, Sep 25, 2017 at 3:19 PM, <git at git.openembedded.org> wrote:

> This is an automated email from the git hooks/post-receive script.
>
> rpurdie pushed a commit to branch master-next
> in repository openembedded-core.
>
> commit bdd20c296048937737da0f10bd1a3b63843c5bf4
> Author: Matt Madison <matt at madison.systems>
> AuthorDate: Fri Sep 22 17:58:20 2017 -0700
>
>     goarch.bbclass: fixups for Go mips32 support
>
>     * Fix the regular expression in the mips test
>
>     * Flag as incompatible any mips32 tunes for n32 ABI
>       or soft-float, as go does not support them.
>
>     * Replace mips32r2 tune with mips32r1. Go only supports
>       mips32r1, which is a strict subset of r2.  Adjusting
>       this tune is not ideal, but is hopefully a temporary
>       measure until more complete mips32 ISA coverage
>       arrives upstream.
>
>     [YOCTO #12108]
>
>     Signed-off-by: Matt Madison <matt at madison.systems>
>     Signed-off-by: Khem Raj <raj.khem at gmail.com>
>     Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
>  meta/classes/goarch.bbclass | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass
> index 8b95c5f..9ed562d 100644
> --- a/meta/classes/goarch.bbclass
> +++ b/meta/classes/goarch.bbclass
> @@ -43,10 +43,14 @@ def go_map_arch(a, d):
>          return 'mips64le'
>      elif re.match('mips64*', a):
>          return 'mips64'
> -    elif re.match('mipsel*', a):
> -        return 'mipsle'
> -    elif re.match('mips*', a):
> -        return 'mips'
> +    elif re.match('mips.*', a):
> +        tf = d.getVar('TUNE_FEATURES').split()
> +        if 'fpu-hard' in tf and 'n32' not in tf:
> +            if 'mips32r2' in tf:
> +                newtf = [t for t in tf if t != 'mips32r2']
> +                newtf.append('mips32')
> +                d.setVar('TUNE_FEATURES', ' '.join(newtf))
> +            return 'mips' if 'bigendian' in tf else 'mipsle'
>      elif re.match('p(pc|owerpc)(64)', a):
>          return 'ppc64'
>      elif re.match('p(pc|owerpc)(64el)', a):
>
> --
> To stop receiving notification emails like this one, please contact
> the administrator of this repository.
> --
> _______________________________________________
> Openembedded-commits mailing list
> Openembedded-commits at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-commits
>


More information about the Openembedded-commits mailing list