<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/lldb/source/Plugins/ObjectFile/PECOFF, 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-05-19T01:24:44+00:00</updated>
<entry>
<title>[lldb] [PECOFF] Only use PECallFrameInfo on the one supported architecture</title>
<updated>2020-05-19T01:24:44+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2020-03-28T23:33:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=aba4e3fa3bd0aad13168f2f6e8f1874f9a0fdb57'/>
<id>urn:sha1:aba4e3fa3bd0aad13168f2f6e8f1874f9a0fdb57</id>
<content type='text'>
The RuntimeFunction struct, which PECallFrameInfo interprets, has a
different layout and differnet semantics on all architectures.

Differential Revision: https://reviews.llvm.org/D77000

(cherry picked from commit aa786b881fc89a2a9883bff77912f2053126f95b)
</content>
</entry>
<entry>
<title>[LLDB] [PECOFF] Make sure to set the address byte size in m_data after parsing headers</title>
<updated>2019-12-10T11:55:38+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2019-12-06T11:25:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a0f72441c8980c0d68c52f4e789a8c61dc4fd2e7'/>
<id>urn:sha1:a0f72441c8980c0d68c52f4e789a8c61dc4fd2e7</id>
<content type='text'>
If not set, the address byte size was implied to be the one of the
host process.

This allows reverting the functional change from 31087b2ae9154, since
now PECOFF does the same as ELF and MachO wrt setting both byte order
and address size on m_data within ParseHeader.

Differential Revision: https://reviews.llvm.org/D71108
</content>
</entry>
<entry>
<title>[lldb] Remove FileSpec(FileSpec*) constructor</title>
<updated>2019-12-04T09:49:25+00:00</updated>
<author>
<name>Pavel Labath</name>
<email>pavel@labath.sk</email>
</author>
<published>2019-11-28T16:02:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=28e4942b2c3b8961b91b362b4b76b9ca0f735cc2'/>
<id>urn:sha1:28e4942b2c3b8961b91b362b4b76b9ca0f735cc2</id>
<content type='text'>
This constructor was the cause of some pretty weird behavior. Remove it,
and update all code to properly dereference the argument instead.
</content>
</entry>
<entry>
<title>[LLDB] [PECOFF] Look for the truncated ".eh_fram" section name</title>
<updated>2019-11-28T09:27:00+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2019-10-15T21:01:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=934c025e9bdd28db544dfd57783d0fb8907a92d3'/>
<id>urn:sha1:934c025e9bdd28db544dfd57783d0fb8907a92d3</id>
<content type='text'>
COFF section names can either be stored truncated to 8 chars, in the
section header, or as a longer section name, stored separately in the
string table.

libunwind locates the .eh_frame section by runtime introspection,
which only works for section names stored in the section header (as
the string table isn't mapped at runtime). To support this behaviour,
lld always truncates the section names for sections that will be
mapped, like .eh_frame.

Differential Revision: https://reviews.llvm.org/D70745
</content>
</entry>
<entry>
<title>[LLDB] [PECOFF] Factorize mapping section names to types using StringSwitch. NFCI.</title>
<updated>2019-11-28T09:27:00+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2019-11-27T12:08:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2e5bb6d8d944767aa777e70dda8e4ce2f600d2f2'/>
<id>urn:sha1:2e5bb6d8d944767aa777e70dda8e4ce2f600d2f2</id>
<content type='text'>
Keep the existing special cases based on combinations of section name,
flags and sizes/offsets.

Differential Revision: https://reviews.llvm.org/D70778
</content>
</entry>
<entry>
<title>[LLDB] [PECOFF] Fix error handling for executables that object::createBinary errors out on</title>
<updated>2019-10-31T09:26:21+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2019-10-30T21:57:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=3db1d138b1172b5855f35ab74dbf3bf327f517d2'/>
<id>urn:sha1:3db1d138b1172b5855f35ab74dbf3bf327f517d2</id>
<content type='text'>
llvm::object::createBinary returns an Expected&lt;&gt;, which requires
not only checking the object for success, but also requires consuming
the Error, if one was set.

Use LLDB_LOG_ERROR for this case, and change an existing similar log
statement to use it as well, to make sure the Error is consumed even
if the log channel is disabled.

Differential Revision: https://reviews.llvm.org/D69646
</content>
</entry>
<entry>
<title>[LLDB] [PECOFF] Don't crash in ReadImageDataByRVA for addresses out of range</title>
<updated>2019-10-31T09:26:06+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2019-10-28T08:09:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7e1a3076419d4d453d71143a1e81409ea1db177c'/>
<id>urn:sha1:7e1a3076419d4d453d71143a1e81409ea1db177c</id>
<content type='text'>
This can happen e.g. when unwinding doesn't work perfectly.

Differential Revision: https://reviews.llvm.org/D69502
</content>
</entry>
<entry>
<title>COFF: Set section permissions</title>
<updated>2019-10-30T13:13:21+00:00</updated>
<author>
<name>Pavel Labath</name>
<email>pavel@labath.sk</email>
</author>
<published>2019-10-16T15:16:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f1e0ae3420b6cd554a240274c5ec77ccc4392ad3'/>
<id>urn:sha1:f1e0ae3420b6cd554a240274c5ec77ccc4392ad3</id>
<content type='text'>
Summary:
This enables us to reason about whether a given address can be
executable, for instance during unwinding.

Reviewers: amccarth, mstorsjo

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D69102
</content>
</entry>
<entry>
<title>[LLDB] [PECOFF] Use FindSectionByID to associate symbols to sections</title>
<updated>2019-10-29T12:48:35+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2019-10-21T06:26:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4394b5bee615a8c0d1703261204a5bd53d0d54ce'/>
<id>urn:sha1:4394b5bee615a8c0d1703261204a5bd53d0d54ce</id>
<content type='text'>
The virtual container/header section caused the section list to be
offset by one, but by using FindSectionByID, the layout of the
section list shouldn't matter.

Differential Revision: https://reviews.llvm.org/D69366
</content>
</entry>
<entry>
<title>lldb/COFF: Create a separate "section" for the file header</title>
<updated>2019-10-25T22:11:53+00:00</updated>
<author>
<name>Pavel Labath</name>
<email>labath@google.com</email>
</author>
<published>2019-10-25T21:44:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=73a7a55c0ec976fecadd7a872d24d850f8cd793a'/>
<id>urn:sha1:73a7a55c0ec976fecadd7a872d24d850f8cd793a</id>
<content type='text'>
In an attempt to ensure that every part of the module's memory image is
accounted for, D56537 created a special "container section" spanning the
entire image. While that seemed reasonable at the time (and it still
mostly does), it did create a problem of what to put as the "file size"
of the section, because the image is not continuous on disk, as we
generally assume (which is why I put zero there). Additionally, this
arrangement makes it unclear what kind of permissions should be assigned
to that section (which is what my next patch does).

To get around these, this patch partially reverts D56537, and goes back
to top-level sections. Instead, what I do is create a new "section" for
the object file header, which is also being loaded into memory, though
its not considered to be a section in the strictest sense. This makes it
possible to correctly assign file size section, and we can later assign
permissions to it as well.

Reviewers: amccarth, mstorsjo

Subscribers: lldb-commits

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