Reland^2 "linux/build: Enable fission for (symbol_level = 2) release builds as well"

This is a reland of commit b7da3afa43ecb6a1a4839c4f91e798a6d72b221f

The CL got reverted for breaking android-official, and a comment
on the original review mentioned that it also broke a few cros bots
like arm-generic-cq.

For the reland, this now also allows non-fission static symbol_level 2
for android and chromeos.

Original change's description:
> Reland "linux/build: Enable fission for (symbol_level = 2) release builds as well"
>
> This is a reland of commit c031e3aa3a7a0ad71715655e140ba52ffa82a08d
> The reland removes an assert on macOS (where is_debug_fission isn't
> used -- darwin toolchains have always used something like fission,
> but under a different name).
>
> Original change's description:
> > linux/build: Enable fission for (symbol_level = 2) release builds as well
> >
> > Looks like full-symbol non-component builds are getting too big for
> > debug info even in release builds.
> >
> > Turn on fission by default on linux in release builds as well.
> >
> > This might affect official builds, where dump_syms etc might not
> > handle fission yet. If this is a problem, we'll have to fix this
> > at some point, but short-term we can not do this for official
> > builds in that case. (zequanwu@ says CrOS enabled fission already,
> > encountered dump_syms issues, and those already got fixed.
> > And a linux-official try run is green. We'll see!)
> >
> > (Component builds don't need fission yet, but for simplicity I'm
> > enabling fission independent of is_component_build.)
> >
> > Bug: 353915727
> > Cq-Include-Trybots: luci.chromium.try:linux-official
> > Change-Id: I0df4031726f024e60646e43285d85b150a778d24
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5730815
> > Auto-Submit: Nico Weber <thakis@chromium.org>
> > Reviewed-by: Zequan Wu <zequanwu@google.com>
> > Commit-Queue: Zequan Wu <zequanwu@google.com>
> > Cr-Commit-Position: refs/heads/main@{#1331406}
>
> Bug: 353915727
> Change-Id: Idf9df6d94ab3a8c7b4e3f6d8bbb7d50fd2066b13
> Cq-Include-Trybots: luci.chromium.try:linux-official
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5731601
> Auto-Submit: Nico Weber <thakis@chromium.org>
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
> Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1331479}

Bug: 353915727
Change-Id: I71bbfff81f9d2e04d3f457e25b90d5da234b25fb
Cq-Include-Trybots: luci.chromium.try:linux-official
Cq-Include-Trybots: luci.chromium.try:android-official
Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5753311
Commit-Queue: Zequan Wu <zequanwu@google.com>
Reviewed-by: Zequan Wu <zequanwu@google.com>
Auto-Submit: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1335843}
1 file changed
tree: fc435c95c65ed7491c840ca1e9185d7bc609b357
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia_web/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. media/
  31. mojo/
  32. native_client_sdk/
  33. net/
  34. pdf/
  35. ppapi/
  36. printing/
  37. remoting/
  38. rlz/
  39. sandbox/
  40. services/
  41. skia/
  42. sql/
  43. storage/
  44. styleguide/
  45. testing/
  46. third_party/
  47. tools/
  48. ui/
  49. url/
  50. webkit/
  51. .clang-format
  52. .clang-tidy
  53. .clangd
  54. .eslintrc.js
  55. .git-blame-ignore-revs
  56. .gitallowed
  57. .gitattributes
  58. .gitignore
  59. .gitmodules
  60. .gn
  61. .mailmap
  62. .rustfmt.toml
  63. .vpython3
  64. .yapfignore
  65. ATL_OWNERS
  66. AUTHORS
  67. BUILD.gn
  68. CODE_OF_CONDUCT.md
  69. codereview.settings
  70. CPPLINT.cfg
  71. DEPS
  72. DIR_METADATA
  73. LICENSE
  74. LICENSE.chromium_os
  75. OWNERS
  76. PRESUBMIT.py
  77. PRESUBMIT_test.py
  78. PRESUBMIT_test_mocks.py
  79. README.md
  80. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure.

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.