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

Matt Madison matt at madison.systems
Wed Sep 27 12:03:07 UTC 2017


I just sent a patch that reworks the mips fixups to avoid the variable
dependency that's causing the problem.

Thanks,
-Matt

On Tue, Sep 26, 2017 at 5:15 AM, Martin Jansa <martin.jansa at gmail.com> wrote:
> 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-core mailing list