summaryrefslogtreecommitdiffstats
path: root/build/common.gypi
Commit message (Collapse)AuthorAgeFilesLines
* Disable debug information when use_order_profiling=trueagrieve2016-01-151-9/+17
| | | | | | | | | | | We recently hit a limit when using use_order_profiling=true and symbol_level=2 where libchrome.so > 4gb and become corrupt. BUG=574476 Review URL: https://codereview.chromium.org/1588673003 Cr-Commit-Position: refs/heads/master@{#369777}
* Add WiFi Display session class skeleton and mojo servicemikhail.pozdnyakov2016-01-141-0/+9
| | | | | | | | | | | | | | | | | | | This patch introduces a WiFi Display session class skeleton and mojo service which provides network access for the render-hosted session. The introduced code is compiled only if a newly added 'enable_wifi_display' build option is set. Besides, some minor changes were applied to the DisplaySourceConnectionDelegate interface in order to better define its methods behavior. BUG=242107 Review URL: https://codereview.chromium.org/1540563002 Cr-Commit-Position: refs/heads/master@{#369415}
* [Chromecast] Don't export symbols from libffmpeg.awzhong2016-01-121-0/+4
| | | | | | | | | | | | | | | | | | Use "--exclude-libs" flag to prevent libffmpeg.a from exporting symbols implemented by assembly. Assembly functions marked with ".global" directive are automatically with global visibility and exported in executable and DSO. This is unnecessary and causes incorrect symbol resolution at run-time as Chromecast executable is built with "-Wl,--export-dynamic". BUG= internal b/26390825 TEST= 1) Use "nm" and make sure ff_* are not exported. 2) Test TuneIn playback. Review URL: https://codereview.chromium.org/1561833007 Cr-Commit-Position: refs/heads/master@{#368737}
* Remove gcc_version from gyp and gn files.thakis2016-01-111-44/+8
| | | | | | | | | | | | | | We used this to check if gcc is newer than 4.8 which is now required. Remove the plumbing for this until we need to check gcc compiler versions again, if ever. No behavior change. BUG=573778 Review URL: https://codereview.chromium.org/1577093002 Cr-Commit-Position: refs/heads/master@{#368706}
* Convert enable_bidirectional_stream into build flag local to net.mef2016-01-111-4/+0
| | | | | | | | BUG=571696 Review URL: https://codereview.chromium.org/1550843002 Cr-Commit-Position: refs/heads/master@{#368589}
* Enable warning on reserved user-defined literals everywhere but CrOS.thakis2016-01-081-6/+24
| | | | | | | | | | | | | | | | | | This was disabled because a dbus header was missing a few spaces. The version of the dbus header in the sysroot has them though, and we use the sysroot everywhere except in Chrome OS-on-Linux builds these days. The spaces were added here, almost 3 years ago by now: http://cgit.freedesktop.org/dbus/dbus/commit/?h=dbus-1.4&id=51b88b4c7919487290c0862b013cd8e7cd2de34b No behavior change. BUG=263960, 573778 Review URL: https://codereview.chromium.org/1570193002 Cr-Commit-Position: refs/heads/master@{#368408}
* ios: Use 10.10 SDK for host binaries.thakis2016-01-081-3/+1
| | | | | | | | | | | | | | | | The iOS build raised mac_sdk_min to 10.8 back when mac was using the 10.6 SDK. Now that mac is on the 10.10 SDK, it's no longer necessary to use a different SDK for host binaries on iOS. Hopefully all iOS bots have the 10.10 SDK installed. If any iOS bots fail to build with this, please revert and let me know which bots it failed on. BUG=none Review URL: https://codereview.chromium.org/1573493002 Cr-Commit-Position: refs/heads/master@{#368370}
* Switched Kasko to use the new buildflag system.pmonette2016-01-081-8/+4
| | | | | | | | | | Moved gyp build to third_party/kasko Also fixed some build issues that came with rebasing to tip of tree. Review URL: https://codereview.chromium.org/1526213002 Cr-Commit-Position: refs/heads/master@{#368212}
* mac: Stop warning about missing newlines at eof.Nico Weber2016-01-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Files without a newline on the last line used to have undefined behavior in C++03 (and still have undefined behavior in C). C++11 changed this, see the last sentence in [lex.phases]p1.2 (it used to say "If a source file [...] does not end in a new-line character [...], the behavior is undefined" in 03, now it says "A source file [...] that does not end in a new-line character [...], shall be processed as if an additional new-line character were appended to the file"). We used to tell clang to warn on this on Mac only. We should generally use matching warning flags on all platforms, so the choice is to turn this on everywhere, or turn it off on Mac. Turning it on everywhere is somewhat involved, see https://codereview.chromium.org/1566003002/ for a partial attempt. Many of the violations are in third-party code. Since the warning doesn't have any real benefit in practice (other than your terminal looking nicer if you `cat` such a file), and since it doesn't have a benefit in theory for C++11 translation units, turning off the warning on Mac seems like the way to go. BUG=573778 R=brettw@chromium.org Review URL: https://codereview.chromium.org/1569943002 . Cr-Commit-Position: refs/heads/master@{#368179}
* mac,ios: Simplify common.gypi a bit.thakis2016-01-071-20/+13
| | | | | | | | | | No intended behavior change. BUG=none Review URL: https://codereview.chromium.org/1568013002 Cr-Commit-Position: refs/heads/master@{#368154}
* Reland Don't set -fvisibility=hidden for iOS Debug in GYP.baxley2016-01-071-1/+23
| | | | | | | | | | | | Remove -fvisibility=hidden for Debug configuration on iOS at the top level (common.gypi), so we don't remove symbols from dependencies. BUG=569073 Review URL: https://codereview.chromium.org/1538973002 Cr-Commit-Position: refs/heads/master@{#368133}
* Convert enable_mpeg2ts_parser GYP flag into a new-style buildflagservolk2016-01-071-9/+0
| | | | | | | | | | | According to recommendation given at https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/5c4ySpPsV14 BUG=none Review URL: https://codereview.chromium.org/1539983004 Cr-Commit-Position: refs/heads/master@{#368001}
* clang: Stop disabling -Wbitfield-widththakis2016-01-061-3/+0
| | | | | | | | | | | | | The warning was made less aggressive in clang a while ago and now never fires in practice unless it's useful. We can stop disabling it. No behavior change. BUG=none Review URL: https://codereview.chromium.org/1562123002 Cr-Commit-Position: refs/heads/master@{#367933}
* Put more files under the enable_service_discovery build flag.thestig2016-01-061-1/+1
| | | | | | | | TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/1554563002 Cr-Commit-Position: refs/heads/master@{#367872}
* clang: Enable -Wfor-loop-analysis.thakis2016-01-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every time I try this warning, it finds a few true positives and has no false negatives. It looks like an excellent warning. I did three builds of target "gfx" in both Release and Debug with and without this warning enabled, doing local (non-goma) component builds (running -t clean between each build). This builds about 1.6k build steps each time. Warning on: Release: 0m26.850s 0m27.227s 0m27.159s Debug: 0m24.811s 0m25.044s 0m25.498s Warning off: Release: 0m26.834s 0m27.242s 0m26.952s Debug: 0m24.879s 0m25.064s 0m25.673s See e.g. the comments in https://codereview.chromium.org/1269343005/diff/240001/chrome/renderer/spellchecker/spellcheck_worditerator_unittest.cc https://codereview.chromium.org/196433002/diff/60001/media/cast/transport/pacing/paced_sender_unittest.cc for examples. BUG=none TBR=imcheng Review URL: https://codereview.chromium.org/1273313003 Cr-Commit-Position: refs/heads/master@{#367855}
* ios: -Werror for third-partyNico Weber2016-01-041-4/+0
| | | | | | | | | BUG=573779 R=mark@chromium.org Review URL: https://codereview.chromium.org/1551253002 . Cr-Commit-Position: refs/heads/master@{#367402}
* Disable Blink assertions on Chromecast device eng buildshalliwell2016-01-041-0/+5
| | | | | | | | | | | | | | | | Chromecast device eng builds are release builds with dcheck_always_on to take advantage of DCHECKS. By default this also enables Blink assertions, which add ~20% to our binary size. Recently the eng OTA package has become too large to push to the device, so space savings are required, and the Blink assertions haven't provided a lot of value historically. They are still enabled for buildbots, desktop builds and Android TV. BUG=internal b/26142354 Review URL: https://codereview.chromium.org/1535633002 Cr-Commit-Position: refs/heads/master@{#367363}
* linux: Build third-party code with -Wunused-result.thakis2016-01-041-9/+0
| | | | | | | | | | Part of an effort to make warning flags consistent across platforms. BUG=574077 Review URL: https://codereview.chromium.org/1559903002 Cr-Commit-Position: refs/heads/master@{#367355}
* Enable -Wformat in linux, android, chromeos, cast builds.thakis2016-01-041-5/+0
| | | | | | | | | | No behavior change. BUG=573780 Review URL: https://codereview.chromium.org/1551313002 Cr-Commit-Position: refs/heads/master@{#367353}
* Remove small amounts of repitition in build/common.gypithakis2016-01-041-24/+10
| | | | | | | | | | No intended behavior change. BUG=none Review URL: https://codereview.chromium.org/1556953002 Cr-Commit-Position: refs/heads/master@{#367336}
* Simplify xcode_settings block in common.gypi a bit.thakis2016-01-041-17/+3
| | | | | | | | | | | | | - Mac builds are always 64-bit nowaydays - Collapse two adjacent OS==ios conditions No intended behavior change. BUG=none Review URL: https://codereview.chromium.org/1557823002 Cr-Commit-Position: refs/heads/master@{#367314}
* Linux/CrOS/Cast/Android (and Mac with gn): Build 3rd-party code with -Wall.thakis2016-01-021-6/+7
| | | | | | | | | | | | | | | | Lands the remaining -Wall bits of https://codereview.chromium.org/1551753002/ (reviewed there). Windows, Mac, and iOS already build 3rd-party code with -Wall. (Mac and iOS only in the gyp build, not in gn yet.) This makes the other platforms match and also adds -Wall to no_chromium_code in gn builds. BUG=573250 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1555893002 Cr-Commit-Position: refs/heads/master@{#367275}
* Reland of mac and ios: Build third-party code with -Wall. (patchset #1 id:1 ↵geofflang2016-01-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1556843002/ ) Reason for revert: thakis@ plans to address the failing bots. Original issue's description: > Revert of mac and ios: Build third-party code with -Wall. (patchset #2 id:20001 of https://codereview.chromium.org/1555843002/ ) > > Reason for revert: > Fails compilation on Mac GPU bots. > > Original issue's description: > > mac and ios: Build third-party code with -Wall. > > > > This lands the mac and ios build/common.gypi bits of > > https://codereview.chromium.org/1551753002/ (reviewed there) > > > > BUG=573250 > > R=thestig@chromium.org > > TBR=thestig@chromium.org > > > > Committed: https://crrev.com/9830789346abd3d8211deff1ebe7a7f5753ba3fc > > Cr-Commit-Position: refs/heads/master@{#367255} > > > > Committed: https://crrev.com/de5c041e67fa5abee83359b9346ca4896f1723ca > > Cr-Commit-Position: refs/heads/master@{#367263} > > TBR=thestig@chromium.org,thakis@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=573250 > > Committed: https://crrev.com/6f0ae110927c19c75dac785887d56dc61c90abc5 > Cr-Commit-Position: refs/heads/master@{#367267} TBR=thestig@chromium.org,thakis@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=573250 Review URL: https://codereview.chromium.org/1554923002 Cr-Commit-Position: refs/heads/master@{#367269}
* Revert of mac and ios: Build third-party code with -Wall. (patchset #2 ↵geofflang2016-01-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/1555843002/ ) Reason for revert: Fails compilation on Mac GPU bots. Original issue's description: > mac and ios: Build third-party code with -Wall. > > This lands the mac and ios build/common.gypi bits of > https://codereview.chromium.org/1551753002/ (reviewed there) > > BUG=573250 > R=thestig@chromium.org > TBR=thestig@chromium.org > > Committed: https://crrev.com/9830789346abd3d8211deff1ebe7a7f5753ba3fc > Cr-Commit-Position: refs/heads/master@{#367255} > > Committed: https://crrev.com/de5c041e67fa5abee83359b9346ca4896f1723ca > Cr-Commit-Position: refs/heads/master@{#367263} TBR=thestig@chromium.org,thakis@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=573250 Review URL: https://codereview.chromium.org/1556843002 Cr-Commit-Position: refs/heads/master@{#367267}
* mac and ios: Build third-party code with -Wall.Nico Weber2016-01-011-1/+1
| | | | | | | | | | | | | | | | This lands the mac and ios build/common.gypi bits of https://codereview.chromium.org/1551753002/ (reviewed there) BUG=573250 R=thestig@chromium.org TBR=thestig@chromium.org Committed: https://crrev.com/9830789346abd3d8211deff1ebe7a7f5753ba3fc Cr-Commit-Position: refs/heads/master@{#367255} Review URL: https://codereview.chromium.org/1555843002 . Cr-Commit-Position: refs/heads/master@{#367263}
* Revert of mac and ios: Build third-party code with -Wall. (patchset #1 id:1 ↵sigbjornf2016-01-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1555843002/ ) Reason for revert: ios_Device builder isn't quite ready for -Wall, http://build.chromium.org/p/chromium.mac/builders/iOS_Device/builds/33368 breaking compilation. Original issue's description: > mac and ios: Build third-party code with -Wall. > > This lands the mac and ios build/common.gypi bits of > https://codereview.chromium.org/1551753002/ (reviewed there) > > BUG=573250 > R=thestig@chromium.org > TBR=thestig@chromium.org > > Committed: https://crrev.com/9830789346abd3d8211deff1ebe7a7f5753ba3fc > Cr-Commit-Position: refs/heads/master@{#367255} TBR=thestig@chromium.org,thakis@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=573250 Review URL: https://codereview.chromium.org/1553943002 Cr-Commit-Position: refs/heads/master@{#367258}
* Linux/CrOS/Cast/Android (and Mac with gn): Build chromium_code with -Wextra.Nico Weber2016-01-011-7/+5
| | | | | | | | | | | | | | | | | Lands the -Wextra bits of https://codereview.chromium.org/1551753002/ (reviewed there). Windows, Mac, and iOS already build chromium_code with -Wextra. (Mac and iOS only in the gyp build, not in gn yet.) This makes the other platforms match and also adds -Wextra to chromium_code in gn builds. BUG=573250,572776 R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1552863004 . Cr-Commit-Position: refs/heads/master@{#367256}
* mac and ios: Build third-party code with -Wall.Nico Weber2016-01-011-1/+1
| | | | | | | | | | | | | This lands the mac and ios build/common.gypi bits of https://codereview.chromium.org/1551753002/ (reviewed there) BUG=573250 R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1555843002 . Cr-Commit-Position: refs/heads/master@{#367255}
* win: Stop disabling compiler warning 4481.thakis2015-12-241-1/+0
| | | | | | | | | | The warning predates C++11. override is no longer a non-standard extension. BUG=none Review URL: https://codereview.chromium.org/1543043006 Cr-Commit-Position: refs/heads/master@{#366832}
* Added a net::BidirectionalStream to expose a bidirectional streaming interfacexunjieli2015-12-221-0/+4
| | | | | | | | | | | | This CL adds a BidirectionalStream on top of SpdyStream to expose a bidirectional streaming interface. This CL also modifies HttpStreamFactoryImplJob to create BidirectionalStream. BUG=516342 Review URL: https://codereview.chromium.org/1326503003 Cr-Commit-Position: refs/heads/master@{#366541}
* Switch from build-time to run-time flags for Project Spitzer.xhwang2015-12-181-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Contributed by dalecurtis@chromium.org. This puts the desktop media playback pipeline behind a runtime flag for Android; previously this was a combination of build-time and run-time flags to avoid introducing a binary size increase before we were ready for experiments. This change will result in a ~480kb apk size increase on Android that has been approved via Chrome Eng Review and klobag@ from the Chrome for Android team. http://crbug.com/570711 tracks this size increase and plans to reduce it in the future. It paves the way for unifying our playback stacks across platforms and brings previously-missing features and improved security to Android playback. More technical details can be found in the linked bug below and design doc: https://goo.gl/qC3OuL BUG=507834, 570711, 570762 TEST=builds with gn/gyp work with unified path. TBR=grt@chromium.org,dpranke@chromium.org,liberato@chromium.org,creis@chromium.org Review URL: https://codereview.chromium.org/1541513002 Cr-Commit-Position: refs/heads/master@{#366208}
* Revert of Don't set -fvisibility=hidden for iOS Debug in GYP. (patchset #1 ↵baxley2015-12-181-27/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/1533003002/ ) Reason for revert: fails compile on xcodebuild + device Original issue's description: > Don't set -fvisibility=hidden for iOS Debug in GYP. > > Remove -fvisibility=hidden for Debug configuration on iOS at the > top level (common.gypi), so we don't remove symbols from > dependencies. > > BUG=569073 > > Committed: https://crrev.com/b17fbf8f6b05bd868b1555bcbda50c9dfad1946f > Cr-Commit-Position: refs/heads/master@{#366106} TBR=dpranke@google.com,dpranke@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=569073 Review URL: https://codereview.chromium.org/1538573005 Cr-Commit-Position: refs/heads/master@{#366107}
* Don't set -fvisibility=hidden for iOS Debug in GYP.baxley2015-12-181-9/+27
| | | | | | | | | | | | Remove -fvisibility=hidden for Debug configuration on iOS at the top level (common.gypi), so we don't remove symbols from dependencies. BUG=569073 Review URL: https://codereview.chromium.org/1533003002 Cr-Commit-Position: refs/heads/master@{#366106}
* Revert of Enable Control Flow Integrity for the official Linux Chrome. Try ↵krasin2015-12-161-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6. (patchset #1 id:1 of https://codereview.chromium.org/1529993002/ ) Reason for revert: Official desktop continuous builder takes >8 hours while using up to 100% RAM and as much CPU it could get while still not hitting OOM. Try 6 is scrubbed. The next attempt will be in late January 2016 or even February. We will try to reduce the requirements for RAM and CPU while linking the binaries with CFI. Original issue's description: > Enable Control Flow Integrity for the official Linux Chrome. Try 6. > > This CL turns on CFI, a security check: > https://sites.google.com/a/chromium.org/dev/developers/testing/control-flow-integrity > http://clang.llvm.org/docs/ControlFlowIntegrity.html > > This feature enables LTO (Link-Time Optimization) builds, which slow down the linker by 3x-4x. > CFI also comes with a code size overhead of about 7%-9%. The runtime CPU cost is less than 1%, > and should not be an issue. > > BUG=chromium:464797 > Intent to Implement thread: > https://groups.google.com/a/chromium.org/d/msg/chromium-dev/pbJqt6ccMII/7iJC2oklCAAJ > > This is a sixth attempt to land the CL. Previous attempts: > https://codereview.chromium.org/1502373003/ > https://codereview.chromium.org/1501593003/ > https://codereview.chromium.org/1393283005/ > https://codereview.chromium.org/1502233004/ > https://codereview.chromium.org/1513623004/ > > The last time it failed, it was primarily due to the perf build slaves > being much slower then the local build or other GCE slaves, > see https://crbug.com/569732. This is still under investigation, > and the timeout has been increased in the mean time: > https://codereview.chromium.org/1528533003/ > > Committed: https://crrev.com/14cb7878cb522ad05480547690ec3990f4bbb156 > Cr-Commit-Position: refs/heads/master@{#365486} TBR=thestig@chromium.org,thakis@chromium.org,pcc@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:464797 Review URL: https://codereview.chromium.org/1532693002 Cr-Commit-Position: refs/heads/master@{#365590}
* [Chromecast] Remove stray ozone_platform_ozone=1 for Cast builds.slan2015-12-161-1/+0
| | | | | | | | | | | | This line was not removed as it should have been in recent Ozone changes. All configuration should be done by default in the 'chromecast==1' block below. BUG= Review URL: https://codereview.chromium.org/1528333003 Cr-Commit-Position: refs/heads/master@{#365564}
* Enable Control Flow Integrity for the official Linux Chrome. Try 6.krasin2015-12-161-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL turns on CFI, a security check: https://sites.google.com/a/chromium.org/dev/developers/testing/control-flow-integrity http://clang.llvm.org/docs/ControlFlowIntegrity.html This feature enables LTO (Link-Time Optimization) builds, which slow down the linker by 3x-4x. CFI also comes with a code size overhead of about 7%-9%. The runtime CPU cost is less than 1%, and should not be an issue. BUG=chromium:464797 Intent to Implement thread: https://groups.google.com/a/chromium.org/d/msg/chromium-dev/pbJqt6ccMII/7iJC2oklCAAJ This is a sixth attempt to land the CL. Previous attempts: https://codereview.chromium.org/1502373003/ https://codereview.chromium.org/1501593003/ https://codereview.chromium.org/1393283005/ https://codereview.chromium.org/1502233004/ https://codereview.chromium.org/1513623004/ The last time it failed, it was primarily due to the perf build slaves being much slower then the local build or other GCE slaves, see https://crbug.com/569732. This is still under investigation, and the timeout has been increased in the mean time: https://codereview.chromium.org/1528533003/ Review URL: https://codereview.chromium.org/1529993002 Cr-Commit-Position: refs/heads/master@{#365486}
* [Chromecast] Replace architecture-based conditionals with flag.slan2015-12-161-1/+10
| | | | | | | | | | | | | | Chromecast has historically used the target architecture as a proxy for the type of device targeted (embedded vs. desktop). Looking to the future, the decisions should be made on a per-feature basis and should be independent of the architecture. Replace each of the architecture conditionals with a flag that indicates Cast is being built for desktop. BUG= Review URL: https://codereview.chromium.org/1528533002 Cr-Commit-Position: refs/heads/master@{#365452}
* Revert of Enable Control Flow Integrity for the official Linux Chrome. ↵krasin2015-12-151-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #3 id:40001 of https://codereview.chromium.org/1513623004/ ) Reason for revert: Link time for the official Chrome on the perf buildbot is more than 1 hour. Possibly, some regression in LLVM Gold plugin. Original issue's description: > Enable Control Flow Integrity for the official Linux Chrome. > > This CL turns on CFI, a security check: > https://sites.google.com/a/chromium.org/dev/developers/testing/control-flow-integrity > http://clang.llvm.org/docs/ControlFlowIntegrity.html > > This feature enables LTO (Link-Time Optimization) builds, which slow down the linker by 3x-4x. > CFI also comes with a code size overhead of about 7%-9%. The runtime CPU cost is less than 1%, > and should not be an issue. > > BUG=chromium:464797 > Intent to Implement thread: > https://groups.google.com/a/chromium.org/d/msg/chromium-dev/pbJqt6ccMII/7iJC2oklCAAJ > > This is a fifth attempt to land the CL. Previous attempts: > https://codereview.chromium.org/1502373003/ > https://codereview.chromium.org/1501593003/ > https://codereview.chromium.org/1393283005/ > https://codereview.chromium.org/1502233004/ > > The last time it failed, it was primarily due to the new Clang roll, > that had a bug in the linker. This is now fixed upstream and > the new Clang roll happened: https://crbug.com/568248 > > Perf bots were purple and got a RAM upgrade: https://crbug.com/567787 > > precice64 official buildbot got OOM due to too many Gold instances > running in parallel: https://crbug.com/568011, a more conservative > limit was submitted: https://codereview.chromium.org/1509733004/ > > TBR=thestig@chromium.org > > Committed: https://crrev.com/efe55ae0c0f26165d71d540ac319ccc9bc569cb3 > Cr-Commit-Position: refs/heads/master@{#365117} TBR=thakis@chromium.org,thestig@chromium.org,phajdan.jr@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:464797 Review URL: https://codereview.chromium.org/1530553002 Cr-Commit-Position: refs/heads/master@{#365133}
* Enable Control Flow Integrity for the official Linux Chrome.krasin2015-12-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL turns on CFI, a security check: https://sites.google.com/a/chromium.org/dev/developers/testing/control-flow-integrity http://clang.llvm.org/docs/ControlFlowIntegrity.html This feature enables LTO (Link-Time Optimization) builds, which slow down the linker by 3x-4x. CFI also comes with a code size overhead of about 7%-9%. The runtime CPU cost is less than 1%, and should not be an issue. BUG=chromium:464797 Intent to Implement thread: https://groups.google.com/a/chromium.org/d/msg/chromium-dev/pbJqt6ccMII/7iJC2oklCAAJ This is a fifth attempt to land the CL. Previous attempts: https://codereview.chromium.org/1502373003/ https://codereview.chromium.org/1501593003/ https://codereview.chromium.org/1393283005/ https://codereview.chromium.org/1502233004/ The last time it failed, it was primarily due to the new Clang roll, that had a bug in the linker. This is now fixed upstream and the new Clang roll happened: https://crbug.com/568248 Perf bots were purple and got a RAM upgrade: https://crbug.com/567787 precice64 official buildbot got OOM due to too many Gold instances running in parallel: https://crbug.com/568011, a more conservative limit was submitted: https://codereview.chromium.org/1509733004/ TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1513623004 Cr-Commit-Position: refs/heads/master@{#365117}
* [Chromecast] Set default ozone platform to "cast" on device builds.slan2015-12-101-0/+8
| | | | | | | | | | | All device Chromecast builds should default to "cast" platform. Desktop builds will continue to use "headless" as default for now. BUG= Review URL: https://codereview.chromium.org/1519613002 Cr-Commit-Position: refs/heads/master@{#364472}
* Don't explicitly turn on -Wendif-labels.thakis2015-12-101-1/+0
| | | | | | | | | | It's enabled by default both in clang and in recent gccs. BUG=none Review URL: https://codereview.chromium.org/1502233005 Cr-Commit-Position: refs/heads/master@{#364440}
* Roll Clang 254793:255169hans2015-12-101-2/+1
| | | | | | | | | | | This is a small roll, picking up r255169 which fixes the CFI build. BUG=568248 Review URL: https://codereview.chromium.org/1516433003 Cr-Commit-Position: refs/heads/master@{#364360}
* Fixing remaining VC++ 2015 64-bit build breaksbrucedawson2015-12-101-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VC++ 2015 64-bit builds trigger many new warnings about possibly unintended truncation bugs. Some of the bugs have a very low signal-to- noise ratio and this change suppresses them (4311 and 4312). Others seem to find some real bugs so I am leaving them enabled for now (4302 and 4334), fixing the bugs, and adjusting the code to suppress the other warnings. The changes in shell_web_contents_view_delegate_win.cc, ipc_perftest_support.cc, test_root_certs_win.cc, TracedLayoutObject.* and TraceEvent.h appear to fix real truncation bugs. Typical warnings are: ipc\ipc_perftest_support.cc(351): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) net\cert\test_root_certs_win.cc(103): warning C4302: 'reinterpret_cast': truncation from 'LPCSTR' to 'uint32_t' The main pattern is that VC++ 2015 is suspicious of code that converts a 64-bit pointer to a 32-bit integer. If the code converts from a pointer to a 64-bit integer, and then to a 32-bit integer, separating the type change from the truncation, then it assumes that the truncation is intentional. This seems like a reasonable heuristic. The warnings in the generated code were suppressed because they aren't bugs and because fixing gperf.exe (untouched since 2004) does not seem worthwhile. The warnings from gperf generated code look like: out\release_x64\gen\blink\core\csspropertynames.cpp(2914): warning C4302: 'type cast': truncation from 'char (*)[28]' to 'long' out\release_x64\gen\blink\core\cssvaluekeywords.cpp(3409): warning C4302: 'type cast': truncation from 'char (*)[4]' to 'long' Note that Windows HANDLE types are a wrapper around a pointer, but due to WOW64 (32-bit process on 64-bit Windows) compatibility they are always 32-bit values that can safely be truncated, then sign-extended back. Unfortunately Microsoft does not supply a safe-truncation macro. https://msdn.microsoft.com/en-us/library/windows/desktop/aa384203%28v=vs.85%29.aspx Also a few uncommented warning-disables in common.gypi were commented. Setting NOTRY=true because the change is hitting timeouts. See crbug.com/567377 and comment #119 for details. NOTRY=true BUG=440500 Review URL: https://codereview.chromium.org/1422773008 Cr-Commit-Position: refs/heads/master@{#364264}
* clang/win: Let some chromium_code targets build with -Wextra.thakis2015-12-101-0/+7
| | | | | | | | | | | | | | | | | | | To make warning flags between Windows and non-Windows clang consistent, I'd like to build chromium_code targets with -Wextra enabled. This fixes -Wextra warnings in about 14k of 31k build steps. Most of the warnings were about signed/unsigned mismatches; some were about "const"s that had no effect. (This CL does not contain the change to actually turn on -Wextra, only cleanups.) BUG=567877 TBR=content/common/sandbox Review URL: https://codereview.chromium.org/1507413003 Cr-Commit-Position: refs/heads/master@{#364232}
* [Chromecast] Include all stdlibc++/libgcc symbols in cast executables.bcf2015-12-091-1/+29
| | | | | | | | | | | | | For GN this change required refactoring the way default configs are applied to executables and shared libraries. The targets //build/config:{executable_config, shared_library_config} were created for this purpose. BUG= internal b/25566835 Review URL: https://codereview.chromium.org/1476923004 Cr-Commit-Position: refs/heads/master@{#364118}
* Remove default whitelist for grit on iOS.sdefresne2015-12-091-3/+0
| | | | | | | | | | | | Clear the default value in build/common.gypi and remove overrides in .gyp files. Leave support for whitelisting in grit_action.gypi as it is still used downstream and on android. BUG=548645 Review URL: https://codereview.chromium.org/1489403004 Cr-Commit-Position: refs/heads/master@{#364078}
* Reland of ll clang 254049:254793 (patchset #1 id:1 of ↵thakis2015-12-091-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1508403002/ ) Reason for revert: Should work with CFI reverted. Original issue's description: > Revert of roll clang 254049:254793 (patchset #3 id:40001 of https://codereview.chromium.org/1507873002/ ) > > Reason for revert: > Speculative revert to see if this fixes link error on 'Google Chrome Linux x64'. Please see first comment on the revert CL for more info. > > Original issue's description: > > roll clang 254049:254793 > > > > This switches msan to the new ABI. > > > > It's also the first roll that used update.py instead of > > update.sh to build the packages. > > > > It also changes package.py to bundle up libstdc++ on linux > > unconditionally, and removes the --gcc-toolchain flag from > > it (the auto-downloaded gcc should be good enough; > > one fewer thing I can get wrong). > > > > BUG=565541 > > > > Committed: https://crrev.com/3c862a1dff6cbe5f693ba788cdc71770d408e7b7 > > Cr-Commit-Position: refs/heads/master@{#363986} > > TBR=hans@chromium.org,thakis@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=565541 > > Committed: https://crrev.com/af4e20d002ee9acc62854db5bd89f2aa14b2d419 > Cr-Commit-Position: refs/heads/master@{#364051} TBR=hans@chromium.org,engedy@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=565541 Review URL: https://codereview.chromium.org/1514573002 Cr-Commit-Position: refs/heads/master@{#364069}
* Revert of Enable Control Flow Integrity for the official Linux Chrome. ↵thakis2015-12-091-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1502233004/ ) Reason for revert: Broken at clang trunk (http://crbug.com/568121) Original issue's description: > Enable Control Flow Integrity for the official Linux Chrome. > > This CL turns on CFI, a security check: > https://sites.google.com/a/chromium.org/dev/developers/testing/control-flow-integrity > http://clang.llvm.org/docs/ControlFlowIntegrity.html > > This feature enables LTO (Link-Time Optimization) builds, which slow down the linker by 3x-4x. > CFI also comes with a code size overhead of about 7%-9%. The runtime CPU cost is less than 1%, > and should not be an issue. > > BUG=chromium:464797 > Intent to Implement thread: > https://groups.google.com/a/chromium.org/d/msg/chromium-dev/pbJqt6ccMII/7iJC2oklCAAJ > > This is a fourth attempt to land the CL. Previous attempts: > https://codereview.chromium.org/1502373003/ > https://codereview.chromium.org/1501593003/ > https://codereview.chromium.org/1393283005/ > > The last time it failed, it was https://crbug.com/567637 > (mismatched deps expectations for the installer). > Fixing the expectations. > > Committed: https://crrev.com/64719eadd90a3131a744baa89a1183bdcb1e2375 > Cr-Commit-Position: refs/heads/master@{#363895} TBR=thestig@chromium.org,krasin@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:464797 Review URL: https://codereview.chromium.org/1517443002 Cr-Commit-Position: refs/heads/master@{#364068}
* Revert of roll clang 254049:254793 (patchset #3 id:40001 of ↵engedy2015-12-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1507873002/ ) Reason for revert: Speculative revert to see if this fixes link error on 'Google Chrome Linux x64'. Please see first comment on the revert CL for more info. Original issue's description: > roll clang 254049:254793 > > This switches msan to the new ABI. > > It's also the first roll that used update.py instead of > update.sh to build the packages. > > It also changes package.py to bundle up libstdc++ on linux > unconditionally, and removes the --gcc-toolchain flag from > it (the auto-downloaded gcc should be good enough; > one fewer thing I can get wrong). > > BUG=565541 > > Committed: https://crrev.com/3c862a1dff6cbe5f693ba788cdc71770d408e7b7 > Cr-Commit-Position: refs/heads/master@{#363986} TBR=hans@chromium.org,thakis@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=565541 Review URL: https://codereview.chromium.org/1508403002 Cr-Commit-Position: refs/heads/master@{#364051}
* roll clang 254049:254793thakis2015-12-091-4/+0
| | | | | | | | | | | | | | | | | | This switches msan to the new ABI. It's also the first roll that used update.py instead of update.sh to build the packages. It also changes package.py to bundle up libstdc++ on linux unconditionally, and removes the --gcc-toolchain flag from it (the auto-downloaded gcc should be good enough; one fewer thing I can get wrong). BUG=565541 Review URL: https://codereview.chromium.org/1507873002 Cr-Commit-Position: refs/heads/master@{#363986}