Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Issue 2782063005: Explicitly specify whether to emit frame pointers by default. (Closed)

Created:
3 years, 8 months ago by erikchen
Modified:
3 years, 8 months ago
CC:
chromium-reviews, vmpstr+watch_chromium.org, DmitrySkiba
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Explicitly specify whether to emit frame pointers by default. All platforms now specify whether to emit frame pointers by default, rather than relying on default compiler options. This CL moves the logic from config("default_stack_frames") into compiler.gni. The former is actually the right place for the logic to live, but there exists code that relies on whether a frame pointer is emitted by default. Right now, that logic is being duplicated/guessed by the code in question. This CL at least unifies the logic in a single location. There current exists code that uses a preprocessor definition HAVE_TRACE_STACK_FRAME_POINTERS. Despite the name, the code really wants to know if most stacks can be unwound using stack pointers. I've renamed it to CAN_UNWIND_WITH_FRAME_POINTERS. Arguably, any code that uses CAN_UNWIND_WITH_FRAME_POINTERS is broken and should be removed, since it relies on the assumption that all stacks will either have or not have frame pointers, but that can vary TU by TU. BUG=706116, 706654 Review-Url: https://codereview.chromium.org/2782063005 Cr-Commit-Position: refs/heads/master@{#462622} Committed: https://chromium.googlesource.com/chromium/src/+/f7c8a0df4253be5271276dc7f3c1da5ce9b677c1

Patch Set 1 #

Patch Set 2 : Move logic to compiler.gni. #

Patch Set 3 : Fix Windows logic. #

Total comments: 4

Patch Set 4 : Comments from primiano. #

Patch Set 5 : Comments from primiano. #

Patch Set 6 : Fix bootstrap. #

Patch Set 7 : Rebase. #

Total comments: 7

Patch Set 8 : fix windows #

Patch Set 9 : comemnts from mark. #

Patch Set 10 : Clean up. #

Total comments: 2

Patch Set 11 : comments from brettw. #

Patch Set 12 : comments from brettw. #

Patch Set 13 : Comments from dskiba. #

Patch Set 14 : compile fixes. #

Patch Set 15 : missing gn import. #

Patch Set 16 : arm64 -> arm #

Unified diffs Side-by-side diffs Delta from patch set Stats (+73 lines, -51 lines) Patch
M base/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M base/android/jni_android.h View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +5 lines, -4 lines 0 comments Download
M base/android/jni_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +3 lines, -3 lines 0 comments Download
M base/debug/stack_trace.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +4 lines, -21 lines 0 comments Download
M base/debug/stack_trace.cc View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +8 lines, -8 lines 0 comments Download
M base/debug/stack_trace_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +4 lines, -2 lines 0 comments Download
M base/trace_event/heap_profiler_allocation_context_tracker.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -1 line 0 comments Download
M base/trace_event/memory_dump_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -2 lines 0 comments Download
M build/config/compiler/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 1 chunk +12 lines, -8 lines 0 comments Download
M build/config/compiler/compiler.gni View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +29 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/libc_close_tracking.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -1 line 0 comments Download
M tools/gn/bootstrap/bootstrap.py View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 75 (52 generated)
erikchen
thakis: Please review.
3 years, 8 months ago (2017-03-29 23:38:11 UTC) #4
Primiano Tucci (use gerrit)
Some thoughts, +dskiba FYI > Arguably, any code that uses HAVE_TRACE_STACK_FRAME_POINTERS is broken and should ...
3 years, 8 months ago (2017-03-30 13:15:04 UTC) #15
erikchen
mark: Please review. thakis is afk for a bit, and you've been active on the ...
3 years, 8 months ago (2017-03-30 22:12:47 UTC) #17
Primiano Tucci (use gerrit)
On 2017/03/30 22:12:47, erikchen wrote: > mark: Please review. > > thakis is afk for ...
3 years, 8 months ago (2017-03-30 22:27:18 UTC) #18
erikchen
> This. > I'm thumb gcc and clang don't agree on the stack frame layout. ...
3 years, 8 months ago (2017-03-30 23:10:07 UTC) #20
Mark Mentovai
I’m not really the GN guy you may think I am. https://codereview.chromium.org/2782063005/diff/120001/base/android/jni_android.h File base/android/jni_android.h (right): ...
3 years, 8 months ago (2017-03-30 23:43:30 UTC) #25
DmitrySkiba
I think this CL does too much, see https://bugs.chromium.org/p/chromium/issues/detail?id=706654#c10 I think this CL should only ...
3 years, 8 months ago (2017-03-31 09:58:25 UTC) #31
erikchen
On 2017/03/31 09:58:25, DmitrySkiba wrote: > I think this CL does too much, see > ...
3 years, 8 months ago (2017-04-01 01:52:57 UTC) #32
erikchen
https://codereview.chromium.org/2782063005/diff/120001/base/android/jni_android.h File base/android/jni_android.h (right): https://codereview.chromium.org/2782063005/diff/120001/base/android/jni_android.h#newcode20 base/android/jni_android.h:20: #if CAN_UNWIND_WITH_FRAME_POINTERS On 2017/03/30 23:43:29, Mark Mentovai wrote: > ...
3 years, 8 months ago (2017-04-03 06:33:39 UTC) #34
erikchen
brettw: Please review.
3 years, 8 months ago (2017-04-03 17:46:52 UTC) #40
brettw
lgtm https://codereview.chromium.org/2782063005/diff/180001/base/debug/stack_trace.h File base/debug/stack_trace.h (right): https://codereview.chromium.org/2782063005/diff/180001/base/debug/stack_trace.h#newcode30 base/debug/stack_trace.h:30: #if ENABLED_FRAME_POINTERS && !(defined(__arm__) && defined(__thumb__)) This isn't ...
3 years, 8 months ago (2017-04-03 21:17:43 UTC) #41
erikchen
I spoke with dskiba@ offline. He said that he wants there to be only a ...
3 years, 8 months ago (2017-04-03 21:40:40 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2782063005/260001
3 years, 8 months ago (2017-04-04 18:25:50 UTC) #49
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/240764) ios-device on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 8 months ago (2017-04-04 18:33:46 UTC) #51
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2782063005/280001
3 years, 8 months ago (2017-04-04 18:42:28 UTC) #54
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/240804) android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, ...
3 years, 8 months ago (2017-04-04 18:55:21 UTC) #56
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2782063005/300001
3 years, 8 months ago (2017-04-04 23:12:03 UTC) #59
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/241109)
3 years, 8 months ago (2017-04-05 00:40:55 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2782063005/320001
3 years, 8 months ago (2017-04-05 19:17:01 UTC) #64
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2782063005/300001
3 years, 8 months ago (2017-04-05 23:30:44 UTC) #68
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/399124)
3 years, 8 months ago (2017-04-06 03:50:58 UTC) #70
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2782063005/300001
3 years, 8 months ago (2017-04-06 17:34:01 UTC) #72
commit-bot: I haz the power
3 years, 8 months ago (2017-04-06 21:16:57 UTC) #75
Message was sent while issue was closed.
Committed patchset #16 (id:300001) as
https://chromium.googlesource.com/chromium/src/+/f7c8a0df4253be5271276dc7f3c1...

Powered by Google App Engine
This is Rietveld 408576698