<feed xmlns='http://www.w3.org/2005/Atom'>
<title>platform_external_libunwind_llvm/src/UnwindCursor.hpp, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/'/>
<entry>
<title>[UPSTREAM][libunwind][Android] Fix findUnwindSections for ARM EHABI Bionic</title>
<updated>2019-10-18T20:12:50+00:00</updated>
<author>
<name>Ryan Prichard</name>
<email>rprichard@google.com</email>
</author>
<published>2019-10-18T20:12:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=2d1e9b81f0259d1ab404d13dd4c60d8e576f348b'/>
<id>2d1e9b81f0259d1ab404d13dd4c60d8e576f348b</id>
<content type='text'>
Summary:
Fix the arm_section_length count. The meaning of the arm_section_length
field changed from num-of-elements to num-of-bytes when the
dl_unwind_find_exidx special case was removed (D30306 and D30681). The
special case was restored in D39468, but that patch didn't account for the
change in arm_section_length's meaning.

That patch worked when it was applied to the NDK's fork of libunwind,
because it never removed the special case in the first place, and the
special case is probably disabled in the Android platform's copy of
libunwind, because __ANDROID_API__ is greater than 21.

Turn the dl_unwind_find_exidx special case on unconditionally for Bionic.
Bionic's dl_unwind_find_exidx is much faster than using dl_iterate_phdr.
(e.g. Bionic stores exidx info on an internal soinfo object.)

Reviewers: thomasanderson, srhines, danalbert, ed, keith.walker.arm, mclow.lists, compnerd

Reviewed By: srhines, danalbert

Subscribers: srhines, kristof.beyls, christof, libcxx-commits

Tags: #libc

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

llvm-svn: 375275

Bug: none
Test: verify that an exception can be thrown/caught
Change-Id: I503caa5a30a5164f6021b8b5109bd647596d2d96
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Fix the arm_section_length count. The meaning of the arm_section_length
field changed from num-of-elements to num-of-bytes when the
dl_unwind_find_exidx special case was removed (D30306 and D30681). The
special case was restored in D39468, but that patch didn't account for the
change in arm_section_length's meaning.

That patch worked when it was applied to the NDK's fork of libunwind,
because it never removed the special case in the first place, and the
special case is probably disabled in the Android platform's copy of
libunwind, because __ANDROID_API__ is greater than 21.

Turn the dl_unwind_find_exidx special case on unconditionally for Bionic.
Bionic's dl_unwind_find_exidx is much faster than using dl_iterate_phdr.
(e.g. Bionic stores exidx info on an internal soinfo object.)

Reviewers: thomasanderson, srhines, danalbert, ed, keith.walker.arm, mclow.lists, compnerd

Reviewed By: srhines, danalbert

Subscribers: srhines, kristof.beyls, christof, libcxx-commits

Tags: #libc

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

llvm-svn: 375275

Bug: none
Test: verify that an exception can be thrown/caught
Change-Id: I503caa5a30a5164f6021b8b5109bd647596d2d96
</pre>
</div>
</content>
</entry>
<entry>
<title>Provide a placement new definition for the SEH version of UnwindCursor</title>
<updated>2019-02-03T22:16:53+00:00</updated>
<author>
<name>Martin Storsjo</name>
<email>martin@martin.st</email>
</author>
<published>2019-02-03T22:16:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=8ee1c59ffa3c4e2635817f65894f4250cf7abf8f'/>
<id>8ee1c59ffa3c4e2635817f65894f4250cf7abf8f</id>
<content type='text'>
This fixes compilation after SVN r352966 in SEH mode.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@353010 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes compilation after SVN r352966 in SEH mode.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@353010 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>[libunwind] Provide placement new definition</title>
<updated>2019-02-02T21:15:49+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@chromium.org</email>
</author>
<published>2019-02-02T21:15:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=57c06d628fd8ff0ab1ef688492ce669145ad6657'/>
<id>57c06d628fd8ff0ab1ef688492ce669145ad6657</id>
<content type='text'>
While Clang automatically generates the code for placement new,
g++ doesn't do that so we need to provide our own definition.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352966 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While Clang automatically generates the code for placement new,
g++ doesn't do that so we need to provide our own definition.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352966 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>Drop the dependency on &lt;algorithm&gt;, add placement new inline</title>
<updated>2019-01-29T22:26:18+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@chromium.org</email>
</author>
<published>2019-01-29T22:26:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=3aa86fb7e2ba9dd48877fd5414422d268527a821'/>
<id>3aa86fb7e2ba9dd48877fd5414422d268527a821</id>
<content type='text'>
We haven't eliminated C++ library dependency altogether in D57251,
UnwindCursor.hpp had an unused dependency on &lt;algorithm&gt; which was
pulling in other C++ headers. Removing that dependency also revealed
(correctly) that we need our own global placement new declaration. Now
libunwind should be independent of the C++ library.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352553 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We haven't eliminated C++ library dependency altogether in D57251,
UnwindCursor.hpp had an unused dependency on &lt;algorithm&gt; which was
pulling in other C++ headers. Removing that dependency also revealed
(correctly) that we need our own global placement new declaration. Now
libunwind should be independent of the C++ library.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352553 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[libunwind] Drop the dependency on &lt;algorithm&gt;, add placement new inline"</title>
<updated>2019-01-28T20:55:12+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@chromium.org</email>
</author>
<published>2019-01-28T20:55:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=30f218dfaeadd4c39d4b0524a9c4300c5cbf7452'/>
<id>30f218dfaeadd4c39d4b0524a9c4300c5cbf7452</id>
<content type='text'>
This reverts commit r352384: this broke on ARM as UnwindCursor.hpp
still has some C++ library dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352427 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit r352384: this broke on ARM as UnwindCursor.hpp
still has some C++ library dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352427 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>[libunwind] Drop the dependency on &lt;algorithm&gt;, add placement new inline</title>
<updated>2019-01-28T16:44:56+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@chromium.org</email>
</author>
<published>2019-01-28T16:44:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=e050272d2eb57eb4e56a37b429a61df2ebb8aa3e'/>
<id>e050272d2eb57eb4e56a37b429a61df2ebb8aa3e</id>
<content type='text'>
We haven't eliminated C++ library dependency altogether in D57251,
UnwindCursor.hpp had an unused dependency on &lt;algorithm&gt; which was
pulling in other C++ headers. Removing that dependency also revealed
(correctly) that we need our own global placement new declaration. Now
libunwind should be independent of the C++ library.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352384 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We haven't eliminated C++ library dependency altogether in D57251,
UnwindCursor.hpp had an unused dependency on &lt;algorithm&gt; which was
pulling in other C++ headers. Removing that dependency also revealed
(correctly) that we need our own global placement new declaration. Now
libunwind should be independent of the C++ library.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352384 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>Silence warnings about unused parameters</title>
<updated>2019-01-22T22:12:23+00:00</updated>
<author>
<name>Martin Storsjo</name>
<email>martin@martin.st</email>
</author>
<published>2019-01-22T22:12:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=0b120ac0f95887bc81d9fee9beeda1addca009a3'/>
<id>0b120ac0f95887bc81d9fee9beeda1addca009a3</id>
<content type='text'>
Differential Revision: https://reviews.llvm.org/D56984

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@351888 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Differential Revision: https://reviews.llvm.org/D56984

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@351888 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>Update more file headers across all of the LLVM projects in the monorepo</title>
<updated>2019-01-19T10:56:40+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2019-01-19T10:56:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=b81a942366992939d370b65d3d1b8def90c50b60'/>
<id>b81a942366992939d370b65d3d1b8def90c50b60</id>
<content type='text'>
to reflect the new license. These used slightly different spellings that
defeated my regular expressions.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@351648 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to reflect the new license. These used slightly different spellings that
defeated my regular expressions.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@351648 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>[Sparc] Add Sparc V8 support</title>
<updated>2019-01-14T10:15:20+00:00</updated>
<author>
<name>Daniel Cederman</name>
<email>cederman@gaisler.com</email>
</author>
<published>2019-01-14T10:15:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=3847b163eaeb7c7e537d1579f05ac79c4a88ec87'/>
<id>3847b163eaeb7c7e537d1579f05ac79c4a88ec87</id>
<content type='text'>
Summary:
Adds the register class implementation for Sparc.
Adds support for DW_CFA_GNU_window_save.
Adds save and restore context functionality.

Adds getArch() function to each Registers_ class to be able to separate
between DW_CFA_AARCH64_negate_ra_state and DW_CFA_GNU_window_save which
are both represented by the same constant.

On Sparc the return address is the address of the call instruction, so
an offset needs to be added when returning to skip the call instruction
and its delay slot. If the function returns a struct it is also necessary
to skip one extra instruction on Sparc V8.

Reviewers: jyknight, mclow.lists, mstorsjo, compnerd

Reviewed By: jyknight, compnerd

Subscribers: jgorbe, mgorny, christof, llvm-commits, fedor.sergeev, JDevlieghere, ldionne, libcxx-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@351044 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Adds the register class implementation for Sparc.
Adds support for DW_CFA_GNU_window_save.
Adds save and restore context functionality.

Adds getArch() function to each Registers_ class to be able to separate
between DW_CFA_AARCH64_negate_ra_state and DW_CFA_GNU_window_save which
are both represented by the same constant.

On Sparc the return address is the address of the call instruction, so
an offset needs to be added when returning to skip the call instruction
and its delay slot. If the function returns a struct it is also necessary
to skip one extra instruction on Sparc V8.

Reviewers: jyknight, mclow.lists, mstorsjo, compnerd

Reviewed By: jyknight, compnerd

Subscribers: jgorbe, mgorny, christof, llvm-commits, fedor.sergeev, JDevlieghere, ldionne, libcxx-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@351044 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[Sparc] Add Sparc V8 support"</title>
<updated>2019-01-10T01:08:31+00:00</updated>
<author>
<name>Jorge Gorbe Moya</name>
<email>jgorbe@google.com</email>
</author>
<published>2019-01-10T01:08:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=ab2407aee5df3adf5d09d8ae7f39b7df95c7dff4'/>
<id>ab2407aee5df3adf5d09d8ae7f39b7df95c7dff4</id>
<content type='text'>
This reverts commit r350705.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@350787 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit r350705.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@350787 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
</feed>
