SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. Test asm-cet.S fail for window clang (details)
  2. [gn build] Port 62a9eca859d (details)
  3. [BPF] fix an asan issue when disassemble an illegal instruction (details)
  4. [NFC] [PowerPC] Refresh fma-mutate.ll using script (details)
  5. [lldb/Test] Skip TestPositionalArgs with lldb-repro (details)
  6. Add cet.h for writing CET-enabled assembly code (details)
  7. [gn build] Port bcc0c894f38 (details)
  8. Add support of the next Ubuntu (Ubuntu 20.10 - Groovy Gorilla) (details)
  9. [DebugInfo] Remove an outdated test. (details)
  10. [DebugInfo] Dump fields in .debug_aranges according to the DWARF format (1/8). (details)
  11. [DebugInfo] Dump form values according to the DWARF format (2/8). (details)
  12. [DebugInfo] Dump length of CUs and TUs according to the DWARF format (3/8). (details)
  13. [DebugInfo] Dump length in .debug_line according to the DWARF format (4/8). (details)
  14. [DebugInfo] Dump values in .debug_loclists and .debug_rnglists according to the DWARF format (5/8). (details)
  15. [DebugInfo] Dump values in .debug_pubnames and .debug_pubtypes according to the DWARF format (6/8). (details)
  16. [DebugInfo] Dump offsets in .debug_str_offsets according to the DWARF format (7/8). (details)
  17. [DebugInfo] Add a test for dumping DWARF64 CIEs and FDEs (8/8). (details)
Commit 62a9eca859d6052f85c2bae6a76e9fa9346173bf by xiang1.zhang
Test asm-cet.S fail for window clang

This reverts commit e7e84ff24a5f0f4ed2d706de4168a4ec6073e3ef.
The file was removedclang/lib/Headers/cet.h
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was removedclang/test/CodeGen/asm-cet.S
Commit 0af40120ad226076850a5907d4ac5bed1d1cbfdc by llvmgnsyncbot
[gn build] Port 62a9eca859d
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit eec758825d2a85f229bd4914a322eab8e7d57b23 by yhs
[BPF] fix an asan issue when disassemble an illegal instruction

Commit 8e8f1bd75a9a ("[BPF] Return fail if disassembled insn registers
out of range") tried to fix a segfault when an illegal instruction
is decoded. A test case is added to emulate such an illegal instruction.

The llvm buildbot reported an asan issue with this test case.
  ERROR: AddressSanitizer: global-buffer-overflow on address ...
  decodeMemoryOpValue(llvm::MCInst&, unsigned int, ...)
  llvm::MCDisassembler::DecodeStatus llvm::decodeToMCInst<unsigned long>(...)
  llvm::MCDisassembler::DecodeStatus llvm::decodeInstruction<unsigned long>(...)
  in (anonymous namespace)::BPFDisassembler::getInstruction(...)
  ...

Basically, the fix in Commit 8e8f1bd75a9a is too later to prevent
the asan. The fix in this patch moved the register number check earlier
during decodeInstruction(). It will return fail for decodeInstruction()
if the register number is out of range.

Note that DecodeGPRRegisterClass() and DecodeGPR32RegisterClass()
already have register number checking, so here we only check
decodeMemoryOpValue().
The file was modifiedllvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
Commit ad4f196e25c091922b8037d313984fcde3e23088 by qiucofan
[NFC] [PowerPC] Refresh fma-mutate.ll using script

This is a clean-up after D78989. The old comments are out of date.
The file was modifiedllvm/test/CodeGen/PowerPC/fma-mutate.ll
Commit 2bb16f94128ecd4cfcbbb8fe2db57490043a805f by Jonas Devlieghere
[lldb/Test] Skip TestPositionalArgs with lldb-repro
The file was modifiedlldb/test/Shell/Driver/TestPositionalArgs.test
Commit bcc0c894f38fd8b43af521e356a167b1a12dd497 by xiang1.zhang
Add cet.h for writing CET-enabled assembly code

Summary:
Add x86 feature with IBT and/or SHSTK bits to ELF program property if they  are enabled. Otherwise, contents in this header file are unused.
This file is mainly design for assembly source code which want to enable CET

Reviewers: hjl.tools, annita.zhang, LuoYuanke, craig.topper, tstellar, pengfei, rsmith

Reviewed By: LuoYuanke

Subscribers: cfe-commits, mgorny

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79617
The file was addedclang/lib/Headers/cet.h
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was addedclang/test/CodeGen/asm-cet.S
Commit a60baa3c43087695f02aa864b2e456451302ffd1 by llvmgnsyncbot
[gn build] Port bcc0c894f38
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit dbb034947cc16d26164be1e78d95249d60738dc6 by sylvestre
Add support of the next Ubuntu (Ubuntu 20.10 - Groovy Gorilla)
The file was modifiedclang/lib/Driver/Distro.cpp
The file was modifiedclang/include/clang/Driver/Distro.h
Commit 04e005009ab5f13a1159cac2f2ad46b8d111a5c8 by ikudrin
[DebugInfo] Remove an outdated test.

64-bit DWARF is supported for most of the sections now, and there are
separate tests for each of them. This test uses a binary input, while
the preferable way is to have a text-based source. Thus, it looks like
this test may be safely removed.

Differential Revision: https://reviews.llvm.org/D80122
The file was removedllvm/test/DebugInfo/Inputs/dwarfdump.elf-mips64-64-bit-dwarf
The file was removedllvm/test/DebugInfo/dwarfdump-64-bit-dwarf.test
Commit 69dfa07b4cefba5d403749d04190c7c8e1823f71 by ikudrin
[DebugInfo] Dump fields in .debug_aranges according to the DWARF format (1/8).

The patch changes dumping of unit_length and debug_info_offset fields in
an address range header so that they are printed as 16-digit hex values
if the contribution is in the DWARF64 format.

Differential Revision: https://reviews.llvm.org/D79997
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-aranges.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
Commit f92a55451655934a08b7020b45e7deef46808f4b by ikudrin
[DebugInfo] Dump form values according to the DWARF format (2/8).

The patch changes dumping of DWARF form values which sizes depend on
the DWARF format so that they are printed as 16-digit hex values for
DWARF64.

Differential Revision: https://reviews.llvm.org/D79997
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-str-offsets.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-rnglists-dwarf64.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-str-offsets-macho.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-header-64.s
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp
Commit 0db1684b7435201e6b30236e6334a618fcfa6771 by ikudrin
[DebugInfo] Dump length of CUs and TUs according to the DWARF format (3/8).

The patch changes dumping of the unit_length field in a unit header so
that it is printed as a 16-digit hex value if the unit is in the DWARF64
format.

Differential Revision: https://reviews.llvm.org/D79997
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/typeunit-v4-dwarf64.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/typeunit-v5-dwarf64.s
The file was modifiedllvm/test/DebugInfo/X86/dwp-dwarf64.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_info_min_dwarf64.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp
Commit c9122b8f7002a257e160a1422e19265343ae8133 by ikudrin
[DebugInfo] Dump length in .debug_line according to the DWARF format (4/8).

The patch changes dumping of unit_length and header_length fields in
headers in .debug_line sections so that they are printed as 16-digit hex
values if the contribution is in the DWARF64 format.

Differential Revision: https://reviews.llvm.org/D79997
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-header-64.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_line_dwarf64_large_table.s
Commit 2094c5d29200ec67179ce232d7452e0d2c1cf24e by ikudrin
[DebugInfo] Dump values in .debug_loclists and .debug_rnglists according to the DWARF format (5/8).

The patch changes dumping of a unit_length field and offsets in headers
in .debug_loclists and .debug_rnglists sections so that they are printed
as 16-digit hex values if the contribution is in the DWARF64 format.

Differential Revision: https://reviews.llvm.org/D79997
The file was addedllvm/test/DebugInfo/X86/dwarfdump-debug-loclists-dwarf64.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFListTable.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-rnglists-dwarf64.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_dwarf64.s
Commit 7e9a740198fb526fe292441248983c2d8bdc8e3a by ikudrin
[DebugInfo] Dump values in .debug_pubnames and .debug_pubtypes according to the DWARF format (6/8).

The patch changes dumping of unit_length, debug_info_offset, and
debug_info_length fields in headers in .debug_pubname and
.debug_pubtypes sections so that they are printed as 16-digit hex values
if the contribution is in the DWARF64 format. Dumping of offsets in the
tables is changed in the same way.

Differential Revision: https://reviews.llvm.org/D79997
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-pubnames.s
Commit e94382ee37d9225d5e833ed35006c14deda2467b by ikudrin
[DebugInfo] Dump offsets in .debug_str_offsets according to the DWARF format (7/8).

The patch changes dumping of offsets in .debug_str_offsets sections so
that they are printed as 16-digit hex values if the contribution is in
the DWARF64 format.

Differential Revision: https://reviews.llvm.org/D79997
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-str-offsets-macho.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-str-offsets-v4-dwarf64-dwo.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-str-offsets.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-str-offsets-v4-dwarf64-dwp.s
Commit 61f859785f6ff3d4c74436570d246da8bbec8664 by ikudrin
[DebugInfo] Add a test for dumping DWARF64 CIEs and FDEs (8/8).

This adds a test to check that Length and CIE_id/CIE_pointer fields in
.debug_frame section are printed as 16-digit hex values if the records
are in the DWARF64 format.

Differential Revision: https://reviews.llvm.org/D79997
The file was addedllvm/test/DebugInfo/X86/debug-frame-dwarf64.s