Reland "Restore default behaviour of signal handling"

This reverts commit 953be7a3020dd2b48aeec5b7ed6f1c59f9d4277b.

Reason for revert: Tests no longer run under ASan/UBSan

Rather than exiting with an exit code representing the signal
(SIGSEGV/SIGFPE), sanitizers return a generic SIGABRT, which makes
the tests fail. The respective tests are now disabled if any sanitizer
is present.

Original change's description:
> Revert "Restore default behaviour of signal handling"
>
> This reverts commit 46b18e26b54aaaf1117b8aa82fa2fac010fb5195.
>
> Reason for revert: Sheriff. Broke android-asna.
> crbug.com/1195009
>
> Original change's description:
> > Restore default behaviour of signal handling
> >
> > Arm's new security features (PAC, BTI, MTE) often crash the process with
> > an appropriate signal in the event of a security problem. When writing
> > tests to verify this behaviour, it is crucial to ensure that tests exit
> > with exit codes that reflect the signal.
> >
> > For Linux this patch removes the explicit termination of the process via
> > exit(1) and re-raises the signal to invoke the default signal handler
> > and ensure proper (default) handling of the signal, including exiting
> > with correct exit code.
> >
> > On other posix compliant operating systems the signal handler still
> > terminates the process with an exit code of 1.
> >
> > Bug: 1137393, 1145581
> > Change-Id: I0260f8bbccafe38860cef2dbc696701b57fc155c
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2777558
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Reviewed-by: Chris Palmer <palmer@chromium.org>
> > Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
> > Commit-Queue: Richard Townsend <richard.townsend@arm.com>
> > Cr-Commit-Position: refs/heads/master@{#868466}
>
> Bug: 1137393
> Bug: 1145581
> Bug: 1195009
> Change-Id: I8808476cdfb05cccf2d9ee5bcb1674319ddf7c6a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2799936
> Commit-Queue: Gabriel Charette <gab@chromium.org>
> Owners-Override: Gabriel Charette <gab@chromium.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/master@{#868517}

Bug: 1137393
Bug: 1145581
Bug: 1195009
Test: base_unittests headless_browsertests browser_tests sync_integration_tests
Change-Id: Ibd6b47fb09cdba0248be0807dda850e54b54e059
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2799834
Commit-Queue: Richard Townsend <richard.townsend@arm.com>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#871851}
6 files changed
tree: e2fd3b8f9095447d8af75ab3c162155e38120229
  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. cloud_print/
  13. codelabs/
  14. components/
  15. content/
  16. courgette/
  17. crypto/
  18. dbus/
  19. device/
  20. docs/
  21. extensions/
  22. fuchsia/
  23. gin/
  24. google_apis/
  25. google_update/
  26. gpu/
  27. headless/
  28. infra/
  29. ios/
  30. ipc/
  31. jingle/
  32. media/
  33. mojo/
  34. native_client_sdk/
  35. net/
  36. pdf/
  37. ppapi/
  38. printing/
  39. remoting/
  40. rlz/
  41. sandbox/
  42. services/
  43. skia/
  44. sql/
  45. storage/
  46. styleguide/
  47. testing/
  48. third_party/
  49. tools/
  50. ui/
  51. url/
  52. weblayer/
  53. .clang-format
  54. .clang-tidy
  55. .eslintrc.js
  56. .git-blame-ignore-revs
  57. .gitattributes
  58. .gitignore
  59. .gn
  60. .vpython
  61. .vpython3
  62. .yapfignore
  63. AUTHORS
  64. BUILD.gn
  65. CODE_OF_CONDUCT.md
  66. codereview.settings
  67. DEPS
  68. DIR_METADATA
  69. ENG_REVIEW_OWNERS
  70. LICENSE
  71. LICENSE.chromium_os
  72. OWNERS
  73. PRESUBMIT.py
  74. PRESUBMIT_test.py
  75. PRESUBMIT_test_mocks.py
  76. README.md
  77. 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.