New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 766322 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocking:
issue libyuv:721



Sign in to add a comment

aarch64-linux-android-gcc: error: unrecognized command line option '-fdebug-info-for-profiling'

Project Member Reported by fbarchard@chromium.org, Sep 18 2017

Issue description

Chrome Version: head
OS: Googuntu Trusty

What steps will reproduce the problem?
(1) gn gen out/Release "--args=is_debug=false is_clang=false target_os=\"android\" target_cpu=\"arm64\" libyuv_include_tests=true libyuv_use_gflags=false"
(2) ninja -v -C out/Release libyuv

What is the expected result?

build success

What happens instead?

aarch64-linux-android-gcc: error: unrecognized command line option '-fdebug-info-for-profiling'


See Also
https://bugs.chromium.org/p/libyuv/issues/detail?id=721

Some build systems are doing clang specific options can be specified like this:
-Xclang-only=-fdebug-info-for-profiling

But the option is within an if android, so I'd suggest this change:

diff --git a/config/compiler/BUILD.gn b/config/compiler/BUILD.gn
index 46808c3d..0ebe83f1 100644
--- a/config/compiler/BUILD.gn
+++ b/config/compiler/BUILD.gn
@@ -1839,7 +1839,7 @@ config("minimal_symbols") {
     }
     cflags += [ "-g1" ]
     ldflags = []
-    if (is_android) {
+    if (is_android && is_clang) {
       # Android defaults to symbol_level=1 builds in production builds
       # (https://crbug.com/648948), but clang, unlike gcc, doesn't emit
       # DW_AT_linkage_name in -g1 builds. -fdebug-info-for-profiling enables
 

Comment 1 by thakis@chromium.org, Sep 18 2017

We don't support building android with gcc. Happy to lg that patch if you upload it to somewhere, but you'll keep running into things like this, and some of them won't be easy to fix (gcc in the android ndk is deprecated and is no longer being updated, and eventually we'll use c++ features that that old gcc doesn't support). So I'd recommend switching your android workflow to using chromium's clang instead.
https://chromium-review.googlesource.com/c/chromium/src/+/671208

This is for short term conparisons.  When clang produces bad code, I'd like to test what gcc does.
And other build environments are still gcc based, so until everyone switches, its good to be able to build/reproduce any issues within chromium environment.
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/86f3e9d2fd14fe28202918619cccb79f9df369de

commit 86f3e9d2fd14fe28202918619cccb79f9df369de
Author: Frank Barchard <fbarchard@google.com>
Date: Tue Sep 19 00:14:39 2017

Android only -fdebug-info-for-profiling option for clang.

ninja -v -C out/Release libyuv

Bug:  766322 ,  libyuv:723 
Test: gn gen out/Release "--args=is_debug=false is_clang=false target_os=\"android\" target_cpu=\"arm64\" libyuv_include_tests=true libyuv_use_gflags=false"
Change-Id: Ib1fa9c4eaa3d7db2e089112f38dcf755a97d5ca4
Reviewed-on: https://chromium-review.googlesource.com/671208
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502727}
[modify] https://crrev.com/86f3e9d2fd14fe28202918619cccb79f9df369de/build/config/compiler/BUILD.gn

Blocking: libyuv:721
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/libyuv/libyuv.git/+/3886069dc96cfb3ebd39c11befebb196382eed61

commit 3886069dc96cfb3ebd39c11befebb196382eed61
Author: Frank Barchard <fbarchard@google.com>
Date: Tue Sep 19 01:05:03 2017

Roll chromium_revision 3a3410e0eb..9e319197e5 (502042:502732)

Change log: https://chromium.googlesource.com/chromium/src/+log/3a3410e0eb..9e319197e5
Full diff: https://chromium.googlesource.com/chromium/src/+/3a3410e0eb..9e319197e5

Changed dependencies:
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/b120cdc8d8..6afcd86a32
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/800cde0e9e..f3edcd4990
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/a4c7e58966..86201d6b56
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/8ca56a609f..d7f8718a82
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/5d202b9b7d..c1de82c542
* src/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/+log/1a2a373481..441164c72d
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/9069575d37..7653ce02e1
DEPS diff: https://chromium.googlesource.com/chromium/src/+/3a3410e0eb..9e319197e5/DEPS

Clang version changed 312679:313222
Details: https://chromium.googlesource.com/chromium/src/+/3a3410e0eb..9e319197e5/tools/clang/scripts/update.py

TBR=kjellander@chromium.org
BUG= libyuv:721 ,  chromium:766322 

Change-Id: I38430171fa76ade415fafe20edb2055181e12818
Reviewed-on: https://chromium-review.googlesource.com/672043
Commit-Queue: Frank Barchard <fbarchard@google.com>
Reviewed-by: Frank Barchard <fbarchard@google.com>

[modify] https://crrev.com/3886069dc96cfb3ebd39c11befebb196382eed61/DEPS

Status: Fixed (was: Untriaged)

Sign in to add a comment