Closed
Bug 1250403
Opened 9 years ago
Closed 9 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•9 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•9 years ago
|
||
And V8 has optimized version of aarch64's atomicops.h. So we should use it.
Assignee: nobody → m_kato
Updated•9 years ago
|
Whiteboard: btpp-active
Assignee | ||
Comment 3•9 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•9 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+
Comment 8•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/7c2671907288
https://hg.mozilla.org/mozilla-central/rev/b3d2424a348e
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox47:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
Comment 9•9 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•9 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•9 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•9 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•9 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 15•9 years ago
|
||
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+
Updated•9 years ago
|
Attachment #8724532 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Updated•9 years ago
|
status-firefox46:
--- → affected
Comment 16•9 years ago
|
||
bugherder uplift |
Updated•9 years ago
|
status-firefox-esr45:
--- → affected
Comment 17•9 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•9 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•9 years ago
|
||
bugherder uplift |
You need to log in
before you can comment on or make changes to this bug.
Description
•