Bug 1641623 - Firefox 63 build failure on armv7hl
Summary: Firefox 63 build failure on armv7hl
Status: CLOSED DUPLICATE of bug 1658940
Alias: None
Product: Fedora
Classification: Fedora
Component: firefox
Version: 29
Hardware: armv7hl
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Gecko Maintainer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords:
Depends On:
Blocks: ARMTracker
TreeView+ depends on / blocked
 
Reported: 2018-10-22 11:24 UTC by Martin Stransky
Modified: 2019-05-19 17:30 UTC (History)
11 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2019-05-19 17:30:11 UTC


Attachments (Terms of Use)

Description Martin Stransky 2018-10-22 11:24:24 UTC
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          ^~~~~~~~~~

Comment 1 Martin Stransky 2018-10-22 11:26:18 UTC
This may be related - https://bugzilla.mozilla.org/show_bug.cgi?id=1436511

Comment 2 Dan Horák 2018-10-22 12:04:50 UTC
Trying local verbose build to get the full command line, might be a gcc issue too.

Comment 3 Martin Stransky 2018-10-22 12:29:50 UTC
btw. we're going to switch Firefox build to clang for Firefox 64 and later if that helps.

Comment 4 Dan Horák 2018-10-22 17:24:25 UTC
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

Comment 5 Peter Robinson 2018-10-24 11:26:40 UTC
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.

Comment 6 Martin Stransky 2018-10-24 11:33:32 UTC
(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.

Comment 7 Peter Robinson 2018-10-24 11:43:48 UTC
> 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 :)

Comment 8 Peter Robinson 2019-05-19 17:30:11 UTC
More details of failures on ARMv7 on this bug 1641623

*** This bug has been marked as a duplicate of bug 1658940 ***


Note You need to log in before you can comment on or make changes to this bug.