Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1641623 - Firefox 63 build failure on armv7hl
Summary: Firefox 63 build failure on armv7hl
Keywords:
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:
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)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-05-19 17:30:11 UTC
Type: Bug
Embargoed:


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.