FailedChanges

Summary

  1. Object/Minidump: Add support for the ThreadList stream Summary: The stream contains the list of threads belonging to the process described by the minidump. Its structure is the same as the ModuleList stream, and in fact, I have generalized the ModuleList reading code to handle this stream too. Reviewers: amccarth, jhenderson, clayborg Subscribers: llvm-commits, lldb-commits, markmentovai, zturner Tags: #llvm Differential Revision: https://reviews.llvm.org/D61064
Revision 359762 by labath:
Object/Minidump: Add support for the ThreadList stream

Summary:
The stream contains the list of threads belonging to the process
described by the minidump. Its structure is the same as the ModuleList
stream, and in fact, I have generalized the ModuleList reading code to
handle this stream too.

Reviewers: amccarth, jhenderson, clayborg

Subscribers: llvm-commits, lldb-commits, markmentovai, zturner

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D61064
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/BinaryFormat/Minidump.htrunk/include/llvm/BinaryFormat/Minidump.h
The file was modified/llvm/trunk/include/llvm/Object/Minidump.htrunk/include/llvm/Object/Minidump.h
The file was modified/llvm/trunk/lib/Object/Minidump.cpptrunk/lib/Object/Minidump.cpp
The file was modified/llvm/trunk/unittests/Object/MinidumpTest.cpptrunk/unittests/Object/MinidumpTest.cpp

Summary

  1. Fix typo in test case.
  2. Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO This follows up after b7692bc3e9ad2691fc07261904b88fb15f30696b "[UBSan] Fix isDerivedFromAtOffset on iOS ARM64" fixed the RTTI comparison in isDerivedFromAtOffset on just one platform and then a25a2c7c9a7e1e328a5bd8274d2d86b1fadc4692 "Always compare C++ typeinfo (based on libstdc++ implementation)" extended that fix to more platforms. But there is another RTTI comparison for -fsanitize=function generated in clang's CodeGenFunction::EmitCall as just a pointer comparison. For SANITIZER_NON_UNIQUE_TYPEINFO platforms this needs to be extended to also do string comparison. For that, __ubsan_handle_function_type_mismatch[_abort] takes the two std::type_info pointers as additional parameters now, checks them internally for potential equivalence, and returns without reporting failure if they turn out to be equivalent after all. (NORETURN needed to be dropped from the _abort variant for that.) Also these functions depend on ABI-specific RTTI now, so needed to be moved from plain UBSAN_SOURCES (ubsan_handlers.h/cc) to UBSAN_CXXABI_SOURCES (ubsan_handlers_cxx.h/cc), but as -fsanitize=function is only supported in C++ mode that's not a problem. Differential Revision: https://reviews.llvm.org/D60760
Revision 359761 by ahatanak:
Fix typo in test case.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGenObjC/protocols.mtrunk/test/CodeGenObjC/protocols.m
Revision 359759 by sberg:
Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO

This follows up after b7692bc3e9ad2691fc07261904b88fb15f30696b "[UBSan] Fix
isDerivedFromAtOffset on iOS ARM64" fixed the RTTI comparison in
isDerivedFromAtOffset on just one platform and then
a25a2c7c9a7e1e328a5bd8274d2d86b1fadc4692 "Always compare C++ typeinfo (based on
libstdc++ implementation)" extended that fix to more platforms.

But there is another RTTI comparison for -fsanitize=function generated in
clang's CodeGenFunction::EmitCall as just a pointer comparison.  For
SANITIZER_NON_UNIQUE_TYPEINFO platforms this needs to be extended to also do
string comparison.  For that, __ubsan_handle_function_type_mismatch[_abort]
takes the two std::type_info pointers as additional parameters now, checks them
internally for potential equivalence, and returns without reporting failure if
they turn out to be equivalent after all.  (NORETURN needed to be dropped from
the _abort variant for that.)  Also these functions depend on ABI-specific RTTI
now, so needed to be moved from plain UBSAN_SOURCES (ubsan_handlers.h/cc) to
UBSAN_CXXABI_SOURCES (ubsan_handlers_cxx.h/cc), but as -fsanitize=function is
only supported in C++ mode that's not a problem.

Differential Revision: https://reviews.llvm.org/D60760
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGExpr.cpptrunk/lib/CodeGen/CGExpr.cpp
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_handlers.ccN/A
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_handlers.hN/A
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_handlers_cxx.ccN/A
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_handlers_cxx.hN/A
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_type_hash.hN/A
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_type_hash_itanium.ccN/A
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_type_hash_win.ccN/A

Summary

  1. Fix for Windows ...after 5745eccef54ddd3caca278d1d292a88b2281528b "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO"
  2. Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO This follows up after b7692bc3e9ad2691fc07261904b88fb15f30696b "[UBSan] Fix isDerivedFromAtOffset on iOS ARM64" fixed the RTTI comparison in isDerivedFromAtOffset on just one platform and then a25a2c7c9a7e1e328a5bd8274d2d86b1fadc4692 "Always compare C++ typeinfo (based on libstdc++ implementation)" extended that fix to more platforms. But there is another RTTI comparison for -fsanitize=function generated in clang's CodeGenFunction::EmitCall as just a pointer comparison. For SANITIZER_NON_UNIQUE_TYPEINFO platforms this needs to be extended to also do string comparison. For that, __ubsan_handle_function_type_mismatch[_abort] takes the two std::type_info pointers as additional parameters now, checks them internally for potential equivalence, and returns without reporting failure if they turn out to be equivalent after all. (NORETURN needed to be dropped from the _abort variant for that.) Also these functions depend on ABI-specific RTTI now, so needed to be moved from plain UBSAN_SOURCES (ubsan_handlers.h/cc) to UBSAN_CXXABI_SOURCES (ubsan_handlers_cxx.h/cc), but as -fsanitize=function is only supported in C++ mode that's not a problem. Differential Revision: https://reviews.llvm.org/D60760
Revision 359760 by sberg:
Fix for Windows

...after 5745eccef54ddd3caca278d1d292a88b2281528b "Adapt -fsanitize=function to
SANITIZER_NON_UNIQUE_TYPEINFO"
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_type_hash_win.cctrunk/lib/ubsan/ubsan_type_hash_win.cc
Revision 359759 by sberg:
Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO

This follows up after b7692bc3e9ad2691fc07261904b88fb15f30696b "[UBSan] Fix
isDerivedFromAtOffset on iOS ARM64" fixed the RTTI comparison in
isDerivedFromAtOffset on just one platform and then
a25a2c7c9a7e1e328a5bd8274d2d86b1fadc4692 "Always compare C++ typeinfo (based on
libstdc++ implementation)" extended that fix to more platforms.

But there is another RTTI comparison for -fsanitize=function generated in
clang's CodeGenFunction::EmitCall as just a pointer comparison.  For
SANITIZER_NON_UNIQUE_TYPEINFO platforms this needs to be extended to also do
string comparison.  For that, __ubsan_handle_function_type_mismatch[_abort]
takes the two std::type_info pointers as additional parameters now, checks them
internally for potential equivalence, and returns without reporting failure if
they turn out to be equivalent after all.  (NORETURN needed to be dropped from
the _abort variant for that.)  Also these functions depend on ABI-specific RTTI
now, so needed to be moved from plain UBSAN_SOURCES (ubsan_handlers.h/cc) to
UBSAN_CXXABI_SOURCES (ubsan_handlers_cxx.h/cc), but as -fsanitize=function is
only supported in C++ mode that's not a problem.

Differential Revision: https://reviews.llvm.org/D60760
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGExpr.cppN/A
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_handlers.cctrunk/lib/ubsan/ubsan_handlers.cc
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_handlers.htrunk/lib/ubsan/ubsan_handlers.h
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_handlers_cxx.cctrunk/lib/ubsan/ubsan_handlers_cxx.cc
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_handlers_cxx.htrunk/lib/ubsan/ubsan_handlers_cxx.h
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_type_hash.htrunk/lib/ubsan/ubsan_type_hash.h
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_type_hash_itanium.cctrunk/lib/ubsan/ubsan_type_hash_itanium.cc
The file was modified/compiler-rt/trunk/lib/ubsan/ubsan_type_hash_win.cctrunk/lib/ubsan/ubsan_type_hash_win.cc