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

Issue 621686 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

GN has one remaining use of wrong cros compiler

Project Member Reported by llozano@chromium.org, Jun 20 2016

Issue description

While doing some testing with GN I found that GN is still using the wrong cros compiler in one instance:

This happens when doing the chrome build within the chroot (using ebuild).

[28683/28738] ../../../../../../../home/llozano/chrome_root/src/third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF nacl_bootstrap_arm/obj/native_client/src/trusted/service_runtime/linux/nacl_bootstrap_lib/nacl_bootstrap.o.d -DOS_CHROMEOS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_POSIX_C_SOURCE=199506 -D_XOPEN_SOURCE=600 -D_GNU_SOURCE=1 -D__STDC_LIMIT_MACROS=1 -I../../../../../../../home/llozano/chrome_root/src -fno-builtin -fno-stack-protector -fno-pic -fno-PIC -fno-pie -fno-PIE --target=arm-linux-gnueabihf -march=armv7-a -mfloat-abi=hard -mthumb -mtune=generic-armv7-a --sysroot=../../../../../../../build/daisy -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -O2 -fno-ident -fdata-sections -ffunction-sections -g2  -c ../../../../../../../home/llozano/chrome_root/src/native_client/src/trusted/service_runtime/linux/nacl_bootstrap.c -o nacl_bootstrap_arm/obj/native_client/src/trusted/service_runtime/linux/nacl_bootstrap_lib/nacl_bootstrap.o


As you can see, it is using the clang that comes from Chrome. On ChromeOS, we have not migrated to clang yet so it should be using the cross gcc compiler instead.

These are the GN args:

gen /home/llozano/chrome_root/src/c/Release --args=is_debug=false  use_v4l2_codec=true use_v4lplugin=false use_ozone=true use_evdev_gestures=true use_xkbcommon=true linux_use_bundled_binutils=false use_debug_fission=false enable_remoting=true enable_nacl=true icu_use_data_file=true use_cras=true use_system_harfbuzz=true is_asan=false is_clang=false cros_host_is_clang=false clang_use_chrome_plugins=false ozone_auto_platforms=false ozone_platform_gbm=true use_system_minigbm=true arm_use_neon=true use_debug_fission=true symbol_level=2 target_sysroot="/build/daisy" system_libdir="lib" pkg_config="/build/daisy/build/bin/pkg-config" target_os="chromeos" ozone_platform="gbm" target_cpu="arm" arm_float_abi="hard" cros_target_ar="armv7a-cros-linux-gnueabi-ar" cros_target_cc="armv7a-cros-linux-gnueabi-gcc -B/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold" cros_target_cxx="armv7a-cros-linux-gnueabi-g++ -B/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold" host_toolchain="//build/toolchain/cros:host" v8_snapshot_toolchain="//build/toolchain/cros:v8_snapshot" cros_target_ld="armv7a-cros-linux-gnueabi-g++ -B/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold" cros_target_extra_cflags="-pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -fauto-profile=/build/daisy/tmp/portage/chromeos-base/chromeos-chrome-53.0.2768.0_rc-r1/work/afdo/chromeos-chrome-amd64-53.0.2768.0_rc-r1.afdo -Wno-error" cros_target_extra_cppflags="" cros_target_extra_cxxflags="-pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -D__google_stl_debug_vector=1 -fauto-profile=/build/daisy/tmp/portage/chromeos-base/chromeos-chrome-53.0.2768.0_rc-r1/work/afdo/chromeos-chrome-amd64-53.0.2768.0_rc-r1.afdo -Wno-error" cros_target_extra_ldflags="-Wl,-O1 -Wl,-O2 -Wl,--as-needed" cros_host_cc="x86_64-pc-linux-gnu-gcc" cros_host_cxx="x86_64-pc-linux-gnu-g++" cros_host_ar="x86_64-pc-linux-gnu-ar" cros_host_ld="x86_64-pc-linux-gnu-g++" cros_host_extra_cflags="" cros_host_extra_cxxflags="" cros_host_extra_cppflags="" cros_host_extra_ldflags="" cros_v8_snapshot_cc="x86_64-pc-linux-gnu-gcc" cros_v8_snapshot_cxx="x86_64-pc-linux-gnu-g++" cros_v8_snapshot_ar="x86_64-pc-linux-gnu-ar" cros_v8_snapshot_ld="x86_64-pc-linux-gnu-g++" cros_v8_snapshot_extra_cflags="" cros_v8_snapshot_extra_cxxflags="" cros_v8_snapshot_extra_cppflags="" cros_v8_snapshot_extra_ldflags="" --root=/home/llozano/chrome_root/src


 
Blocking: 621681
Cc: bradnelson@chromium.org mcgrathr@chromium.org
Components: Build
Labels: -Build-Tools-GN M-53
Status: Available (was: Untriaged)
uggh ... I really don't want to have to define more cros_ variables for this, and there are actually three different toolchains that need to be handled. Maybe we can rework these to piggyback off the cros_* toolchains ...
Owner: dpranke@chromium.org
Status: Assigned (was: Available)
Blocking: 433082
Status: Started (was: Assigned)
Okay, this doesn't look too bad. I think the code is trying to do the right thing and is almost but not quite right. 

Working on it now ...
Patches posted to:

https://codereview.chromium.org/2083063003/ (chrome-side, needs to land first and roll into nacl)

then

https://codereview.chromium.org/2085683004/ (nacl-side, needs to then roll back into chrome :).



Labels: -Pri-2 Pri-1
Project Member

Comment 7 by bugdroid1@chromium.org, Jun 23 2016

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

commit 44febce5c4911c03a7975273235fce6e9cacd16d
Author: dpranke <dpranke@chromium.org>
Date: Thu Jun 23 03:36:06 2016

Move the cros_* GN args to a .gni file and add a bootstrap cros toolchain.

This moves the cros_* GN args from //build/toolchain/cros/BUILD.gn
to //build/toolchain/cros_toolchain.gni so that files in other
places (specifically in native_client/src/trusted/service_runtime/linux)
can have access to them, and adds the nacl_bootstrap toolchain to
//build/toolchain/cros so that it is kept consistent with the target
toolchains.

R=mcgrathr@chromium.org, llozano@chromium.org, bradnelson@chromium.org
BUG= 621686 

Review-Url: https://codereview.chromium.org/2083063003
Cr-Commit-Position: refs/heads/master@{#401532}

[modify] https://crrev.com/44febce5c4911c03a7975273235fce6e9cacd16d/build/config/compiler/BUILD.gn
[modify] https://crrev.com/44febce5c4911c03a7975273235fce6e9cacd16d/build/config/compiler/compiler.gni
[modify] https://crrev.com/44febce5c4911c03a7975273235fce6e9cacd16d/build/toolchain/cros/BUILD.gn
[add] https://crrev.com/44febce5c4911c03a7975273235fce6e9cacd16d/build/toolchain/cros_toolchain.gni

Labels: -M-53
not needed for M-53 ...
Blocking: -621681
Labels: -Proj-GN-Migration Proj-GN-Migration-Ship
I'm going to try tracking ship-blocking things via the label "Proj-GN-Migration-Ship" (instead of Proj-GN-Migration) as suggested w/ a conversation w/ laforge@ and the monorail folks a while ago.

Querying for "Proj=GN-Migration%" should still return bugs for both labels, and this will allow us to filter out rollup things more easily, so that we can use blocking just for things that are truly blocking other bugs.
Blocking: -433082
Project Member

Comment 11 by bugdroid1@chromium.org, Jul 2 2016

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

commit 8bc8b98348b81bf624281b60aa4f181f65bb923f
Author: nacl-deps-roller <nacl-deps-roller@chromium.org>
Date: Sat Jul 02 02:41:38 2016

Roll src/native_client/ 41bda598a..4c2f8b31d (1 commit).

https://chromium.googlesource.com/native_client/src/native_client.git/+log/41bda598ad1e..4c2f8b31d6d3

$ git log 41bda598a..4c2f8b31d --date=short --no-merges --format='%ad %ae %s'
2016-07-01 dpranke Update //build, //buildtools, clang from chromium.

BUG= 621686 

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_dbg_32_ng,linux_nacl_sdk_build
TBR=mseaborn@chromium.org

Review-Url: https://codereview.chromium.org/2113253003
Cr-Commit-Position: refs/heads/master@{#403596}

[modify] https://crrev.com/8bc8b98348b81bf624281b60aa4f181f65bb923f/DEPS

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 2 2016

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

commit 0a55327e591c5ea7bd910c61301240bfb86026c6
Author: nacl-deps-roller <nacl-deps-roller@chromium.org>
Date: Sat Jul 02 04:40:49 2016

Roll src/native_client/ 4c2f8b31d..0949e1bef (1 commit).

https://chromium.googlesource.com/native_client/src/native_client.git/+log/4c2f8b31d6d3..0949e1bef9d6

$ git log 4c2f8b31d..0949e1bef --date=short --no-merges --format='%ad %ae %s'
2016-07-01 dpranke Update the nacl_bootstrap GN code to work in ChromeOS chroot builds.

BUG= 621686 

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_dbg_32_ng,linux_nacl_sdk_build
TBR=mseaborn@chromium.org

Review-Url: https://codereview.chromium.org/2121503003
Cr-Commit-Position: refs/heads/master@{#403606}

[modify] https://crrev.com/0a55327e591c5ea7bd910c61301240bfb86026c6/DEPS

I think this should be fixed now.
Status: Fixed (was: Started)
Project Member

Comment 15 by bugdroid1@chromium.org, Jul 28 2016

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

commit 3b969667e59d236469dee044d728af5dbdd1d1e8
Author: nacl-deps-roller <nacl-deps-roller@chromium.org>
Date: Thu Jul 28 21:33:07 2016

Roll src/native_client/ 412a6e2bb..a07450d16 (1 commit).

https://chromium.googlesource.com/native_client/src/native_client.git/+log/412a6e2bb153..a07450d163bf

$ git log 412a6e2bb..a07450d16 --date=short --no-merges --format='%ad %ae %s'
2016-07-28 dpranke Revert of Update the nacl_bootstrap GN code to work in ChromeOS chroot builds. (patchset #2 id:20001 of https://codereview.chromium.org/2085683004/ )

BUG= 621686 

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_dbg_32_ng,linux_nacl_sdk_build
TBR=mseaborn@chromium.org

Review-Url: https://codereview.chromium.org/2191003002
Cr-Commit-Position: refs/heads/master@{#408486}

[modify] https://crrev.com/3b969667e59d236469dee044d728af5dbdd1d1e8/DEPS

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 29 2016

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

commit 44c162b235a90552b4076e73baa3ff224ef7120d
Author: nacl-deps-roller <nacl-deps-roller@chromium.org>
Date: Thu Jul 28 23:57:51 2016

Roll src/native_client/ a07450d16..5e296cb47 (1 commit).

https://chromium.googlesource.com/native_client/src/native_client.git/+log/a07450d163bf..5e296cb4749c

$ git log a07450d16..5e296cb47 --date=short --no-merges --format='%ad %ae %s'
2016-07-28 dpranke Reland of Update the nacl_bootstrap GN code to work in ChromeOS chroot builds. (patchset #1 id:1 of https://codereview.chromium.org/2188303002/ )

BUG= 621686 

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_dbg_32_ng,linux_nacl_sdk_build
TBR=mseaborn@chromium.org

Review-Url: https://codereview.chromium.org/2192863003
Cr-Commit-Position: refs/heads/master@{#408516}

[modify] https://crrev.com/44c162b235a90552b4076e73baa3ff224ef7120d/DEPS

Labels: VerifyIn-54
Labels: VerifyIn-55

Comment 19 by dchan@chromium.org, Oct 10 2016

Labels: -VerifyIn-55

Comment 20 by dchan@google.com, Nov 19 2016

Labels: VerifyIn-56

Comment 21 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57

Comment 22 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 23 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 24 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61
Status: Verified (was: Fixed)
Closing. Please reopen it if its not fixed. Thanks!

Sign in to add a comment