<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/lldb/test/Shell/SymbolFile, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2020-01-14T14:19:29+00:00</updated>
<entry>
<title>[lldb/DWARF] Move location list sections into DWARFContext</title>
<updated>2020-01-14T14:19:29+00:00</updated>
<author>
<name>Pavel Labath</name>
<email>pavel@labath.sk</email>
</author>
<published>2019-12-23T15:31:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4b5bc38802dcc7d2c6d7f5af1eca1755bd0fd9cb'/>
<id>urn:sha1:4b5bc38802dcc7d2c6d7f5af1eca1755bd0fd9cb</id>
<content type='text'>
These are the last sections not managed by the DWARFContext object. I
also introduce separate SectionType enums for dwo section variants, as
this is necessary for proper handling of single-file split dwarf.
</content>
</entry>
<entry>
<title>Expression eval lookup speedup by not returning methods in ManualDWARFIndex::GetFunctions</title>
<updated>2020-01-14T13:59:56+00:00</updated>
<author>
<name>Levon Ter-Grigoryan</name>
<email>patriosthegreat@protonmail.ch</email>
</author>
<published>2020-01-14T13:33:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a705cf1acbe94498f7fcca4e89be6d4820271227'/>
<id>urn:sha1:a705cf1acbe94498f7fcca4e89be6d4820271227</id>
<content type='text'>
Summary:
This change is connected with
https://reviews.llvm.org/D69843

In large codebases, we sometimes see Module::FindFunctions (when called from
ClangExpressionDeclMap::FindExternalVisibleDecls) returning huge amounts of
functions.

In current fix I trying to return only function_fullnames from ManualDWARFIndex::GetFunctions when eFunctionNameTypeFull is passed as argument.

Reviewers: labath, jarin, aprantl

Reviewed By: labath

Subscribers: shafik, clayborg, teemperor, arphaman, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D70846
</content>
</entry>
<entry>
<title>[lldb] Fix lookup of symbols with the same address range but different binding</title>
<updated>2020-01-13T11:05:26+00:00</updated>
<author>
<name>Jan Kratochvil</name>
<email>jan.kratochvil@redhat.com</email>
</author>
<published>2020-01-13T11:03:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=bf7225888a99f49afac0b95a8996d0a942b6b0e3'/>
<id>urn:sha1:bf7225888a99f49afac0b95a8996d0a942b6b0e3</id>
<content type='text'>
This fixes a failing testcase on Fedora 30 x86_64 (regression Fedora 29-&gt;30):

PASS:
./bin/lldb ./lldb-test-build.noindex/functionalities/unwind/noreturn/TestNoreturnUnwind.test_dwarf/a.out -o 'settings set symbols.enable-external-lookup false' -o r -o bt -o quit
  * frame #0: 0x00007ffff7aa6e75 libc.so.6`__GI_raise + 325
    frame #1: 0x00007ffff7a91895 libc.so.6`__GI_abort + 295
    frame #2: 0x0000000000401140 a.out`func_c at main.c:12:2
    frame #3: 0x000000000040113a a.out`func_b at main.c:18:2
    frame #4: 0x0000000000401134 a.out`func_a at main.c:26:2
    frame #5: 0x000000000040112e a.out`main(argc=&lt;unavailable&gt;, argv=&lt;unavailable&gt;) at main.c:32:2
    frame #6: 0x00007ffff7a92f33 libc.so.6`__libc_start_main + 243
    frame #7: 0x000000000040106e a.out`_start + 46

vs.

FAIL - unrecognized abort() function:
./bin/lldb ./lldb-test-build.noindex/functionalities/unwind/noreturn/TestNoreturnUnwind.test_dwarf/a.out -o 'settings set symbols.enable-external-lookup false' -o r -o bt -o quit
  * frame #0: 0x00007ffff7aa6e75 libc.so.6`.annobin_raise.c + 325
    frame #1: 0x00007ffff7a91895 libc.so.6`.annobin_loadmsgcat.c_end.unlikely + 295
    frame #2: 0x0000000000401140 a.out`func_c at main.c:12:2
    frame #3: 0x000000000040113a a.out`func_b at main.c:18:2
    frame #4: 0x0000000000401134 a.out`func_a at main.c:26:2
    frame #5: 0x000000000040112e a.out`main(argc=&lt;unavailable&gt;, argv=&lt;unavailable&gt;) at main.c:32:2
    frame #6: 0x00007ffff7a92f33 libc.so.6`.annobin_libc_start.c + 243
    frame #7: 0x000000000040106e a.out`.annobin_init.c.hot + 46

The extra ELF symbols are there due to Annobin (I did not investigate why this
problem happened specifically since F-30 and not since F-28).

It is due to:

Symbol table '.dynsym' contains 2361 entries:
Valu e          Size Type   Bind   Vis     Name
0000000000022769   5 FUNC   LOCAL  DEFAULT _nl_load_domain.cold
000000000002276e   0 NOTYPE LOCAL  HIDDEN  .annobin_abort.c.unlikely
...
000000000002276e   0 NOTYPE LOCAL  HIDDEN  .annobin_loadmsgcat.c_end.unlikely
...
000000000002276e   0 NOTYPE LOCAL  HIDDEN  .annobin_textdomain.c_end.unlikely
000000000002276e 548 FUNC   GLOBAL DEFAULT abort
000000000002276e 548 FUNC   GLOBAL DEFAULT abort@@GLIBC_2.2.5
000000000002276e 548 FUNC   LOCAL  DEFAULT __GI_abort
0000000000022992   0 NOTYPE LOCAL  HIDDEN  .annobin_abort.c_end.unlikely

GDB has some more complicated preferences between overlapping and/or sharing
address symbols, I have made here so far the most simple fix for this case.

Differential revision: https://reviews.llvm.org/D63540
</content>
</entry>
<entry>
<title>[lldb/DWARF] Fix mixed v4+v5 location lists</title>
<updated>2020-01-09T12:19:29+00:00</updated>
<author>
<name>Pavel Labath</name>
<email>pavel@labath.sk</email>
</author>
<published>2019-12-20T08:42:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=cd5da94d80b2b0f2bdb2d0157e24705a4cbd2a4e'/>
<id>urn:sha1:cd5da94d80b2b0f2bdb2d0157e24705a4cbd2a4e</id>
<content type='text'>
Summary:
Our code was expecting that a single (symbol) file contains only one
kind of location lists. This is not correct (on non-apple platforms, at
least) as a file can compile units with different dwarf versions.

This patch moves the deteremination of location list flavour down to the
compile unit level, fixing this problem. I have also tried to rougly
align the code with the llvm DWARFUnit. Fully matching the API is not
possible because of how lldb's DWARFExpression lives separately from the
rest of the DWARF code, but this is at least a step in the right
direction.

Reviewers: JDevlieghere, aprantl, clayborg

Subscribers: dblaikie, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D71751
</content>
</entry>
<entry>
<title>[lldb/DWARF] Fix hostname-stripping logic</title>
<updated>2019-12-23T13:54:22+00:00</updated>
<author>
<name>Pavel Labath</name>
<email>pavel@labath.sk</email>
</author>
<published>2019-12-23T13:33:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=46f02fc922e053006e34d860e9efaf29c88d8ba3'/>
<id>urn:sha1:46f02fc922e053006e34d860e9efaf29c88d8ba3</id>
<content type='text'>
This bit of code is trying to strip everything up to the first colon
from all debug info paths, as dwarf2 recommends this syntax for storing
the compilation host name. However, this code was too eager, and it
ended up stripping the entire compilation directory, if it did not
contain a forward slash (or a "x:\").

Normally this does not matter, as all absolute paths will contain one of
these patterns, but this does not have to be the case in case the debug
info is produced by "clang -fdebug-compilation-dir", which can end up
producing a relative compilation directory with no slashes (this is one
of the techniques for producing "relocatable" debug info).
</content>
</entry>
<entry>
<title>[lldb/test] Update !DIModule for isysroot rename</title>
<updated>2019-12-21T05:11:50+00:00</updated>
<author>
<name>Jonas Devlieghere</name>
<email>jonas@devlieghere.com</email>
</author>
<published>2019-12-21T05:10:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=3fa39c3a79a3b1a88d2da0b3992089e9134fb87f'/>
<id>urn:sha1:3fa39c3a79a3b1a88d2da0b3992089e9134fb87f</id>
<content type='text'>
The isysroot field in DIModule was renamed to sysroot but the test in
LLDB wasn't updated. This fixes that.
</content>
</entry>
<entry>
<title>[lldb] Fix test using lld on non-linux systems</title>
<updated>2019-12-20T12:27:40+00:00</updated>
<author>
<name>Johannes Altmanninger</name>
<email>aclopte@gmail.com</email>
</author>
<published>2019-12-20T12:25:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=04329dbfa6c219997ab72567842d81778f9f7f47'/>
<id>urn:sha1:04329dbfa6c219997ab72567842d81778f9f7f47</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[LLDB] Fix address computation for inline function</title>
<updated>2019-12-20T08:04:45+00:00</updated>
<author>
<name>Johannes Altmanninger</name>
<email>aclopte@gmail.com</email>
</author>
<published>2019-11-27T21:48:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=92211bf0f15ba46b5eeb88b7ea580ff539dcdd4e'/>
<id>urn:sha1:92211bf0f15ba46b5eeb88b7ea580ff539dcdd4e</id>
<content type='text'>
Summary:
Fixes PR41237 - SIGSEGV on call expression evaluation when debugging clang

When linking multiple compilation units that define the same functions,
the functions is merged but their debug info is not. This ignores debug
info entries for functions in a non-executable sections; those are
functions that were definitely dropped by the linker.

Reviewers: spyffe, clayborg, jasonmolenda

Reviewed By: clayborg

Subscribers: labath, aprantl, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D71487
</content>
</entry>
<entry>
<title>[lldb/DWARF] Fix v5 location lists for dwo files</title>
<updated>2019-12-12T14:28:11+00:00</updated>
<author>
<name>Pavel Labath</name>
<email>pavel@labath.sk</email>
</author>
<published>2019-11-25T13:03:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6ce1a897b6a82e18059fd3b75b8d52ff12c2a605'/>
<id>urn:sha1:6ce1a897b6a82e18059fd3b75b8d52ff12c2a605</id>
<content type='text'>
Dwo files don't have a DW_AT_loclists_base -- set one explicitly. Also,
make sure we use the correct location list flavour for v5.
</content>
</entry>
<entry>
<title>[lldb] "See through" atomic types in ClangASTContext</title>
<updated>2019-12-12T10:45:03+00:00</updated>
<author>
<name>Pavel Labath</name>
<email>pavel@labath.sk</email>
</author>
<published>2019-12-09T17:24:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d6d36ae4a052e9fefd2926005a69f6cebfa5832b'/>
<id>urn:sha1:d6d36ae4a052e9fefd2926005a69f6cebfa5832b</id>
<content type='text'>
Summary:
This enables us to display the contents of atomic structs. Calling the
removal of _Atomic "desugaring" is not fully correct as it does more
than remove sugar, but it is the right thing to do for most of the
things that we care about. We can change this back once we decide to
support atomic types more comprehensively.

Reviewers: teemperor, shafik

Subscribers: jfb, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D71262
</content>
</entry>
</feed>
