Commit 91584c61 authored by Nico Weber's avatar Nico Weber Committed by Commit Bot

Reland "Roll libunwind 43bb9f8722..d999d54f4b"

This reverts commit 2864cb50.

Reason for revert: Reland with fix, see investigation in
https://crbug.com/1056216

Original change's description:
> Revert "Roll libunwind 43bb9f8722..d999d54f4b"
>
> This reverts commit 74270ce2.
>
> Reason for revert: Apparently causes crashes, https://crbug.com/1055188
>
> Original change's description:
> > Roll libunwind 43bb9f8722..d999d54f4b
> >
> > ...and enable Wbitwise-conditional-parentheses on android.
> >
> > https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/43bb9f8722..d999d54f4b
> >
> >  Fix a -Wbitwise-conditional-parentheses warning in _LIBUNWIND_ARM_EHABI libunwind builds
> > 11b0129 [libunwind] Treat assembly files as C on mingw
> > 76f6916 [libunwind] Fix building standalone after c48974ffd7d1676
> > aea9f89 [libunwind] Set LIBUNWIND_ASM_SOURCES to the ASM source language from C
> > e4cbc26 Bump the trunk major version to 11
> > e12b248 [libunwind] Fix evaluating DWARF operation DW_OP_pick
> > c3889d9 [unwind] Don't link libpthread and libdl on Fuchsia
> > 81f7e17 [libunwind][RISCV] Add 64-bit RISC-V support
> > baf07ac Reland "Enable `-funwind-tables` flag when building libunwind"
> > 2ef1190 Revert "Enable `-funwind-tables` flag when building libunwind"
> > 2fd0a70 Enable `-funwind-tables` flag when building libunwind
> > f939ab7 [libunwind] Emit dependent libraries only when detected
> > 4cd4dca [libunwind] Adjust the signal_frame test for Arm
> > 0b1d80f change LLVM_VERSION_SUFFIX default from svn to git
> > b6a6639 Correctly update isSignalFrame when unwinding the stack via dwarf.
> > e7f96ac unwind: restore the LINKER_LANGUAGE
> > e24563d unwind: reflow some of the build rules (NFC)
> > f2c3035 unwind: disable RTTI during the build of libunwind
> > a4a7180 Revert "build: explicitly set the linker language for unwind"
> > ccff66b build: explicitly set the linker language for unwind
> > a914ec1 [libunwind] [Windows] Add a log message if EnumProcessModules fails
> > 2a4f136 [libunwind][Android] Fix findUnwindSections for ARM EHABI Bionic
> > b6bfd8b [libunwind][Android] Improve workaround for PIE zero-dlpi_addr bug
> > 1073ad9 [libunwind] Fix issues introduced in r374606
> > cfb6df8 [libunwind] Refactor CMake flag checks to match libc++ and libc++abi
> > 57be2d2 [libunwind] Adjust libunwind_01.pass.cpp test for ARM EHABI
> > 5342138 Unwind: avoid warning about unused typedef
> > 78b42cc Unwind: prevent unw_get_proc_info from returning stale data
> > 2aa34a8 unwind: remove a could of extraneous `else` (NFC)
> > c699521 [runtimes] Don't depend on libpthread on Android
> > 9d72a29 [libunwind][ARM] Fix types in _Unwind_VRS_Get.
> > d003462 [libunwind][ARM] Fix loading FP registers on big-endian targets
> > 558e694 Bump the trunk version to 10.0.0svn
> > 8d9ed37 [libunwind] Fix Unwind-EHABI.cpp:getByte on big-endian targets
> > 0baf612 [libunwind][AArch64] Fix libunwind::Registers_arm64::jumpto
> > b5b4a50 [Docs] Modernize references to macOS
> > 7aecb76 [CMake] Use find_package(LLVM) instead of LLVMConfig
> > e2fa4a0 [runtimes] Use -Wunknown-pragmas for the pragma check
> > 0e59516 [runtimes] Check if pragma comment(lib, ...) is supported first
> > 7b72703 [runtimes] Support ELF dependent libraries feature
> > 06a69dc [libunwind] [test] Fix inferring source paths
> > 1f9c24d [runtimes] Move libunwind, libc++abi and libc++ to lib/$target/c++ and include/c++
> > 7611bf2 [PPC] Fix 32-bit build of libunwind
> > 8a6fc69 [PPC64][libunwind] Fix r2 not properly restored
> > 7f90e76 Add a new LIBUNWIND_WEAK_PTHREAD Cmake option to force
> > 22e7c0c [gn] Support for building libunwind
> > 103afa4 [NFC] Fix typo in debug log
> > f5d6a44 Add support for ARMv7-M architecture which uses the Thumb 2 ISA (unified syntax)
> > f8c730d [NFC] Move the export attribute after extern "C".
> > 59d0c60 [NFC] Correct outdated links to the Itanium C++ ABI documentation
> > 01fc413 [libunwind] Fix the typo in unw_save_vfp_as_X alias
> > 2b63e62 Move the alias definition of unw_getcontext to within !defined(__USING_SJLJ_EXCEPTIONS__)
> > 2ec9ffc [libunwind] Export the weak alias in Mach-O
> > 9bbfad5 [libunwind] Export the unw_* symbols as weak symbols
> > e63f955 [libunwind] Do not share an object library to create the static/shared libraries
> > 2a2b62e Revert "[runtimes] Move libunwind, libc++abi and libc++ to lib/ and include/"
> > 9021011 [runtimes] Move libunwind, libc++abi and libc++ to lib/ and include/
> > 4287808 [CMake][libunwind] Define add_target_flags which is missing
> > 3674fe4 [CMake] Don't cache LLVM_MAIN_SRC_DIR
> > 99b7c05 [CMake] Support compiler-rt builtins library in tests
> > a6a888a [CMake] Support CMake variables for setting target, sysroot and toolchain
> > 5f5036e Provide a placement new definition for the SEH version of UnwindCursor
> > 36f6154 [libunwind] Provide placement new definition
> > f50a5ed [libunwind] Remove the remote unwinding support
> > 370ec3f [CMake] Use correct visibility for linked libraries in CMake
> > a0f0700 Revert "[CMake] Use correct visibility for linked libraries in CMake"
> > d6e1714 [CMake] Use correct visibility for linked libraries in CMake
> > 809c2b5 [libunwind] Support building hermetic static library
> > ac0d9e0 Drop the dependency on <algorithm>, add placement new inline
> > 8835912 Adjust documentation for git migration.
> > fafb21e Don't define unw_fpreg_t to uint64_t for __ARM_DWARF_EH__
> > a9ccb4e Revert "[libunwind] Drop the dependency on <algorithm>, add placement new inline"
> > cf8d0d6 Revert "[CMake] Use __libc_start_main rather than fopen when checking for C library"
> > b31f294 [libunwind] Drop the dependency on <algorithm>, add placement new inline
> > 6a3a019 [CMake] Use __libc_start_main rather than fopen when checking for C library
> > 1f978e9 [libunwind] Use placement new to avoid dependency C++ library
> > 06be328 [libunwind] Don't abort if encoutering invalid .eh_frame_hdr
> > 059a163 Silence warnings about unused parameters
> > 13d23c8 Remove an unused variable
> > 688e594 Add casts to avoid warnings about implicit conversions losing precision
> > 985a1d1 Fix warnings about printf format strings
> > 55b1c00 Enable LLVM_ENABLE_WARNINGS when building standalone out of tree
> > 0dc7999 Fix typos throughout the license files that somehow I and my reviewers
> > 61860a5 Update more file headers across all of the LLVM projects in the monorepo
> > 60b38b7 Install new LLVM license structure and new developer policy.
> > 9180f77 [SjLj] Don't use __declspec(thread) in MinGW mode
> > 14d9c7b Bump the trunk version to 9.0.0svn
> > b9268be Update year in license files
> > 9f2f07a [Sparc] Add Sparc V8 support
> > 38d0a65 Revert "[Sparc] Add Sparc V8 support"
> > d71bc56 [Sparc] Add Sparc V8 support
> > ce15011 [SEH] Add initial support for AArch64
> > cba83c3 [AArch64][libunwind] Unwinding support for return address signing with B Key
> > 4d8e431 [AArch64][libunwind] Unwinding support for return address signing
> >
> > Bug: 1016947
> > Change-Id: I37d815a111ce4a5cf4a246fc4558d8c7ba5f7fad
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2062638
> > Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
> > Auto-Submit: Nico Weber <thakis@chromium.org>
> > Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#743604}
>
> TBR=thakis@chromium.org,thomasanderson@chromium.org
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: 1016947
> Change-Id: I057e99ca246ea87fbcc8799f3ba157915e24a54b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2068735
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#743922}

TBR=thakis@chromium.org,thomasanderson@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 1016947,1056216,1055188
Cq-Do-Not-Cancel-Tryjobs: true
Change-Id: Ib8da66625a45529fb5f9d7ac407bae67bf569cb9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2163440
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Reviewed-by: default avatarRichard Coles <torne@chromium.org>
Reviewed-by: default avatarThomas Anderson <thomasanderson@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#762078}
parent 40cbfe21
...@@ -340,7 +340,7 @@ vars = { ...@@ -340,7 +340,7 @@ vars = {
'clang_format_revision': '96636aa0e9f047f17447f2d45a094d0b59ed7917', 'clang_format_revision': '96636aa0e9f047f17447f2d45a094d0b59ed7917',
'libcxx_revision': 'd9040c75cfea5928c804ab7c235fed06a63f743a', 'libcxx_revision': 'd9040c75cfea5928c804ab7c235fed06a63f743a',
'libcxxabi_revision': '196ba1aaa8ac285d94f4ea8d9836390a45360533', 'libcxxabi_revision': '196ba1aaa8ac285d94f4ea8d9836390a45360533',
'libunwind_revision': '43bb9f872232f531bac80093ceb4de61c64b9ab7', 'libunwind_revision': 'd999d54f4bca789543a2eb6c995af2d9b5a1f3ed',
} }
# Only these hosts are allowed for dependencies in this DEPS file. # Only these hosts are allowed for dependencies in this DEPS file.
......
...@@ -1523,13 +1523,6 @@ config("default_warnings") { ...@@ -1523,13 +1523,6 @@ config("default_warnings") {
"-Wno-pointer-to-int-cast", "-Wno-pointer-to-int-cast",
] ]
if (is_android) {
cflags += [
# TODO(https://crbug.com/1016947) Clean up, enable.
"-Wno-bitwise-conditional-parentheses",
]
}
cflags_c += [ cflags_c += [
# TODO(https://crbug.com/995993): Clean up and enable. # TODO(https://crbug.com/995993): Clean up and enable.
"-Wno-implicit-fallthrough", "-Wno-implicit-fallthrough",
......
...@@ -20,7 +20,7 @@ vars = { ...@@ -20,7 +20,7 @@ vars = {
'clang_format_revision': '96636aa0e9f047f17447f2d45a094d0b59ed7917', 'clang_format_revision': '96636aa0e9f047f17447f2d45a094d0b59ed7917',
'libcxx_revision': 'd9040c75cfea5928c804ab7c235fed06a63f743a', 'libcxx_revision': 'd9040c75cfea5928c804ab7c235fed06a63f743a',
'libcxxabi_revision': '196ba1aaa8ac285d94f4ea8d9836390a45360533', 'libcxxabi_revision': '196ba1aaa8ac285d94f4ea8d9836390a45360533',
'libunwind_revision': '43bb9f872232f531bac80093ceb4de61c64b9ab7', 'libunwind_revision': 'd999d54f4bca789543a2eb6c995af2d9b5a1f3ed',
} }
deps = { deps = {
......
...@@ -470,7 +470,7 @@ __wrap_dl_unwind_find_exidx(_Unwind_Ptr pc, int* length) { ...@@ -470,7 +470,7 @@ __wrap_dl_unwind_find_exidx(_Unwind_Ptr pc, int* length) {
static const FakeExidx chrome_exidx_data[] = { static const FakeExidx chrome_exidx_data[] = {
{CFIBacktraceAndroid::executable_start_addr(), 0x80000000}, {CFIBacktraceAndroid::executable_start_addr(), 0x80000000},
{CFIBacktraceAndroid::executable_end_addr(), 0x80000000}}; {CFIBacktraceAndroid::executable_end_addr(), 0x80000000}};
*length = sizeof(chrome_exidx_data); *length = base::size(chrome_exidx_data);
return reinterpret_cast<_Unwind_Ptr>(chrome_exidx_data); return reinterpret_cast<_Unwind_Ptr>(chrome_exidx_data);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment