failure to build on 32-bits since libvpx update in #1525393
Categories
(Core :: Audio/Video: Playback, defect, P5)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox74 | --- | unaffected |
firefox75 | --- | wontfix |
firefox76 | --- | fixed |
firefox77 | --- | fixed |
People
(Reporter: gaston, Assigned: dminor)
References
(Regression)
Details
(Keywords: regression)
Attachments
(2 files)
1002 bytes,
patch
|
gaston
:
review+
gaston
:
feedback+
ricotz
:
feedback+
|
Details | Diff | Splinter Review |
47 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
Build failure of 75.0b2 on OpenBSD/i386 which is natively 32 bits.
/build/obj/ports/firefox-75.0beta2/firefox-75.0/media/libvpx/libvpx/vpx_ports/emms_mmx.c:15:33: error: always_inline function '_mm_empty' requires target feature 'mmx', but would be inlined into function
'vpx_clear_system_state' that is compiled without support for 'mmx'
void vpx_clear_system_state() { _mm_empty(); }
^
1 error generated.
the full build command is the following:
/build/obj/ports/firefox-75.0beta2/bin/cc -std=gnu99 -o emms_mmx.o -c -I/build/obj/ports/firefox-75.0beta2/build-i386/dist/system_wrappers -include /build/obj/ports/firefox-75.0beta2/firefox-75.0/config/gcc_h
idden.h -fstack-protector-strong -DNDEBUG=1 -DTRIMMED=1 -DHAVE_CONFIG_H=vpx_config.h -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/build/obj/ports/firefox-75.0beta2/firef
ox-75.0/media/libvpx -I/build/obj/ports/firefox-75.0beta2/build-i386/media/libvpx -I/build/obj/ports/firefox-75.0beta2/firefox-75.0/media/libvpx/config/linux/ia32 -I/build/obj/ports/firefox-75.0beta2/firefox-7
5.0/media/libvpx/config -I/build/obj/ports/firefox-75.0beta2/firefox-75.0/media/libvpx/libvpx -I/build/obj/ports/firefox-75.0beta2/build-i386/dist/include -I/usr/local/include/nspr -I/usr/local/include/nss -I/
build/obj/ports/firefox-75.0beta2/build-i386/dist/include/nss -I/usr/include -fPIC -include /build/obj/ports/firefox-75.0beta2/build-i386/mozilla-config.h -DMOZILLA_CLIENT -Qunused-arguments -I/usr/X11R6/inclu
de -O2 -pipe -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -pthread -fPIC -pipe -I/usr/local/include -fno-omit-frame-pointer -funwind-tables -Qunused-arguments -Wall -Wbitfield-enum-
conversion -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wclass-varargs -Wfloat-overflow-co
nversion -Wfloat-zero-conversion -Wloop-analysis -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-l
imit-compare -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-
arguments -Wno-sign-compare -Wno-unused-function -Wno-unreachable-code -Wno-unneeded-internal-declaration -MD -MP -MF .deps/emms_mmx.o.pp /build/obj/ports/firefox-75.0beta2/firefox-75.0/media/libvpx/libvpx/
vpx_ports/emms_mmx.c
Reporter | ||
Comment 1•5 years ago
|
||
i guess this has something to do in the HAVE_MMX spaghetti bits that arent enabled/detected on OpenBSD ?
Reporter | ||
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
can you please share your configure options, and other logs if you happen to have them? It's easier to reproduce and thus confirm.
Updated•5 years ago
|
Reporter | ||
Comment 3•5 years ago
|
||
(In reply to tt_1 from comment #2)
can you please share your configure options, and other logs if you happen to have them? It's easier to reproduce and thus confirm.
configure args are:
--prefix=/usr/local --enable-release --enable-sandbox --with-libclang-path=/usr/local/lib --disable-debug-symbols --with-system-nss --with-system-nspr --with-system-icu --with-system-zlib=/usr --with-system-bz2=/usr/local --enable-official-branding --disable-gconf --disable-necko-wifi --disable-optimize --disable-tests --disable-updater --disable-dbus --enable-default-toolkit=cairo-gtk3 --enable-application=browser
but i doubt they matters. I think anyone building natively on 32-bits on linux or BSD will see the same errors. I suppose there should be some HAVE_MMX set somewhere via the files in media/libvpx/config - on OpenBSD, i dunno which vpx_config.h is used (the linux ones per https://hg.mozilla.org/releases/mozilla-beta/file/tip/media/libvpx/moz.build#l37 ?)
for the other logs, what do you need ? config logs ? config.h ?
is mozilla still building natively on 32 bits ? jan, does it build for you ?
Ok, since you're on *bsd this means you're using clang and lld then? Asking since I couldn't confirm when cross compiling to armv7 with gcc and ld.bfd
I might be able to do a test compile nativly with that confirmed information, to see wether that does affect armv7 as well.
Reporter | ||
Comment 5•5 years ago
|
||
yes, OpenBSD/i386 uses clang/lld.
Comment 6•5 years ago
|
||
Same issue on Ubuntu/i386 builds for central and beta.
(In reply to Landry Breuil (:gaston) from comment #3)
is mozilla still building natively on 32 bits ?
x86 without SSE2 is considered Tier3 since bug 1274196.
jan, does it build for you ?
FreeBSD i386 is also affected unless --with-system-libvpx
. i386 target implicitly has -march=i486
but due to missing libatomic (remember, GCC is not in base) it was bumped to -march=i686
since Clang 9 upgrade. As -march=i686
doesn't implicitly enable -mmx
the build still fails.
(Sorry, I can't submit on Phabricator due to bug 1536716.)
https://treeherder.mozilla.org/#/jobs?repo=try&revision=72c5cfd0ad377a60d6e134a5209bf147dd7c7b8d
Comment 9•5 years ago
|
||
Reporter | ||
Comment 10•5 years ago
|
||
Reporter | ||
Comment 11•5 years ago
|
||
:dminor, :bryce, can we somehow get this commited ? i've had it as a local patch for 75.. thanks!
Assignee | ||
Comment 12•5 years ago
|
||
Updated•5 years ago
|
Assignee | ||
Comment 13•5 years ago
|
||
Try run here: https://treeherder.mozilla.org/#/jobs?repo=try&revision=55e7910fc48f221a1f73bdc2a9a4232bb95ffa66, just to be safe.
Comment 14•5 years ago
|
||
Comment 15•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Assignee | ||
Comment 16•5 years ago
|
||
Comment on attachment 9140106 [details]
Bug 1622013 - Build *_mmx.c files with -mmmx in bundled libvpx; r=bryce!
Beta/Release Uplift Approval Request
- User impact if declined: Increased maintenance burden for *BSD maintainers.
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Low risk, doesn't impact tier-1 builds.
- String changes made/needed: None
Comment 17•5 years ago
|
||
Comment on attachment 9140106 [details]
Bug 1622013 - Build *_mmx.c files with -mmmx in bundled libvpx; r=bryce!
Makes life easier for downstream distros. Approved for 76.0b5.
Comment 18•5 years ago
|
||
bugherder uplift |
Description
•