Closed Bug 1330119 Opened 3 years ago Closed 3 years ago
Extend aarch64 support in XPTCALL for more Unices
Given FreeBSD already uses Linux arm code, it's probably safe to assume Linux aarch64 would work as well. What about other NetBSD and OpenBSD? ../../xpcom/reflect/xptcall/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase+0x28): undefined reference to `nsXPTCStubBase::Stub3()' ../../xpcom/reflect/xptcall/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase+0x30): undefined reference to `nsXPTCStubBase::Stub4()' [...] ../../xpcom/build/Unified_cpp_xpcom_build0.o:(.data.rel.ro._ZL16kFrozenFunctions+0x180): undefined reference to `NS_InvokeByIndex' ../../js/xpconnect/src/Unified_cpp_js_xpconnect_src1.o: In function `XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)': obj-aarch64-unknown-freebsd11.0/js/xpconnect/src/Unified_cpp_js_xpconnect_src1.cpp:(.text._ZN16XPCWrappedNative10CallMethodER14XPCCallContextNS_8CallModeE+0xd24): undefined reference to `NS_InvokeByIndex' ../../dom/xslt/xpath/Unified_cpp_dom_xslt_xpath2.o: In function `txXPCOMExtensionFunctionCall::evaluate(txIEvalContext*, txAExprResult**)': obj-aarch64-unknown-freebsd11.0/dom/xslt/xpath/Unified_cpp_dom_xslt_xpath2.cpp:(.text._ZN28txXPCOMExtensionFunctionCall8evaluateEP14txIEvalContextPP13txAExprResult+0xa5c): undefined reference to `NS_InvokeByIndex' /usr/bin/ld: libxul.so: hidden symbol `_ZN14nsXPTCStubBase7Stub234Ev' isn't defined /usr/bin/ld: final link failed: Bad value http://thunderx1.nyi.freebsd.org/data/110arm64-default/430427/logs/errors/firefox-esr-45.6.0_3,1.log http://thunderx1.nyi.freebsd.org/data/110arm64-default/430427/logs/errors/firefox-50.1.0_4,1.log
Like with other architectures it should be named after the ABI instead of the OS probably (e.g. contain "elf" and "aarch64", but not the OS name) and be used universally. But renaming the files is cosmetic; just use them.
For OpenBSD, there's work being done on armv7 (32bits) and a port is being worked on for arm64, i have no idea what codepaths should be used, will ask. Probably the same thing as others.
Comment on attachment 8840659 [details] Bug 1330119 - Build Linux aarch64 code in XPTCALL also on BSDs. https://reviewboard.mozilla.org/r/115110/#review116576 http://thunderx1.nyi.freebsd.org/data/latest-per-pkg/firefox-esr/45.7.0_2%2C1/110arm64-default.log http://thunderx1.nyi.freebsd.org/data/latest-per-pkg/firefox/51.0.1_2%2C1/110arm64-default.log
Comment on attachment 8840659 [details] Bug 1330119 - Build Linux aarch64 code in XPTCALL also on BSDs. https://reviewboard.mozilla.org/r/115110/#review116582
Attachment #8840659 - Flags: review?(nfroyd) → review+
Pushed by email@example.com: https://hg.mozilla.org/integration/autoland/rev/2c2c93735e70 Build Linux aarch64 code in XPTCALL also on BSDs. r=froydnj
Comment on attachment 8840659 [details] Bug 1330119 - Build Linux aarch64 code in XPTCALL also on BSDs. Approval Request Comment [ESR consideration]: Easier testing Firefox on aarch64 downstream e.g., in ESR forks such as Tor Browser [Feature/Bug causing the regression]: bug 963024 feature [User impact if declined]: Broken build on FreeBSD, OpenBSD, NetBSD on aarch64 (e.g. RPi3) [Is this code covered by automated tests?]: Yes but both BSDs and aarch64 are still Tier3. [Has the fix been verified in Nightly?]: No hardware. Verified downstream on Cavium Thunder X buildbot with Firefox 45.6, 45.7, 50.1.0, 51.0, 50.0.1 [Needs manual test from QE? If yes, steps to reproduce]: No [List of other uplifts needed for the feature/fix]: None [Is the change risky?]: No [Why is the change risky/not risky?]: Can only break build due to typos [String changes made/needed]: None
Comment on attachment 8840659 [details] Bug 1330119 - Build Linux aarch64 code in XPTCALL also on BSDs. arm64 build change for BSDs, aurora53+, beta52+ Clearing esr52 flag, the change will be synced from beta.
Comment on attachment 8840659 [details] Bug 1330119 - Build Linux aarch64 code in XPTCALL also on BSDs. Although this patch doesn't meet ESR criteria (only sec-high & sec-critical issues), we can still take this in ESR. The patch is to extend support for FreeBSD, OpenBSD, NetBSD on aarch64. ESR45+.
Attachment #8840659 - Flags: approval-mozilla-esr45? → approval-mozilla-esr45+
Setting qe-verify- based on Jan's assessment on manual testing needs (see Comment 9) and the fact that this fix has automated coverage.
You need to log in before you can comment on or make changes to this bug.