Enable tcmalloc for 32bit MIPS
Reported by
gordana....@mips.com,
Feb 8 2018
|
||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Steps to reproduce the problem: Compile Chromium for mipsel with tcmalloc: 1. gn gen out-gn/mips32-linux-tcmalloc --args="target_os=\"linux\" is_debug=false target_cpu=\"mipsel\" mips_arch_variant=\"r2\" use_allocator=\"tcmalloc\"" 2. ninja -j6 -C out-gn/mips32-linux-tcmalloc/ chrome What is the expected behavior? Successful build. What went wrong? Build failed. Did this work before? No Chrome version: chromium master Channel: dev OS Version: Flash Version:
,
Feb 8 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4057752aa2a88f67f670b30fba9ac67ed74d34c4 commit 4057752aa2a88f67f670b30fba9ac67ed74d34c4 Author: Gordana Cmiljanovic <gordana.cmiljanovic@mips.com> Date: Thu Feb 08 17:32:56 2018 Add SuggestedDelayNS() implementation for 32bit arches without Atomic64 Taken from: https://github.com/gperftools/gperftools/commit/3e296c28c3c2b67df624d372b75650ae65c87b04 for 32bit architectures which do not support 64bit atomicity. Needed for 32bit MIPS. Bug: 810356 Change-Id: I16ffda3a62428480c0565d801bd3ac857fca47ac Reviewed-on: https://chromium-review.googlesource.com/904303 Commit-Queue: Will Harris <wfh@chromium.org> Reviewed-by: Will Harris <wfh@chromium.org> Cr-Commit-Position: refs/heads/master@{#535424} [modify] https://crrev.com/4057752aa2a88f67f670b30fba9ac67ed74d34c4/third_party/tcmalloc/README.chromium [modify] https://crrev.com/4057752aa2a88f67f670b30fba9ac67ed74d34c4/third_party/tcmalloc/chromium/src/base/spinlock_internal.cc
,
Feb 8 2018
Initial error (in linux_syscall_support.h) will be fixed here: https://chromium-review.googlesource.com/c/chromium/src/+/909216 but still WIP.
,
Feb 28 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9bb40b1c2f8d2784ed02c1dcf49d4d5458b52e5c commit 9bb40b1c2f8d2784ed02c1dcf49d4d5458b52e5c Author: Gordana Cmiljanovic <gordana.cmiljanovic@mips.com> Date: Wed Feb 28 17:46:44 2018 [MIPS][tcmalloc] Fix mipsel compile errors tcmalloc is using very old version of linux_syscall_support.h The following mipsel related changes are pulled from lss project: https://chromiumcodereview.appspot.com/10067027 https://codereview.chromium.org/13846002 https://codereview.chromium.org/913723002/ https://codereview.chromium.org/836473006 Bug: 810356 , 794147 Change-Id: I79c3c77a5b81eb84902aa82b72656a776053de1e Reviewed-on: https://chromium-review.googlesource.com/909216 Commit-Queue: Will Harris <wfh@chromium.org> Reviewed-by: Will Harris <wfh@chromium.org> Cr-Commit-Position: refs/heads/master@{#539871} [modify] https://crrev.com/9bb40b1c2f8d2784ed02c1dcf49d4d5458b52e5c/third_party/tcmalloc/README.chromium [modify] https://crrev.com/9bb40b1c2f8d2784ed02c1dcf49d4d5458b52e5c/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
,
Mar 5 2018
Can this be closed now?
,
Mar 5 2018
Just this last change to be merged before closing: https://chromium-review.googlesource.com/c/chromium/src/+/947948
,
Mar 5 2018
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 13 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8464c2bb2de4502c5979035997915af7fb7b2deb commit 8464c2bb2de4502c5979035997915af7fb7b2deb Author: Gordana Cmiljanovic <gordana.cmiljanovic@mips.com> Date: Tue Mar 13 01:29:20 2018 [MIPS] Enable tcmalloc for mipsel With these two merged: https://chromium-review.googlesource.com/c/chromium/src/+/904303 https://chromium-review.googlesource.com/c/chromium/src/+/909216 we can enable tcmalloc for mipsel. Bug: 810356 Change-Id: Idd63cb9a0e1a9582047ad203edf160b0c532f854 Reviewed-on: https://chromium-review.googlesource.com/947948 Reviewed-by: Will Harris <wfh@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#542685} [modify] https://crrev.com/8464c2bb2de4502c5979035997915af7fb7b2deb/build/config/allocator.gni
,
Mar 19 2018
This work is completed.
,
Mar 19 2018
|
||||
►
Sign in to add a comment |
||||
Comment 1 by gordana....@mips.com
, Feb 8 2018Initial error is: In file included from ../../third_party/tcmalloc/chromium/src/base/spinlock_internal.cc:51: In file included from ../../third_party/tcmalloc/chromium/src/base/spinlock_linux-inl.h:38: ../../third_party/tcmalloc/chromium/src/base/linux_syscall_support.h:1897:51: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions unsigned long, f, void *, a) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ../../third_party/tcmalloc/chromium/src/base/linux_syscall_support.h:1526:64: note: expanded from macro '_syscall5' "r"(__r6), "m" ((unsigned long)arg5) \ ~~~~~~~~~~~~~~~^~~~ ../../third_party/tcmalloc/chromium/src/base/linux_syscall_support.h:2019:47: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions loff_t *, res, uint, wh) ~~~~~~~~~~~~~~~~~~~~~^~~ ../../third_party/tcmalloc/chromium/src/base/linux_syscall_support.h:1526:64: note: expanded from macro '_syscall5' "r"(__r6), "m" ((unsigned long)arg5) \ ~~~~~~~~~~~~~~~^~~~ 2 errors generated Possible fix is has earlier been provided: https://chromium-review.googlesource.com/c/chromium/src/+/822411 The next error: ../../third_party/tcmalloc/chromium/src/base/spinlock_internal.cc:83:10: error: no type named 'Atomic64' in namespace 'base::subtle'; did you mean 'Atomic32'? static base::subtle::Atomic64 rand; ^~~~~~~~~~~~~~~~~~~~~~ Atomic32 ../../third_party/tcmalloc/chromium/src/base/atomicops-internals-mips.h:46:17: note: 'Atomic32' declared here typedef int32_t Atomic32; ^ 1 error generated. Fix for this error provided in: https://chromium-review.googlesource.com/c/chromium/src/+/904303