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

Bug 706422

Summary: www-client/firefox-73.0 beta fail to compile with error: cannot convert 'uint16x8_t' {aka '__vector(8) short unsigned int'} to 'uint8x16_t'
Product: Gentoo Linux Reporter: tt_1 <herrtimson>
Component: Current packagesAssignee: Mozilla Gentoo Team <mozilla>
Status: RESOLVED FIXED    
Severity: normal CC: jstein
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: compressed build log
output from emerge --info (cross-target)

Description tt_1 2020-01-26 10:50:13 UTC
Created attachment 604590 [details]
compressed build log

there's a problem when compiling with gcc on armv7 and enabled neon instructions: 

 9:16.50 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-73.0_beta3/work/firefox-73.0/gfx/2d/SwizzleNEON.cpp:423:49: error: cannot convert 'uint8x16_t' {aka '__vector(16) unsigned char'} to 'uint16x8_t' {aka '__vector(8) short unsigned int'}
 9:16.50   423 |     vst1q_u16(reinterpret_cast<uint16_t*>(dst), px);
--
 9:16.50 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-73.0_beta3/work/firefox-73.0/gfx/2d/SwizzleNEON.cpp:430:75:   required from here
 9:16.50 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-73.0_beta3/work/firefox-73.0/gfx/2d/SwizzleNEON.cpp:415:30: error: cannot convert 'uint16x8_t' {aka '__vector(8) short unsigned int'} to 'uint8x16_t' {aka '__vector(16) unsigned char'} in initialization
 9:16.50   415 |     uint8x16_t px = vld1q_u16(reinterpret_cast<const uint16_t*>(src));
--
 9:16.50 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-73.0_beta3/work/firefox-73.0/gfx/2d/SwizzleNEON.cpp:431:74:   required from here
 9:16.50 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-73.0_beta3/work/firefox-73.0/gfx/2d/SwizzleNEON.cpp:415:30: error: cannot convert 'uint16x8_t' {aka '__vector(8) short unsigned int'} to 'uint8x16_t' {aka '__vector(16) unsigned char'} in initialization
 9:16.50 gmake[4]: *** [/usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-73.0_beta3/work/firefox-73.0/config/rules.mk:738: SwizzleNEON.o] Error 1


the initial changes were add with the patch from this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1601622

and there's a second bug to discuss a possible fix for gcc: https://bugzilla.mozilla.org/show_bug.cgi?id=1610814

the patch to make it all work can be found here: 
https://hg.mozilla.org/mozilla-central/rev/b3d8b08265b8

at the moment it has only been added to the nightly branch, and not been backported yet to the firefox-73 beta branch, where this was broken initially. 

so, do you think you can add this patch to the queue for the final release of firefox-73.0, in case the patch doesn't make it into the final release?
Comment 1 tt_1 2020-01-26 10:51:41 UTC
Created attachment 604592 [details]
output from emerge --info (cross-target)
Comment 2 Larry the Git Cow gentoo-dev 2020-02-02 01:27:23 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/proj/mozilla.git/commit/?id=3a185d8621c3e5cab0a0a276c2c958b0004a7531

commit 3a185d8621c3e5cab0a0a276c2c958b0004a7531
Author:     Jory Pratt <anarchy@gentoo.org>
AuthorDate: 2020-02-02 01:27:13 +0000
Commit:     Jory Pratt <anarchy@gentoo.org>
CommitDate: 2020-02-02 01:27:13 +0000

    www-client/firefox: Fix arm neon compilation
    
    Closes: https://bugs.gentoo.org/706422
    Package-Manager: Portage-2.3.87, Repoman-2.3.20
    Signed-off-by: Jory Pratt <anarchy@gentoo.org>

 www-client/firefox/Manifest                   | 2 +-
 www-client/firefox/firefox-73.0_beta11.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)