<feed xmlns='http://www.w3.org/2005/Atom'>
<title>platform_external_libunwind_llvm/src, 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>[libunwind] Remove the remote unwinding support</title>
<updated>2019-02-02T20:54:03+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@chromium.org</email>
</author>
<published>2019-02-02T20:54:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=007947db31faa42a66575319353f7de91a79aaad'/>
<id>007947db31faa42a66575319353f7de91a79aaad</id>
<content type='text'>
This is unfinished, unused and incomplete. This could be brought back in
the future if there's a desire to build a more complete implementation,
but at the moment it's just bitrotting.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352965 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is unfinished, unused and incomplete. This could be brought back in
the future if there's a desire to build a more complete implementation,
but at the moment it's just bitrotting.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352965 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>[CMake] Use correct visibility for linked libraries in CMake</title>
<updated>2019-01-30T23:18:05+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@chromium.org</email>
</author>
<published>2019-01-30T23:18:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=28438a8c777e2b803918d7c738e90470f60387fe'/>
<id>28438a8c777e2b803918d7c738e90470f60387fe</id>
<content type='text'>
When linking library dependencies, we shouldn't need to export linked
libraries to dependents. We should be explicit about this in
target_link_libraries, otherwise other targets that depend on these such
as sanitizers get repeated (and possibly even conflicting) dependencies.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352688 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When linking library dependencies, we shouldn't need to export linked
libraries to dependents. We should be explicit about this in
target_link_libraries, otherwise other targets that depend on these such
as sanitizers get repeated (and possibly even conflicting) dependencies.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352688 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[CMake] Use correct visibility for linked libraries in CMake"</title>
<updated>2019-01-30T19:51:18+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@chromium.org</email>
</author>
<published>2019-01-30T19:51:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=6020f994d6168b5f3257baa12b0d63a8b83eebac'/>
<id>6020f994d6168b5f3257baa12b0d63a8b83eebac</id>
<content type='text'>
This reverts commit r352654: this broke libcxx and sanitizer bots.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352658 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit r352654: this broke libcxx and sanitizer bots.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352658 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>[CMake] Use correct visibility for linked libraries in CMake</title>
<updated>2019-01-30T19:27:26+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@chromium.org</email>
</author>
<published>2019-01-30T19:27:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=cc9b74865550d486c201ba9001683cda5ffe41fe'/>
<id>cc9b74865550d486c201ba9001683cda5ffe41fe</id>
<content type='text'>
When linking library dependencies, we shouldn't need to export linked
libraries to dependents. We should be explicit about this in
target_link_libraries, otherwise other targets that depend on these such
as sanitizers get repeated (and possibly even conflicting) dependencies.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352654 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When linking library dependencies, we shouldn't need to export linked
libraries to dependents. We should be explicit about this in
target_link_libraries, otherwise other targets that depend on these such
as sanitizers get repeated (and possibly even conflicting) dependencies.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352654 91177308-0d34-0410-b5e6-96231b3b80d8
</pre>
</div>
</content>
</entry>
<entry>
<title>[libunwind] Support building hermetic static library</title>
<updated>2019-01-29T23:01:08+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@chromium.org</email>
</author>
<published>2019-01-29T23:01:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=df9c0cfd896524ae16dd7283cdf722f300c2b45d'/>
<id>df9c0cfd896524ae16dd7283cdf722f300c2b45d</id>
<content type='text'>
This is useful when the static libunwind library is being linked into
shared libraries that may be used in with other shared libraries that
use different unwinder. We want to avoid avoid exporting libunwind
symbols in those cases. This achieved by a new CMake option which can be
enabled by libunwind vendors as needed.

The same CMake option has already been added to libc++ and libc++abi in
D55404 and D56026.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352559 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is useful when the static libunwind library is being linked into
shared libraries that may be used in with other shared libraries that
use different unwinder. We want to avoid avoid exporting libunwind
symbols in those cases. This achieved by a new CMake option which can be
enabled by libunwind vendors as needed.

The same CMake option has already been added to libc++ and libc++abi in
D55404 and D56026.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352559 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>Don't define unw_fpreg_t to uint64_t for __ARM_DWARF_EH__</title>
<updated>2019-01-29T09:00:32+00:00</updated>
<author>
<name>Martin Storsjo</name>
<email>martin@martin.st</email>
</author>
<published>2019-01-29T09:00:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libunwind_llvm/commit/?id=96cba43a80a5c327279e6ae0b82401acb29bcbc8'/>
<id>96cba43a80a5c327279e6ae0b82401acb29bcbc8</id>
<content type='text'>
The existing typedef of unw_fpreg_t to uint64_t might work and be
correct for the ARM_EHABI case, but for dwarf, some cases in e.g.
DwarfInstructions.hpp convert between double and unw_fpreg_t.

When converting implicitly between double and unw_fpreg_t (uint64_t),
the values get interpreted as integers and converted to float and vice
versa, while the correct thing would be to keep the same bit pattern.

Avoid the whole issue by using the same definition of unw_fpreg_t
as all other architectures, when using dwarf unwinding on ARM.

Change assembler functions to take a void pointer instead of
unw_fpreg_t pointer, to avoid having a different mangled symbol name
depending on the actual value of this typedef.

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

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@352461 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The existing typedef of unw_fpreg_t to uint64_t might work and be
correct for the ARM_EHABI case, but for dwarf, some cases in e.g.
DwarfInstructions.hpp convert between double and unw_fpreg_t.

When converting implicitly between double and unw_fpreg_t (uint64_t),
the values get interpreted as integers and converted to float and vice
versa, while the correct thing would be to keep the same bit pattern.

Avoid the whole issue by using the same definition of unw_fpreg_t
as all other architectures, when using dwarf unwinding on ARM.

Change assembler functions to take a void pointer instead of
unw_fpreg_t pointer, to avoid having a different mangled symbol name
depending on the actual value of this typedef.

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

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