GetFrameLoader inside child objects vtbls could not be resolved by linker in mingw-clang build

RESOLVED FIXED in Firefox -esr60

Status

()

defect
P2
normal
RESOLVED FIXED
11 months ago
5 months ago

People

(Reporter: tjr, Assigned: tjr)

Tracking

Trunk
mozilla64
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox-esr6064+ fixed, firefox64 fixed)

Details

Attachments

(1 attachment)

No description provided.
Without this patch we get these errors:

> lld-link: error: undefined symbol: __ZThn88_N22nsObjectLoadingContent14GetFrameLoaderEv
> >>> referenced by ../../dom/html/Unified_cpp_dom_html0.o:(__ZTVN7mozilla3dom16HTMLEmbedElementE)
> lld-link: error: undefined symbol: __ZThn76_N25nsGenericHTMLFrameElement14GetFrameLoaderEv
> >>> referenced by ../../dom/html/Unified_cpp_dom_html1.o:(__ZTVN7mozilla3dom16HTMLFrameElementE)
> >>> referenced by ../../dom/html/Unified_cpp_dom_html1.o:(__ZTVN7mozilla3dom17HTMLIFrameElementE)
> lld-link: error: undefined symbol: __ZThn80_N25nsGenericHTMLFrameElement14GetFrameLoaderEv
> >>> referenced by ../../dom/html/Unified_cpp_dom_html1.o:(__ZTVN7mozilla3dom16HTMLFrameElementE)
> >>> referenced by ../../dom/html/Unified_cpp_dom_html1.o:(__ZTVN7mozilla3dom17HTMLIFrameElementE)
> lld-link: error: undefined symbol: __ZThn88_N22nsObjectLoadingContent14GetFrameLoaderEv
> >>> referenced by ../../dom/html/Unified_cpp_dom_html2.o:(__ZTVN7mozilla3dom17HTMLObjectElementE)

This is might be a clang bug?  I'm not sure if this is a patch we want to take; but it would unblock the mingw x86 build.
Component: General: Unsupported Platforms → DOM
Product: Firefox Build System → Core
:smaug, assuming I fix up the commit message, what do you think of this patch?
Flags: needinfo?(bugs)
How super weird. Why GetFrameLoader needs special handling but InternalSetFrameLoader doesn't.
Flags: needinfo?(bugs)
Why HTMLIFrameElement doesn't need the same stuff, even though the error seems to hint it would need?
Comment on attachment 9009652 [details]
Bug 1491846 GetFrameLoader inside child objects vtbls could not be resolved by linker. It looks like a clang bug, but requires closer look. I worked around it by having explicit forwards. r=Alex_Gaynor

Olli Pettay [:smaug] (r- if the bug doesn't explain what the change(s) are about.) has approved the revision.
Attachment #9009652 - Flags: review+
Priority: -- → P2
Keywords: checkin-needed
Pushed by aiakab@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1d61cb1fb3d2
GetFrameLoader inside child objects vtbls could not be resolved by linker. It looks like a clang bug, but requires closer look. I worked around it by having explicit forwards. r=smaug
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/1d61cb1fb3d2
Status: NEW → RESOLVED
Closed: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Comment on attachment 9009652 [details]
Bug 1491846 GetFrameLoader inside child objects vtbls could not be resolved by linker. It looks like a clang bug, but requires closer look. I worked around it by having explicit forwards. r=Alex_Gaynor

[ESR Uplift Approval Request]

If this is not a sec:{high,crit} bug, please state case for ESR consideration: Needed to fix the mingw-clang build for esr60

User impact if declined: Tor will have to carry this patch themselves, and we won't be able to run mingw-clang in automation.

Fix Landed on Version: 64.0a1 / 20180919123806

Risk to taking this patch: Low

Why is the change risky/not risky? (and alternatives if risky): We're only providing forwarding method stubs.

String or UUID changes made by this patch:
Attachment #9009652 - Flags: approval-mozilla-esr60?
Comment on attachment 9009652 [details]
Bug 1491846 GetFrameLoader inside child objects vtbls could not be resolved by linker. It looks like a clang bug, but requires closer look. I worked around it by having explicit forwards. r=Alex_Gaynor

Let's uplift; support for better build automation for esr60 + downstream builds.
Attachment #9009652 - Flags: approval-mozilla-esr60? → approval-mozilla-esr60+
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.