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

Issue 621705 link

Starred by 2 users

Issue metadata

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

Blocking:
issue 433082
issue 621681



Sign in to add a comment

GN possibly missing passing some flags to the nacl toolchain

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

Issue description

I am not sure if this is an issue. For now it is more a question...

While doing some testing I found that for GYP we are passing -mfloat-abi=hard into one of the invocations of build_nexe.py... Like this:

[2960/17285] cd ../../../../../../../home/llozano/chrome_root/src/base; python ../native_client/build/build_nexe.py --root .. --product-dir ../c/Release/xyz --config-name Release -t ../native_client/toolchain/ --arch arm-nonsfi --build newlib_nlib_pnacl --name ../c/Release/gen/tc_nonsfi_helper/libarm/libbase_nacl_nonsfi.a --objdir ../c/Release/obj/base/base_nacl_nonsfi.gen/nonsfi_helper-arm-nonsfi/base_nacl_nonsfi "--include-dirs=../c/Release/gen/tc_newlib/include ../native_client/src/public/linux_syscalls .. \"../c/Release/gen\" .." "--compile_flags=--target=armv7-unknown-nacl-gnueabihf --pnacl-bias=arm-nonsfi --pnacl-allow-translate --pnacl-allow-native -arch arm-nonsfi -mfloat-abi=hard -O2 -g -Wall -fdiagnostics-show-option -Werror  -Wno-unused-function -Wno-char-subscripts -Wno-c++11-extensions -Wno-unnamed-type-template-args -Wno-extra-semi -Wno-unused-private-field -Wno-char-subscripts -Wno-unused-function \"-std=gnu++11\" " --gomadir "" "--defines=\"__STDC_LIMIT_MACROS=1\" \"__STDC_FORMAT_MACROS=1\" \"_GNU_SOURCE=1\" \"_POSIX_C_SOURCE=199506\" \"_XOPEN_SOURCE=600\" \"DYNAMIC_ANNOTATIONS_ENABLED=1\" \"DYNAMIC_ANNOTATIONS_PREFIX=NACL_\" \"NACL_BUILD_ARCH=arm\" V8_DEPRECATION_WARNINGS \"_FILE_OFFSET_BITS=64\" CHROMIUM_BUILD UI_COMPOSITOR_IMAGE_TRANSPORT \"USE_AURA=1\" \"USE_ASH=1\" \"USE_PANGO=1\" \"USE_CAIRO=1\" \"USE_CRAS=1\" \"USE_OZONE=1\" \"USE_DEFAULT_RENDER_THEME=1\" \"USE_LIBJPEG_TURBO=1\" \"IMAGE_LOADER_EXTENSION=1\" \"ENABLE_WEBRTC=1\" \"ENABLE_MEDIA_ROUTER=1\" USE_PROPRIETARY_CODECS ENABLE_PEPPER_CDMS ENABLE_NOTIFICATIONS \"ENABLE_WAYLAND_SERVER=1\" USE_UDEV FIELDTRIAL_TESTING_ENABLED \"ENABLE_TASK_MANAGER=1\" \"ENABLE_EXTENSIONS=1\" \"ENABLE_PDF=1\" \"ENABLE_PLUGINS=1\" \"ENABLE_SESSION_SERVICE=1\" \"ENABLE_THEMES=1\" \"ENABLE_PRINTING=1\" \"ENABLE_PRINT_PREVIEW=1\" \"ENABLE_SPELLCHECK=1\" \"ENABLE_CAPTIVE_PORTAL_DETECTION=1\" \"ENABLE_APP_LIST=1\" \"ENABLE_SUPERVISED_USERS=1\" \"ENABLE_MDNS=1\" \"ENABLE_SERVICE_DISCOVERY=1\" V8_USE_EXTERNAL_STARTUP_DATA FULL_SAFE_BROWSING SAFE_BROWSING_CSD SAFE_BROWSING_DB_LOCAL __ARMEL__ __arm__ NVALGRIND \"USE_LIBPCI=1\" \"USE_OPENSSL_CERTS=1\" __STDC_CONSTANT_MACROS __STDC_FORMAT_MACROS BASE_IMPLEMENTATION SYSTEM_NATIVE_UTF8" "--link_flags=-B../c/Release/gen/tc_nonsfi_helper/libarm  " "--source-list=../../../../../var/cache/chromeos-chrome/chrome-src/src/out_daisy/gypfiles/base/nonsfi_helper-arm-nonsfi.base_nacl_nonsfi.source_list.gypcmd"
x86_64-pc-linux-gnu-gcc

On the GN side, there is no build_nexe, but I don't see any passing of this option to any of the nacl compilations. 

grep nacl-clang /tmp/gn_afdo.out | grep  float-abi
<returns nothing>

Is this an issue?


 
Cc: mseaborn@chromium.org bradnelson@chromium.org dschuff@chromium.org mcgrathr@chromium.org
bradnelson / mseaborn / dschuff - do we still care about the nonsfi build of NaCl? For CrOS specifically?
Blocking: 621681
Components: Build
Labels: M-53
Blocking: 433082
Labels: -Build-Tools-GN
Cc: elijahtaylor@chromium.org hidehiko@chromium.org
I can't remember if "-mfloat-abi=hard" is really necessary or if it's implied by another option like "-arch arm-nonsfi".  I think it might be necessary.

@hidehiko and elijahtaylor: Are you still testing ARC against current builds of Chrome?
Cc: phosek@chromium.org
Labels: -Pri-2 Pri-1
Owner: elijahtaylor@chromium.org
Status: Assigned (was: Untriaged)
Bouncing to elijah to answer the question if possible ... it looks like nonsfi_helper (and possibly some other nonsfi stuff) has not been ported to GN, so this could be a problem given that we want to ship a GN-built CrOS version of Chrome in M-53 (which branches on 6/30).
we do test against latest Chrome, but our checkin frequency is low and our LKGR builders are only triggered when we check things in.  If GN builds are the new default, we may not have noticed any breakage even if it exists, I'm kicking off a rebuild now.

We do still need nonsfi_helper for CrOS
Looks like the code actually has been ported, it was just in a totally different location than where I was looking.

At any rate, I've posted what I think is the fix to https://codereview.chromium.org/2088103002/.

It would still be good to find out if we need to support ARC and nonsfi or not, and/or when we can remove it from the build if that's the right thing to do.
@elijahtaylor - any idea how long we will need to support the nonsfi code?
Project Member

Comment 10 by bugdroid1@chromium.org, Jun 22 2016

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

commit f28a9d144d6f6655b1775adef9e1239ae05c682b
Author: dpranke <dpranke@chromium.org>
Date: Wed Jun 22 03:11:45 2016

Set -mfloat-abi=hard in pnacl newlib nonsfi toolchain.

R=mcgrathr@chromium.org, mseaborn@chromium.org
BUG= 621705 

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

[modify] https://crrev.com/f28a9d144d6f6655b1775adef9e1239ae05c682b/build/config/compiler/BUILD.gn

Owner: dpranke@chromium.org
Status: Fixed (was: Assigned)
Status: Verified (was: Fixed)
bulk verified

Sign in to add a comment