After some major cleanup, all but very few Android targets (i.e.
chrome_shell_apk and chrome_unittests_apk) have stopped depending
on the linker GC section to build succesfully.
This change removes the global --gc-section arg from all Debug targets
in order to prevent future regressions.
BUG=159847
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/249513002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@265678 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Android targets shouldn't rely (at least on Debug) on the linker GC.
This CL refactors gyp files to fix target dependencies
(some of them wrong for components builds due to the .so
split).
The only targets left, at this point, are chrome_shell
and content_browsertests (will take more work).
BUG=159847
Review URL: https://codereview.chromium.org/228003006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@265378 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Instead, apply them as direct_dependent_settings to dependents of the
instrumented_libraries target. This is functionally equivalent, but reduces code
duplication, improves locality and also allows us to disable the use of
instrumented libraries on a target-by-target basis.
BUG=313751
TBR=glider@chromium.org
TEST=MSan
NOTRY=true
Review URL: https://codereview.chromium.org/240413004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@264281 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
linux_use_bundled_binutils adds the binutils to cflags.
linux_use_bundled_gold adds it to the ldflags. The former
does not work when cross compiling to ARM as the other
binutils do not currently support ARM. This was causing the
ARM cross compile (for which we do want use the bundled
gold) to break.
I think the word "bundled" works better than "binary" since
it distinguishes from the system gold (which is also a binary).
BUG=363661
TEST=linux_arm_cross_compile trybot
Review URL: https://codereview.chromium.org/239163003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@264165 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is a copy of https://codereview.chromium.org/201153007 and https://codereview.chromium.org/213113002
updated to the current trunk with more descriptive comments in sanitizer_options.cc and the additional
legacy_pthread_cond=1 option for the Linux Official builds (legacy_pthread_cond is to be deprecated,
thus we don't enable it on the bots).
This CL introduces a module, base/debug/sanitizer_options.cc, which will override
the defaults for various dynamic tools (only ASan at this moment). For every executable
built with a dynamic tool this module will be linked into that executable, providing
weak functions to be called by the tool.
The existing declaration of __asan_default_options() in chrome/app/chrome_exe_main_gtk.cc
has been moved into sanitizer_options.cc (now every binary built with GOOGLE_CHROME_BUILD=1
will have the same options as google-chrome-asan.
The existing declaration of __asan_default_options() in chrome/nacl/nacl_helper_linux.cc
has been kept as is, but we had to remove -Wl,-u_sanitizer_options_link_helper to avoid picking sanitizer_options.cc.
The default options target is deliberately disabled on 32-bit Chromium OS builds,
where one of the host binaries (mksnapshot.ia32) is 32-bit despite host_arch==x86_64.
GYP changes for OSX and iOS will be committed separately.
TBR=thakis@chromium.org,mseaborn@chromium.org
BUG=302040
Review URL: https://codereview.chromium.org/238123003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@263941 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is a copy of https://codereview.chromium.org/201153007 and https://codereview.chromium.org/213113002
updated to the current trunk with more descriptive comments in sanitizer_options.cc and the additional
legacy_pthread_cond=1 option for the Linux builds.
This CL introduces a module, base/debug/sanitizer_options.cc, which will override
the defaults for various dynamic tools (only ASan at this moment). For every executable
built with a dynamic tool this module will be linked into that executable, providing
weak functions to be called by the tool.
The existing declaration of __asan_default_options() in chrome/app/chrome_exe_main_gtk.cc
has been moved into sanitizer_options.cc (now every binary built with GOOGLE_CHROME_BUILD=1
will have the same options as google-chrome-asan.
The existing declaration of __asan_default_options() in chrome/nacl/nacl_helper_linux.cc
has been kept as is, but we had to remove -Wl,-u_sanitizer_options_link_helper to avoid picking sanitizer_options.cc.
The default options target is deliberately disabled on 32-bit Chromium OS builds, where one of the host binaries (mksnapshot.ia32) is 32-bit despite host_arch==x86_64.
GYP changes for OSX and iOS will be committed separately.
BUG=302040,341805
TBR=thakis@chromium.org,mseaborn@chromium.org
Review URL: https://codereview.chromium.org/230263003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@263625 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
As third_party/binutils is 2.24, this also satisfies the binutils version requirements for Debug Fission. Thus, when building with clang on Ubuntu Precise it should now be enabled. This should cause a significant speedup in linking for most chrome developers on Linux.
Requires;
* https://codereview.chromium.org/209853003/ - Adding binutils as a DEPS to allow DebugFission on Ubuntu Precise when compiling with clang.
BUG=352046
Review URL: https://codereview.chromium.org/196573022
git-svn-id: http://src.chromium.org/svn/trunk/src/build@262794 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Suspected of causing:
http://build.chromium.org/p/chromium.linux/builders/Linux%20Builder%20(dbg)/builds/71338/steps/compile/logs/stdio
[13474/21627] CXX obj/cc/animation/cc_unittests.scrollbar_animation_controller_linear_fade_unittest.o
FAILED: cd ../../remoting; python ../tools/gypv8sh.py ../out/Debug/d8 ../chrome/third_party/mock4js/mock4js.js ../third_party/accessibility-audit/axs_testing.js ../chrome/test/data/webui/test_api.js ../chrome/test/base/js2gtest.js unit "webapp/all_js_load.gtestjs" "chrome/webapp/all_js_load.gtestjs" "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/all_js_load-gen.cc" "../out/Debug/test_data/chrome/webapp/all_js_load.gtestjs"
../out/Debug/d8: error while loading shared libraries: libicui18n.so: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "../tools/gypv8sh.py", line 55, in <module>
sys.exit(main())
File "../tools/gypv8sh.py", line 44, in main
subprocess.check_call(cmd, stdin=subprocess.PIPE, stdout=f)
File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../out/Debug/d8', '-e', 'arguments=["../chrome/test/base/js2gtest.js", "webapp/all_js_load.gtestjs", "chrome/webapp/all_js_load.gtestjs", "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/all_js_load-gen.cc", "unit"]', '../chrome/third_party/mock4js/mock4js.js', '../third_party/accessibility-audit/axs_testing.js', '../chrome/test/data/webui/test_api.js', '../chrome/test/base/js2gtest.js']' returned non-zero exit status 127
FAILED: cd ../../remoting; python ../tools/gypv8sh.py ../out/Debug/d8 ../chrome/third_party/mock4js/mock4js.js ../third_party/accessibility-audit/axs_testing.js ../chrome/test/data/webui/test_api.js ../chrome/test/base/js2gtest.js unit "webapp/browser_globals.gtestjs" "chrome/webapp/browser_globals.gtestjs" "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/browser_globals-gen.cc" "../out/Debug/test_data/chrome/webapp/browser_globals.gtestjs"
../out/Debug/d8: error while loading shared libraries: libicui18n.so: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "../tools/gypv8sh.py", line 55, in <module>
sys.exit(main())
File "../tools/gypv8sh.py", line 44, in main
subprocess.check_call(cmd, stdin=subprocess.PIPE, stdout=f)
File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../out/Debug/d8', '-e', 'arguments=["../chrome/test/base/js2gtest.js", "webapp/browser_globals.gtestjs", "chrome/webapp/browser_globals.gtestjs", "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/browser_globals-gen.cc", "unit"]', '../chrome/third_party/mock4js/mock4js.js', '../third_party/accessibility-audit/axs_testing.js', '../chrome/test/data/webui/test_api.js', '../chrome/test/base/js2gtest.js']' returned non-zero exit status 127
FAILED: cd ../../remoting; python ../tools/gypv8sh.py ../out/Debug/d8 ../chrome/third_party/mock4js/mock4js.js ../third_party/accessibility-audit/axs_testing.js ../chrome/test/data/webui/test_api.js ../chrome/test/base/js2gtest.js unit "webapp/format_iq.gtestjs" "chrome/webapp/format_iq.gtestjs" "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/format_iq-gen.cc" "../out/Debug/test_data/chrome/webapp/format_iq.gtestjs"
../out/Debug/d8: error while loading shared libraries: libicui18n.so: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "../tools/gypv8sh.py", line 55, in <module>
sys.exit(main())
File "../tools/gypv8sh.py", line 44, in main
subprocess.check_call(cmd, stdin=subprocess.PIPE, stdout=f)
File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../out/Debug/d8', '-e', 'arguments=["../chrome/test/base/js2gtest.js", "webapp/format_iq.gtestjs", "chrome/webapp/format_iq.gtestjs", "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/format_iq-gen.cc", "unit"]', '../chrome/third_party/mock4js/mock4js.js', '../third_party/accessibility-audit/axs_testing.js', '../chrome/test/data/webui/test_api.js', '../chrome/test/base/js2gtest.js']' returned non-zero exit status 127
ninja: build stopped: subcommand failed.
> When "linux_use_gold_binary" is set, we now use gold from third_party/binutils rather than third_party/gold (allowing us to remove third_party/gold dependency).
>
> As third_party/binutils is 2.24, this also satisfies the binutils version requirements for Debug Fission. Thus, when building with clang on Ubuntu Precise it should now be enabled. This should cause a significant speedup in linking for most chrome developers on Linux.
>
> Requires;
> * https://codereview.chromium.org/209853003/ - Adding binutils as a DEPS to allow DebugFission on Ubuntu Precise when compiling with clang.
>
> BUG=352046
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=261778
>
> Review URL: https://codereview.chromium.org/196573022TBR=mithro@mithis.com
Review URL: https://codereview.chromium.org/225093013
git-svn-id: http://src.chromium.org/svn/trunk/src/build@262036 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
We don't have 32bit clang binaries, but several 32bit builders.
(And since clang now needs a c++11 compiler newer than gcc4.6 to
compile, we can't tell these bots to just build clang themselves
either.)
BUG=360311
Review URL: https://codereview.chromium.org/227133002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@262030 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Broke ASAN builders: e.g. http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%2BLSan%20Builder/builds/2502/steps/runhooks/logs/stdio
________ running '/usr/bin/python src/build/gyp_chromium' in '/b/build/slave/Linux_ASan_LSan_Builder/build'
Error: Command /usr/bin/python src/build/gyp_chromium returned non-zero exit status 1 in /b/build/slave/Linux_ASan_LSan_Builder/build
Updating projects from gyp files...
/bin/sh: 1: clang++: not found
compiler_version.py failed to execute: clang++ -Xassembler --version -x assembler -c /dev/null
Command 'clang++ -Xassembler --version -x assembler -c /dev/null' returned non-zero exit status 127
gyp: Call to 'python ../build/compiler_version.py assembler' returned exit status 1.
program finished with exit code 2
elapsedTime=6.794917
> When "linux_use_gold_binary" is set, we now use gold from third_party/binutils rather than third_party/gold (allowing us to remove third_party/gold dependency).
>
> As third_party/binutils is 2.24, this also satisfies the binutils version requirements for Debug Fission. Thus, when building with clang on Ubuntu Precise it should now be enabled. This should cause a significant speedup in linking for most chrome developers on Linux.
>
> Requires;
> * https://codereview.chromium.org/209853003/ - Adding binutils as a DEPS to allow DebugFission on Ubuntu Precise when compiling with clang.
>
> BUG=352046
>
> Review URL: https://codereview.chromium.org/196573022TBR=mithro@mithis.com
Review URL: https://codereview.chromium.org/224933007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@261782 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
As third_party/binutils is 2.24, this also satisfies the binutils version requirements for Debug Fission. Thus, when building with clang on Ubuntu Precise it should now be enabled. This should cause a significant speedup in linking for most chrome developers on Linux.
Requires;
* https://codereview.chromium.org/209853003/ - Adding binutils as a DEPS to allow DebugFission on Ubuntu Precise when compiling with clang.
BUG=352046
Review URL: https://codereview.chromium.org/196573022
git-svn-id: http://src.chromium.org/svn/trunk/src/build@261778 4ff67af0-8c30-449e-8e8b-ad334ec8d88c