Bug 1641623
| Summary: | Firefox 63 build failure on armv7hl | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Martin Stransky <stransky> |
| Component: | firefox | Assignee: | Gecko Maintainer <gecko-bugs-nobody> |
| Status: | CLOSED DUPLICATE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 29 | CC: | 0xalen+redhat, dan, gecko-bugs-nobody, jhorak, john.j5live, pbrobinson, pjasicek, pwhalen, rhughes, rstrode, sandmann |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | armv7hl | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-05-19 17:30:11 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 245418 | ||
This may be related - https://bugzilla.mozilla.org/show_bug.cgi?id=1436511 Trying local verbose build to get the full command line, might be a gcc issue too. btw. we're going to switch Firefox build to clang for Firefox 64 and later if that helps. Here is the failing command line ... 124:50.80 /usr/bin/gcc -std=gnu99 -o blend_a64_mask_neon.o -c -I/home/sharkcz/firefox/firefox-63.0/objdir/dist/system_wrappers -include /home/sharkcz/firefox/firefox-63.0/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/home/sharkcz/firefox/firefox-63.0/media/libaom -I/home/sharkcz/firefox/firefox-63.0/objdir/media/libaom -I/home/sharkcz/firefox/firefox-63.0/media/libaom/config/linux/arm -I/home/sharkcz/firefox/firefox-63.0/media/libaom/config -I/home/sharkcz/firefox/firefox-63.0/third_party/aom -I/home/sharkcz/firefox/firefox-63.0/objdir/dist/include -I/usr/include/nspr4 -I/usr/include/nss3 -fPIC -include /home/sharkcz/firefox/firefox-63.0/objdir/mozilla-config.h -DMOZILLA_CLIENT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O2 -g -pipe -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -Wformat-security -Wformat -Werror=format-security -fno-delete-null-pointer-checks -fPIC -Wl,-z,relro -Wl,-z,now -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -pthread -pipe -g -g -O2 -fno-schedule-insns -fomit-frame-pointer -Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wduplicated-cond -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=multistatement-macros -Wno-error=class-memaccess -Wformat -Wformat-overflow=2 -Wno-sign-compare -Wno-unused-function -MD -MP -MF .deps/blend_a64_mask_neon.o.pp /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c 124:51.83 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 124:51.84 /home/sharkcz/firefox/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h: In function 'load_u8_8x8': 124:51.84 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 124:51.84 vld1_u8 (const uint8_t * __a) 124:51.84 ^~~~~~~ 124:51.84 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 124:51.84 /home/sharkcz/firefox/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:52:9: note: called from here 124:51.85 *s7 = vld1_u8(s); 124:51.85 ^~~~~~~~~~ 124:51.85 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 124:51.85 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 124:51.85 vld1_u8 (const uint8_t * __a) 124:51.85 ^~~~~~~ 124:51.85 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 124:51.85 /home/sharkcz/firefox/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:50:9: note: called from here 124:51.86 *s6 = vld1_u8(s); 124:51.86 ^~~~~~~~~~ 124:51.86 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 124:51.86 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 124:51.86 vld1_u8 (const uint8_t * __a) 124:51.87 ^~~~~~~ 124:51.87 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 124:51.87 /home/sharkcz/firefox/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:48:9: note: called from here 124:51.87 *s5 = vld1_u8(s); 124:51.87 ^~~~~~~~~~ 124:51.87 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 124:51.87 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 124:51.87 vld1_u8 (const uint8_t * __a) 124:51.87 ^~~~~~~ 124:51.87 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 124:51.87 /home/sharkcz/firefox/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:46:9: note: called from here 124:51.87 *s4 = vld1_u8(s); 124:51.87 ^~~~~~~~~~ 124:51.87 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 124:51.87 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 124:51.88 vld1_u8 (const uint8_t * __a) 124:51.88 ^~~~~~~ 124:51.88 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 124:51.88 /home/sharkcz/firefox/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:44:9: note: called from here 124:51.88 *s3 = vld1_u8(s); 124:51.88 ^~~~~~~~~~ 124:51.88 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 124:51.88 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 124:51.88 vld1_u8 (const uint8_t * __a) 124:51.88 ^~~~~~~ 124:51.88 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 124:51.88 /home/sharkcz/firefox/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:42:9: note: called from here 124:51.88 *s2 = vld1_u8(s); 124:51.88 ^~~~~~~~~~ 124:51.88 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 124:51.88 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 124:51.89 vld1_u8 (const uint8_t * __a) 124:51.89 ^~~~~~~ 124:51.89 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 124:51.89 /home/sharkcz/firefox/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:40:9: note: called from here 124:51.89 *s1 = vld1_u8(s); 124:51.89 ^~~~~~~~~~ 124:51.89 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 124:51.89 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 124:51.89 vld1_u8 (const uint8_t * __a) 124:51.89 ^~~~~~~ 124:51.89 In file included from /home/sharkcz/firefox/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 124:51.89 /home/sharkcz/firefox/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:38:9: note: called from here 124:51.89 *s0 = vld1_u8(s); 124:51.89 ^~~~~~~~~~ 124:51.89 gmake[4]: *** [/home/sharkcz/firefox/firefox-63.0/config/rules.mk:779: blend_a64_mask_neon.o] Error 1 124:51.89 gmake[4]: Leaving directory '/home/sharkcz/firefox/firefox-63.0/objdir/media/libaom' 124:51.90 gmake[3]: *** [/home/sharkcz/firefox/firefox-63.0/config/recurse.mk:74: media/libaom/target] Error 2 124:51.90 gmake[3]: Leaving directory '/home/sharkcz/firefox/firefox-63.0/objdir' 124:51.90 gmake[2]: *** [/home/sharkcz/firefox/firefox-63.0/config/recurse.mk:34: compile] Error 2 124:51.90 gmake[2]: Leaving directory '/home/sharkcz/firefox/firefox-63.0/objdir' 124:51.90 gmake[1]: *** [/home/sharkcz/firefox/firefox-63.0/config/rules.mk:432: default] Error 2 124:51.90 gmake[1]: Leaving directory '/home/sharkcz/firefox/firefox-63.0/objdir' 124:51.90 gmake: *** [client.mk:150: build] Error 2 So our gcc doesn't enable NEON optimisation by default on ARMv7 because the NEON instructions are optional and hence it's not guaranteed to be available, the NEON stuff should be run time detected not compile time so I suspect that is why it's failing. We already have aom/av1 built in Fedora as a library, is there any reason why we can't use the system library here rather than building it in the mozilla tree? If we have to use in tree there might be upstream patches that can be applied to fix the build. (In reply to Peter Robinson from comment #5) > So our gcc doesn't enable NEON optimisation by default on ARMv7 because the > NEON instructions are optional and hence it's not guaranteed to be > available, the NEON stuff should be run time detected not compile time so I > suspect that is why it's failing. > > We already have aom/av1 built in Fedora as a library, is there any reason > why we can't use the system library here rather than building it in the > mozilla tree? > > If we have to use in tree there might be upstream patches that can be > applied to fix the build. I have no idea. Feel free to investigate that and I'll happily add any arm patches to Fedora Firefox for that or other arm issues.
> I have no idea. Feel free to investigate that and I'll happily add any arm
> patches to Fedora Firefox for that or other arm issues.
Already in process, just waiting for "fedpkg prep" to complete on conference wifi :)
More details of failures on ARMv7 on this bug 1641623 *** This bug has been marked as a duplicate of bug 1658940 *** |
Firefox build failure on armv7hl: 59:42.43 /builddir/build/BUILD/firefox-63.0/media/libmkv/EbmlBufferWriter.c:43:13: warning: '_Serialize' defined but not used [-Wunused-function] 59:42.43 static void _Serialize(EbmlGlobal *glob, const unsigned char *p, const unsigned char *q) { 59:42.43 ^~~~~~~~~~ 59:43.00 media/libaom 59:45.50 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 59:45.51 /builddir/build/BUILD/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h: In function 'load_u8_8x8': 59:45.51 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 59:45.51 vld1_u8 (const uint8_t * __a) 59:45.51 ^~~~~~~ 59:45.51 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 59:45.51 /builddir/build/BUILD/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:52:9: note: called from here 59:45.51 *s7 = vld1_u8(s); 59:45.52 ^~~~~~~~~~ 59:45.52 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 59:45.52 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 59:45.52 vld1_u8 (const uint8_t * __a) 59:45.52 ^~~~~~~ 59:45.52 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 59:45.52 /builddir/build/BUILD/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:50:9: note: called from here 59:45.52 *s6 = vld1_u8(s); 59:45.52 ^~~~~~~~~~ 59:45.52 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 59:45.52 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 59:45.52 vld1_u8 (const uint8_t * __a) 59:45.52 ^~~~~~~ 59:45.52 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 59:45.52 /builddir/build/BUILD/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:48:9: note: called from here 59:45.52 *s5 = vld1_u8(s); 59:45.52 ^~~~~~~~~~ 59:45.52 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 59:45.52 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 59:45.52 vld1_u8 (const uint8_t * __a) 59:45.53 ^~~~~~~ 59:45.53 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 59:45.53 /builddir/build/BUILD/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:46:9: note: called from here 59:45.53 *s4 = vld1_u8(s); 59:45.53 ^~~~~~~~~~ 59:45.53 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 59:45.53 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 59:45.53 vld1_u8 (const uint8_t * __a) 59:45.53 ^~~~~~~ 59:45.53 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 59:45.53 /builddir/build/BUILD/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:44:9: note: called from here 59:45.53 *s3 = vld1_u8(s); 59:45.53 ^~~~~~~~~~ 59:45.53 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 59:45.53 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 59:45.53 vld1_u8 (const uint8_t * __a) 59:45.53 ^~~~~~~ 59:45.53 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 59:45.54 /builddir/build/BUILD/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:42:9: note: called from here 59:45.54 *s2 = vld1_u8(s); 59:45.54 ^~~~~~~~~~ 59:45.54 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 59:45.54 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 59:45.54 vld1_u8 (const uint8_t * __a) 59:45.54 ^~~~~~~ 59:45.54 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 59:45.54 /builddir/build/BUILD/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:40:9: note: called from here 59:45.54 *s1 = vld1_u8(s); 59:45.54 ^~~~~~~~~~ 59:45.54 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12: 59:45.54 /usr/lib/gcc/armv7hl-redhat-linux-gnueabi/8/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch 59:45.54 vld1_u8 (const uint8_t * __a) 59:45.54 ^~~~~~~ 59:45.55 In file included from /builddir/build/BUILD/firefox-63.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:19: 59:45.55 /builddir/build/BUILD/firefox-63.0/third_party/aom/av1/common/arm/mem_neon.h:38:9: note: called from here 59:45.55 *s0 = vld1_u8(s); 59:45.55 ^~~~~~~~~~