SuccessChanges

Summary

  1. [MC] Emit unused undefined symbol even if its binding is not set (details)
  2. [clangd] NFC, reuse the source manager variable in the RawStringLiteral (details)
  3. Debug Info: Nest Objective-C property function decls inside their (details)
  4. NVPTX: Don't insert an extra empty line at the end of the last section. (details)
  5. llvm-ranlib/nm: Don't print usage message except for usage errors (details)
  6. DebugInfo: Do not create a debug_macinfo section if no CUs have (details)
  7. DebugInfo: Remove redundant conditionals/checks from macro info emission (details)
  8. Test case to verify that lldb falls back to p/P if g is unsupported and (details)
Commit 8f089f2099d39021bbfb76a2cd575612382a7cf6 by maskray
[MC] Emit unused undefined symbol even if its binding is not set
Recommit r373168, which was reverted by r373242. This actually exposed a
boringssl bug which has been fixed for more than one month.
For the following two cases, we currently suppress the symbols. This
patch emits them (compatible with GNU as).
* `test2_a = undef`: if `undef` is otherwise unused.
* `.hidden hidden`: if `hidden` is unused. This is the main point of the
patch, because omitting the symbol would cause a linker semantic
difference.
It causes a behavior change that is not compatible with GNU as:
.weakref foo1, bar1
When neither foo1 nor bar1 is used, we now emit bar1, which is arguably
more consistent.
Another change is that we will emit .TOC. for .TOC.@tocbase .  For this
directive, suppressing .TOC. can be seen as a size optimization, but we
choose to drop it for simplicity and consistency.
The file was modifiedlld/test/ELF/ppc64-abs64-dyn.s
The file was modifiedllvm/test/MC/ELF/weakref.s
The file was modifiedlld/test/ELF/ppc64-relocs.s
The file was modifiedllvm/lib/MC/ELFObjectWriter.cpp
The file was modifiedllvm/test/MC/ELF/undef.s
Commit e1b07aac3d1c92f58e05cb5c37c0707842da5839 by Alex Lorenz
[clangd] NFC, reuse the source manager variable in the RawStringLiteral
apply method
Differential Revision: https://reviews.llvm.org/D69544
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/RawStringLiteral.cpp
Commit 901cc4a4bc5257d100338e6c318b96b022d554ee by Adrian Prantl
Debug Info: Nest Objective-C property function decls inside their
container.
This has the nice side-effect of also fixing a crash in Clang.
Starting with DWARF 5 we are emitting ObjC method declarations as
children of their containing entity. This worked for interfaces, but
didn't consider the case of synthessized properties. When a property of
a protocol is synthesized in an interface implementation the
ObjCMethodDecl that was passed to CGF::StartFunction was the property
*declaration* which obviously couldn't have a containing interface. This
patch passes the containing interface all the way through to
CGDebugInfo, so the function declaration can be created with the correct
parent (= the class implementing the protocol).
rdar://problem/53782400
Differential Revision: https://reviews.llvm.org/D66121
The file was addedclang/test/CodeGenObjC/debug-info-objc-property-dwarf5.m
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
Commit 3951245c38ce2bcb4173a99d00278d704fcdeac1 by dblaikie
NVPTX: Don't insert an extra empty line at the end of the last section.
This was arbitrarily appearing in only the last section emitted - which
made tests more sensitive than they needed to be (removing the last
section - like the macinfo section change that's coming after this)
would, surprisingly, move the blank line to the previous section.
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-addr-class.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/cu-range-hole.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-file-loc.ll
Commit 6278fba9b11751b97c6091049341c51226c5b434 by sbc
llvm-ranlib/nm: Don't print usage message except for usage errors
Also, fix a bug in ranlib where it didn't correctly detect being run
without any argument and would try to operate on the empty string.
Differential Revision: https://reviews.llvm.org/D70021
The file was addedllvm/test/tools/llvm-ranlib/bad-usage.test
The file was addedllvm/test/tools/llvm-ranlib/help-message.test
The file was modifiedllvm/test/tools/llvm-ar/invalid-object-file.test
The file was modifiedllvm/tools/llvm-ar/llvm-ar.cpp
Commit 736273c7fe3e88baf548cd555f21eb123f81381d by dblaikie
DebugInfo: Do not create a debug_macinfo section if no CUs have
associated macros
Patch based on Sourabh Singh's D69839 patch.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/test/DebugInfo/X86/empty_macinfo.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-addr-class.ll
The file was modifiedllvm/test/DebugInfo/X86/length_symbol_difference.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-file-loc.ll
The file was modifiedllvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
The file was modifiedllvm/test/MC/WebAssembly/debug-info.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
The file was modifiedllvm/test/DebugInfo/NVPTX/cu-range-hole.ll
Commit db797bfb2bd24e40d8f0ed422fd4087894ed0eab by dblaikie
DebugInfo: Remove redundant conditionals/checks from macro info emission
These checks fall out naturally from the current implementation without
needing to be explicitly considered anymore.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 1478f36f27cfe06c5da75ef11fab2d409f2beafe by Jason Molenda
Test case to verify that lldb falls back to p/P if g is unsupported and
that lldb uses the expedited register values in the ? packet aka stop
packet (T11 etc) and does not re-fetch them with the p packet.
This test is currently failing from the "[lldb-server] Add setting to
force 'g' packet use" commit; I'm marking it as @expectedFailureAll
until we can get this fixed.
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestNoGPacketSupported.py