Reapply r160148 (reverted in r163570) fixing spurious breakpoints in modern GDB
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 4 Dec 2012 21:05:36 +0000 (21:05 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 4 Dec 2012 21:05:36 +0000 (21:05 +0000)
commit5a773bb601e782749e909c613bd53a1108abaa8d
tree6f5fededb83f7cfbf5dd72e0010aa600acac4722
parent61bd3a1dc612af9bde0765f9f4e6c2847554d2ac
Reapply r160148 (reverted in r163570) fixing spurious breakpoints in modern GDB

This reapplies the fix for PR13303 now with more justification. Based on my
execution of the GDB 7.5 test suite this results in:

expected passes: 16101 -> 20890 (+30%)
unexpected failures: 4826 -> 637 (-77%)

There are 23 checks that used to pass and now fail. They are all in
gdb.reverse. Investigating a few looks like they were accidentally passing
due to extra breakpoints being set by this bug. They're generally due to the
difference in end location between gcc and clang, the test suite is trying to
set breakpoints on the closing '}' that clang doesn't associate with any
instructions.

llvm-svn: 169304
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/test/DebugInfo/X86/pr13303.ll [new file with mode: 0644]