Closed
Bug 1250403
Opened 8 years ago
Closed 8 years ago
ARM64: atomicops_internals_arm_gcc.h does not define 64bit methods
Categories
(Core :: IPC, defect)
Core
IPC
Tracking
()
RESOLVED
FIXED
mozilla47
People
(Reporter: jhorak, Assigned: m_kato)
References
Details
(Whiteboard: btpp-active)
Attachments
(3 files)
830 bytes,
patch
|
Details | Diff | Splinter Review | |
58 bytes,
text/x-review-board-request
|
billm
:
review+
lizzard
:
approval-mozilla-beta+
Sylvestre
:
approval-mozilla-esr45+
|
Details |
58 bytes,
text/x-review-board-request
|
billm
:
review+
lizzard
:
approval-mozilla-beta+
Sylvestre
:
approval-mozilla-esr45+
|
Details |
I got following error during build of Firefox 45 beta 8 on arm64 (gcc): /usr/lib/gcc/aarch64-redhat-linux/4.8.5/../../../../lib64/crtn.o../../dom/media/systemservices/Unified_cpp_systemservices0.o: In function `Singleton<mozilla::camera::CamerasSingleton, DefaultSingletonTraits<mozilla::camera::CamerasSingleton>, mozilla::camera::CamerasSingleton>::OnExit(void*)': /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:172: undefined reference to `base::subtle::NoBarrier_AtomicExchange(long volatile*, long)' ../../dom/media/systemservices/Unified_cpp_systemservices0.o: In function `Singleton<mozilla::camera::CamerasSingleton, DefaultSingletonTraits<mozilla::camera::CamerasSingleton>, mozilla::camera::CamerasSingleton>::get()': /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:118: undefined reference to `base::subtle::NoBarrier_Load(long const volatile*)' /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:125: undefined reference to `base::subtle::Acquire_CompareAndSwap(long volatile*, long, long)' /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:130: undefined reference to `base::subtle::Release_Store(long volatile*, long)' /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:147: undefined reference to `base::subtle::NoBarrier_Load(long const volatile*)' ../../media/webrtc/trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Singleton<webrtc::TracePosix, DefaultSingletonTraits<webrtc::TracePosix>, webrtc::TracePosix>::OnExit(void*)': /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:172: undefined reference to `base::subtle::NoBarrier_AtomicExchange(long volatile*, long)' ../../media/webrtc/trunk/webrtc/system_wrappers/system_wrappers_system_wrappers/Unified_cpp_system_wrappers1.o: In function `Singleton<webrtc::TracePosix, DefaultSingletonTraits<webrtc::TracePosix>, webrtc::TracePosix>::get()': /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:118: undefined reference to `base::subtle::NoBarrier_Load(long const volatile*)' /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:125: undefined reference to `base::subtle::Acquire_CompareAndSwap(long volatile*, long, long)' /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:130: undefined reference to `base::subtle::Release_Store(long volatile*, long)' /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:147: undefined reference to `base::subtle::NoBarrier_Load(long const volatile*)' ../../media/webrtc/trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Singleton<webrtc::SSRCDatabase, DefaultSingletonTraits<webrtc::SSRCDatabase>, webrtc::SSRCDatabase>::OnExit(void*)': /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:172: undefined reference to `base::subtle::NoBarrier_AtomicExchange(long volatile*, long)' ../../media/webrtc/trunk/webrtc/modules/modules_rtp_rtcp/Unified_cpp_webrtc_modules1.o: In function `Singleton<webrtc::SSRCDatabase, DefaultSingletonTraits<webrtc::SSRCDatabase>, webrtc::SSRCDatabase>::get()': /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:118: undefined reference to `base::subtle::NoBarrier_Load(long const volatile*)' /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:125: undefined reference to `base::subtle::Acquire_CompareAndSwap(long volatile*, long, long)' /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:130: undefined reference to `base::subtle::Release_Store(long volatile*, long)' /builddir/build/BUILD/firefox-45.0/firefox-45.0b8/ipc/chromium/src/base/singleton.h:147: undefined reference to `base::subtle::NoBarrier_Load(long const volatile*)' Problem is that atomicops_internals_arm_gcc.h does not define 64 bits version of methods from above. Attaching simple workaround, having a fix would be much better though.
Assignee | ||
Comment 1•8 years ago
|
||
media/webrtc/trunk/build/build_config.h and security/sandbox/chromium/build/build_config.h use ARCH_CPU_ARM64, but bug 963030 defines ARCH_CPU_AARCH64... Chromium uses ARCH_CPU_ARM64, so we should use it instead of ARCH_CPU_AARCH64...
Assignee | ||
Comment 2•8 years ago
|
||
And V8 has optimized version of aarch64's atomicops.h. So we should use it.
Assignee: nobody → m_kato
Updated•8 years ago
|
Whiteboard: btpp-active
Assignee | ||
Comment 3•8 years ago
|
||
Chromium defines ARCH_CPU_ARM64 and ARCH_CPU_ARM_FAMILY for aarch64. So we should use it instead. Because webrtc and sandbox already define it Review commit: https://reviewboard.mozilla.org/r/37079/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/37079/
Attachment #8724530 -
Flags: review?(wmccloskey)
Assignee | ||
Comment 4•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/37081/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/37081/
Attachment #8724532 -
Flags: review?(wmccloskey)
Comment on attachment 8724530 [details] MozReview Request: Bug 1250403 - Part 1. Define ARCH_CPU_ARM64 instead of ARCH_CPU_AARCH64. r?billm https://reviewboard.mozilla.org/r/37079/#review33809
Attachment #8724530 -
Flags: review?(wmccloskey) → review+
Comment on attachment 8724532 [details] MozReview Request: Bug 1250403 - Part 2. Import crbug #354405 for aarch64. r?billm https://reviewboard.mozilla.org/r/37081/#review33811
Attachment #8724532 -
Flags: review?(wmccloskey) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/7c2671907288 https://hg.mozilla.org/integration/mozilla-inbound/rev/b3d2424a348e
Comment 8•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/7c2671907288 https://hg.mozilla.org/mozilla-central/rev/b3d2424a348e
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox47:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
Comment 9•8 years ago
|
||
Can we have this uplifted, possibly up to esr45? Bug 1230768 made this necessary, and was uplifted up to esr45.
Flags: needinfo?(m_kato)
Assignee | ||
Comment 10•8 years ago
|
||
Comment on attachment 8724530 [details] MozReview Request: Bug 1250403 - Part 1. Define ARCH_CPU_ARM64 instead of ARCH_CPU_AARCH64. r?billm [Approval Request Comment] If this is not a sec:{high,crit} bug, please state case for ESR consideration: User impact if declined: Cannot build and work Firefox for Linux/aarch64 platform. Some Linux distributors (Fedora, Debian etc) already provides aarch64 version. Fix Landed on Version: This fix is already landed in 47 Risk to taking this patch (and alternatives if risky): Nothing. Linux/aarch64 isn't tier-1 platform. String or UUID changes made by this patch: N/A See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.
Flags: needinfo?(m_kato)
Attachment #8724530 -
Flags: approval-mozilla-esr45?
Assignee | ||
Comment 11•8 years ago
|
||
Comment on attachment 8724532 [details] MozReview Request: Bug 1250403 - Part 2. Import crbug #354405 for aarch64. r?billm [Approval Request Comment] If this is not a sec:{high,crit} bug, please state case for ESR consideration: User impact if declined: Cannot build and work Firefox for Linux/aarch64 platform. Some Linux distributors (Fedora, Debian etc) already provides aarch64 version. Fix Landed on Version: This fix is already landed in 47 Risk to taking this patch (and alternatives if risky): Nothing. Linux/aarch64 isn't tier-1 platform. String or UUID changes made by this patch: N/A See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.
Attachment #8724532 -
Flags: approval-mozilla-esr45?
Assignee | ||
Comment 13•8 years ago
|
||
Comment on attachment 8724530 [details] MozReview Request: Bug 1250403 - Part 1. Define ARCH_CPU_ARM64 instead of ARCH_CPU_AARCH64. r?billm Approval Request Comment [Feature/regressing bug #]: Nothing [User impact if declined]: User cannot build Firefox for Linux/aarch64 [Describe test coverage new/current, TreeHerder]: Landed in m-c. [Risks and why]: Nothing. We don't release Firefox for Linux/aarch64. [String/UUID change made/needed]: No.
Flags: needinfo?(m_kato)
Attachment #8724530 -
Flags: approval-mozilla-beta?
Assignee | ||
Comment 14•8 years ago
|
||
Comment on attachment 8724532 [details] MozReview Request: Bug 1250403 - Part 2. Import crbug #354405 for aarch64. r?billm Approval Request Comment [Feature/regressing bug #]: Nothing [User impact if declined]: User cannot build Firefox for Linux/aarch64 [Describe test coverage new/current, TreeHerder]: Landed in m-c. [Risks and why]: Nothing. We don't release Firefox for Linux/aarch64 yet. [String/UUID change made/needed]: No.
Attachment #8724532 -
Flags: approval-mozilla-beta?
Comment on attachment 8724530 [details] MozReview Request: Bug 1250403 - Part 1. Define ARCH_CPU_ARM64 instead of ARCH_CPU_AARCH64. r?billm Let's try this for beta 5, we want to support Linux builds. But, if there are problems, and we can't fix them for the beta 6 build, we will have to back this out.
Attachment #8724530 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #8724532 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
status-firefox46:
--- → affected
Comment 16•8 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-beta/rev/b0dea102404a https://hg.mozilla.org/releases/mozilla-beta/rev/fa1f8d2e7bb6
Updated•8 years ago
|
status-firefox-esr45:
--- → affected
Comment 17•8 years ago
|
||
Comment on attachment 8724530 [details] MozReview Request: Bug 1250403 - Part 1. Define ARCH_CPU_ARM64 instead of ARCH_CPU_AARCH64. r?billm Simplify the life of Linux packagers, taking it. Should be in 45.1.0
Attachment #8724530 -
Flags: approval-mozilla-esr45? → approval-mozilla-esr45+
Comment 18•8 years ago
|
||
Comment on attachment 8724532 [details] MozReview Request: Bug 1250403 - Part 2. Import crbug #354405 for aarch64. r?billm Simplify the life of Linux packagers, taking it. Should be in 45.1.0
Attachment #8724532 -
Flags: approval-mozilla-esr45? → approval-mozilla-esr45+
Comment 19•8 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-esr45/rev/7eb9c17e05f2 https://hg.mozilla.org/releases/mozilla-esr45/rev/71dbff20d2a9
You need to log in
before you can comment on or make changes to this bug.
Description
•