Closed Bug 1330119 Opened 3 years ago Closed 3 years ago

Extend aarch64 support in XPTCALL for more Unices

Categories

(Core :: XPCOM, defect)

Unspecified
FreeBSD
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla54
Tracking Status
firefox-esr45 --- fixed
thunderbird_esr45 --- fixed
thunderbird_esr52 --- fixed
firefox50 --- wontfix
firefox51 --- wontfix
firefox52 --- fixed
firefox-esr52 --- fixed
firefox53 --- fixed
firefox54 --- fixed

People

(Reporter: jbeich, Assigned: jbeich)

References

Details

Attachments

(1 file, 1 obsolete file)

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.
Attachment #8825876 - Flags: review?(mstange)
Attachment #8825876 - Attachment is obsolete: true
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 nfroyd@mozilla.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
Attachment #8840659 - Flags: approval-mozilla-esr52?
Attachment #8840659 - Flags: approval-mozilla-esr45?
Attachment #8840659 - Flags: approval-mozilla-beta?
Attachment #8840659 - Flags: approval-mozilla-aurora?
https://hg.mozilla.org/mozilla-central/rev/2c2c93735e70
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
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.
Attachment #8840659 - Flags: approval-mozilla-esr52?
Attachment #8840659 - Flags: approval-mozilla-beta?
Attachment #8840659 - Flags: approval-mozilla-beta+
Attachment #8840659 - Flags: approval-mozilla-aurora?
Attachment #8840659 - Flags: approval-mozilla-aurora+
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.
Flags: qe-verify-
You need to log in before you can comment on or make changes to this bug.