Closed Bug 1680955 Opened 2 years ago Closed 2 years ago

ld.lld: error: undefined hidden symbol: mozilla::dom::SetGamepadLightIndicatorColor

Categories

(Core :: DOM: Device Interfaces, defect)

Unspecified
FreeBSD
defect

Tracking

()

RESOLVED FIXED
85 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox83 --- unaffected
firefox84 --- unaffected
firefox85 --- disabled
firefox86 --- fixed

People

(Reporter: jbeich, Assigned: cmartin)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file, 1 obsolete file)

Attached patch fixSplinter Review

dom/gamepad/fallback/FallbackGamepad.cpp still uses the old type. I've attached an example fix but due to bug 1536716 can't really submit it for review.

$ c++ --version
FreeBSD clang version 11.0.0 (git@github.com:llvm/llvm-project.git llvmorg-11.0.0-0-g176249bd673)
Target: x86_64-unknown-freebsd13.0
Thread model: posix
InstalledDir: /usr/bin

$ ./mach build
[...]
toolkit/library/build/libxul.so
ld.lld: error: undefined hidden symbol: mozilla::dom::SetGamepadLightIndicatorColor(mozilla::Tainted<mozilla::dom::GamepadHandle> const&, mozilla::Tainted<unsigned int> const&, mozilla::Tainted<unsigned char> const&, mozilla::Tainted<unsigned char> const&, mozilla::Tainted<unsigned char> const&)
>>> referenced by Unified_cpp_dom_gamepad0.cpp
>>>               toolkit/library/build/../../../dom/gamepad/Unified_cpp_dom_gamepad0.o:(mozilla::dom::GamepadEventChannelParent::RecvLightIndicatorColor(mozilla::Tainted<mozilla::dom::GamepadHandle> const&, mozilla::Tainted<unsigned int> const&, mozilla::Tainted<unsigned char> const&, mozilla::Tainted<unsigned char> const&, mozilla::Tainted<unsigned char> const&, mozilla::Tainted<unsigned int> const&))

Starting with one of my earlier patches in Bug 1657404, FreeBSD started seeing
an error,

ld.lld: error: undefined hidden symbol:
mozilla::dom::SetGamepadLightIndicatorColor

We don't build this codepath as part of our regular Firefox testing, and so I
didn't see the issue.

Luckily, Jan Beich <jbeich@FreeBSD.org> noticed the issue and offered up this
patch. They unfortunately can't be given credit because they are protesting
our requirement for 2FA in Phabricator.

Assignee: nobody → cmartin
Status: NEW → ASSIGNED

Thanks for the patch, Jan! 🙂 Sorry if I messed up your FF build.

Pushed by cmartin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bb64138c956e
Update FallbackGamepad to use new GamepadHandle type r=handyman
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch

Fwiw, i had no issue building 85.0b1 and 85.0b2 on OpenBSD but 85.0b3 failed with the following:

In file included from Unified_cpp_dom_gamepad0.cpp:92:                                                                                                                                                               
/usr/obj/ports/firefox-85.0beta3/firefox-85.0/dom/gamepad/fallback/FallbackGamepad.cpp:8:10: fatal error: 'mozilla/dom/GamepadHandle.h' file not found                                                               
#include "mozilla/dom/GamepadHandle.h"                                                                                                                                                                               
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~   

there's no GamepadHandle.h file in the build dir, while i think this header is looked for in dist/include/mozilla/dom ?

it seems parts of bug #1657404 were backed out from beta in https://hg.mozilla.org/releases/mozilla-beta/rev/0f0e8d040ea71e2ab86e80215fc0e9a7275d1e2a so related to this backout ? maybe this bug should be backed out too ?

Flags: needinfo?(cmartin)

Ah geez -- Thanks for the heads-up, Landry.

@RyanVM (Julien is on PTO)

My mistake - When we backed out those 3 gamepad changes here, I forgot that I had checked in this fix to fallback gamepad logic (because our automation doesn't currently test on FreeBSD so it wasn't caught)

Could we please back out https://hg.mozilla.org/mozilla-central/rev/bb64138c956e in the Beta branch as well?

Thanks, and sorry!

Flags: needinfo?(cmartin) → needinfo?(ryanvm)
Has Regression Range: --- → yes
Attachment #9191739 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.