GN possibly missing passing some flags to the nacl toolchain |
|||||||||
Issue descriptionI 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?
,
Jun 20 2016
,
Jun 21 2016
,
Jun 21 2016
,
Jun 21 2016
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?
,
Jun 21 2016
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).
,
Jun 22 2016
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
,
Jun 22 2016
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.
,
Jun 22 2016
@elijahtaylor - any idea how long we will need to support the nonsfi code?
,
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
,
Jun 22 2016
,
Jun 23 2016
,
Jul 1 2016
bulk verified |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by dpranke@chromium.org
, Jun 20 2016