Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 706422 - www-client/firefox-73.0 beta fail to compile with error: cannot convert 'uint16x8_t' {aka '__vector(8) short unsigned int'} to 'uint8x16_t'
Summary: www-client/firefox-73.0 beta fail to compile with error: cannot convert 'uint...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-26 10:50 UTC by tt_1
Modified: 2020-02-02 01:27 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
compressed build log (build.log.gz,424.95 KB, application/gzip)
2020-01-26 10:50 UTC, tt_1
Details
output from emerge --info (cross-target) (emerge--info,4.91 KB, text/plain)
2020-01-26 10:51 UTC, tt_1
Details

Note You need to log in before you can comment on or make changes to this bug.
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(-)