Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 685706

Summary: >=dev-lang/spidermonkey-60.5.2_p0-r2 USE=-jit - In file included from .../work/mozjs-60.5.2/js/src/vm/Interpreter.cpp:26: .../work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:37:22: error: redefinition of 'const int32_t js::jit::NUNBOX32_TYPE_OFFSET'
Product: Gentoo Linux Reporter: tt_1 <herrtimson>
Component: Current packagesAssignee: Mozilla Gentoo Team <mozilla>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugzilla.mozilla.org/show_bug.cgi?id=1552226
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 685150    
Attachments: compressed build log
output of emerge --info

Description tt_1 2019-05-12 09:46:21 UTC
Created attachment 576148 [details]
compressed build log

emerge -pv spidermonkey

[ebuild   R    ] dev-lang/spidermonkey-60.5.2_p0-r2:60::gentoo  USE="minimal system-icu -custom-cflags -custom-optimization -debug -jit* -test" 0 KiB

fails with all sorts of redefinitions and conflicts: 

/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:37:22: error: redefinition of 'const int32_t js::jit::NUNBOX32_TYPE_OFFSET'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:38:22: error: redefinition of 'const int32_t js::jit::NUNBOX32_PAYLOAD_OFFSET'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:40:23: error: redefinition of 'const uint32_t js::jit::ShadowStackSpace'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:43:23: error: redefinition of 'const uint32_t js::jit::JumpImmediateRange'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:56:7: error: redefinition of 'class js::jit::Registers'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:166:18: error: conflicting declaration 'typedef uint16_t js::jit::PackedRegisterMask'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:167:18: error: conflicting declaration 'typedef uint16_t js::jit::PackedRegisterMask'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:169:7: error: redefinition of 'class js::jit::FloatRegisters'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:444:44: error: 'GetDoubleName' is not a member of 'js::jit::FloatRegisters'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:445:28: error: 'GetSingleName' is not a member of 'js::jit::FloatRegisters'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:549:35: error: static assertion failed: SetType must be 64 bits
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:622:33: error: 'TotalSingle' is not a member of 'js::jit::FloatRegisters'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:631:32: error: 'TotalSingle' is not a member of 'js::jit::FloatRegisters'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:634:33: error: 'TotalDouble' is not a member of 'js::jit::FloatRegisters'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:643:21: error: conflicting declaration 'typedef class js::jit::VFPRegister js::jit::FloatRegister'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:696:13: error: redefinition of 'bool js::jit::hasUnaliasedDouble()'
/var/tmp/portage/dev-lang/spidermonkey-60.5.2_p0-r2/work/mozjs-60.5.2/js/src/jit/arm/Architecture-arm.h:700:13: error: redefinition of 'bool js::jit::hasMultiAlias()'
Comment 1 tt_1 2019-05-12 09:46:53 UTC
Created attachment 576150 [details]
output of emerge --info
Comment 2 tt_1 2019-05-12 13:04:32 UTC
since mozilla isn't really interested into fixing arm bugs, the best solution for this is to force the jit use flag via profiles for arm. 

due to some swapping it will take 3hrs on a rpi2, where its 3 minutes on a ryzen5, but results in a working binary! :)
Comment 3 tt_1 2019-05-21 15:29:49 UTC
opened a bug upstream
Comment 4 tt_1 2019-05-24 13:56:34 UTC
so, the point is that this is an unsupportd option for arm. This means patches welcome, and since I don't have any skills in that, closing as wontfix. It's simply more memory consuming, so ramp up the swap :)