<feed xmlns='http://www.w3.org/2005/Atom'>
<title>system_core/libbacktrace/backtrace_test.cpp, branch replicant-6.0</title>
<subtitle>system/core
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/'/>
<entry>
<title>Display the map offset for each frame.</title>
<updated>2015-08-20T18:16:54+00:00</updated>
<author>
<name>Christopher Ferris</name>
<email>cferris@google.com</email>
</author>
<published>2015-08-20T18:16:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=e0ab23223a1c3110c9550136b8a119b4c30ec066'/>
<id>e0ab23223a1c3110c9550136b8a119b4c30ec066</id>
<content type='text'>
The dlopen of a shared library in an apk results in large map offsets.
Unfortunately, the current way that the frame data is printed, it's
impossible to tell what the relative pc is relative to. With the
addition of the offset, it's possible to figure out what the relative
pc actually references.

Bug: 23348999
Change-Id: Ia51b669ea3f810158cfd0d71d9ae89bf9a3170d3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The dlopen of a shared library in an apk results in large map offsets.
Unfortunately, the current way that the frame data is printed, it's
impossible to tell what the relative pc is relative to. With the
addition of the offset, it's possible to figure out what the relative
pc actually references.

Bug: 23348999
Change-Id: Ia51b669ea3f810158cfd0d71d9ae89bf9a3170d3
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for elf unwinding in memory.</title>
<updated>2015-05-13T20:44:47+00:00</updated>
<author>
<name>Christopher Ferris</name>
<email>cferris@google.com</email>
</author>
<published>2015-05-08T22:44:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=684fb77c82affca723910e26e8c219c804e00354'/>
<id>684fb77c82affca723910e26e8c219c804e00354</id>
<content type='text'>
Bug: 19517541
(cherry picked from commit 67aba6881d8857d3017e11695207eb2ade45a274)

Change-Id: I914636ccd814e041475b6b2d81119cac1745a9ff
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug: 19517541
(cherry picked from commit 67aba6881d8857d3017e11695207eb2ade45a274)

Change-Id: I914636ccd814e041475b6b2d81119cac1745a9ff
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove libbacktrace definition of gettid.</title>
<updated>2015-05-13T20:44:34+00:00</updated>
<author>
<name>Dan Albert</name>
<email>danalbert@google.com</email>
</author>
<published>2015-04-30T19:52:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=428fad97a0c9c3def1489b16f0257a9cbcfd43f8'/>
<id>428fad97a0c9c3def1489b16f0257a9cbcfd43f8</id>
<content type='text'>
Also simplifies the Darwin implementation of gettid, because
apparently libbacktrace had a better way of doing it.

Bug: 19517541

(cherry picked from commit 23f750b068ddf5b20fb5d153a798b22562368992)

Change-Id: I2f888e8ed7a2f5719973786cbcbb399a81867ee9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also simplifies the Darwin implementation of gettid, because
apparently libbacktrace had a better way of doing it.

Bug: 19517541

(cherry picked from commit 23f750b068ddf5b20fb5d153a798b22562368992)

Change-Id: I2f888e8ed7a2f5719973786cbcbb399a81867ee9
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix small ptrace reads.</title>
<updated>2015-05-07T02:08:52+00:00</updated>
<author>
<name>Christopher Ferris</name>
<email>cferris@google.com</email>
</author>
<published>2015-05-06T23:36:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=8bd4a4ecdc48ead03ca4e90ad585324bcd63b9f0'/>
<id>8bd4a4ecdc48ead03ca4e90ad585324bcd63b9f0</id>
<content type='text'>
The BacktracePtrace::Read function crashes if the number of bytes to
read is less than the number of bytes needed to align the read to
a word_t boundary.

Fix this and add a test for this case.

Change-Id: I50808849ece44928f65dba1d25309e3885c829a2
(cherry picked from commit 944f417ccb86441060ffb670b4bdc2975fda08fc)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The BacktracePtrace::Read function crashes if the number of bytes to
read is less than the number of bytes needed to align the read to
a word_t boundary.

Fix this and add a test for this case.

Change-Id: I50808849ece44928f65dba1d25309e3885c829a2
(cherry picked from commit 944f417ccb86441060ffb670b4bdc2975fda08fc)
</pre>
</div>
</content>
</entry>
<entry>
<title>Add load base to map for relocation packing.</title>
<updated>2015-05-01T23:04:24+00:00</updated>
<author>
<name>Christopher Ferris</name>
<email>cferris@google.com</email>
</author>
<published>2015-05-01T22:02:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=329ed7dae49eba09bdf865dd999d1a7e73bb9687'/>
<id>329ed7dae49eba09bdf865dd999d1a7e73bb9687</id>
<content type='text'>
The new linker relocation packing support uses non-zero load bases,
so we better handle them properly.

Also print out the load base for a map if it's non-zero.

Bug: 20687795
Change-Id: Iec2d1db2051e7b4a278c1dfa57d745128a7f2974
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The new linker relocation packing support uses non-zero load bases,
so we better handle them properly.

Also print out the load base for a map if it's non-zero.

Bug: 20687795
Change-Id: Iec2d1db2051e7b4a278c1dfa57d745128a7f2974
</pre>
</div>
</content>
</entry>
<entry>
<title>Update the test for better output on error.</title>
<updated>2015-04-02T22:36:09+00:00</updated>
<author>
<name>Christopher Ferris</name>
<email>cferris@google.com</email>
</author>
<published>2015-04-02T21:22:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=97e00bb25a016edfd0c7efce90c81d63a357b2e3'/>
<id>97e00bb25a016edfd0c7efce90c81d63a357b2e3</id>
<content type='text'>
Change-Id: Id3b0b96a33441ce5d908aac38e639ac3598a7a89
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Id3b0b96a33441ce5d908aac38e639ac3598a7a89
</pre>
</div>
</content>
</entry>
<entry>
<title>Discards frames for code within library.</title>
<updated>2015-04-01T22:58:20+00:00</updated>
<author>
<name>Christopher Ferris</name>
<email>cferris@google.com</email>
</author>
<published>2015-04-01T00:28:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=ca09ce902c17c2bffc02bfafaf0844204ac13333'/>
<id>ca09ce902c17c2bffc02bfafaf0844204ac13333</id>
<content type='text'>
When doing a local unwind, do not include the frames that come
from either libunwind or libbacktrace.

Bug: 11518609
Change-Id: I0ec8d823aebbfa0903e61b16b7e5663f3fd65e78
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When doing a local unwind, do not include the frames that come
from either libunwind or libbacktrace.

Bug: 11518609
Change-Id: I0ec8d823aebbfa0903e61b16b7e5663f3fd65e78
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor the code.</title>
<updated>2015-03-31T17:51:44+00:00</updated>
<author>
<name>Christopher Ferris</name>
<email>cferris@google.com</email>
</author>
<published>2015-03-27T02:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=2c43cff01d1271be451671567955158629b23670'/>
<id>2c43cff01d1271be451671567955158629b23670</id>
<content type='text'>
The object hierarchy was confusing and convoluted. This removes
a lot of unnecessary code, and consolidates the BacktraceCurrent
and BacktraceThread code into BacktraceCurrent.

Change-Id: I01c8407d493712a48169df49dd3ff46db4a7c3ae
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The object hierarchy was confusing and convoluted. This removes
a lot of unnecessary code, and consolidates the BacktraceCurrent
and BacktraceThread code into BacktraceCurrent.

Change-Id: I01c8407d493712a48169df49dd3ff46db4a7c3ae
</pre>
</div>
</content>
</entry>
<entry>
<title>Add variable length read to Backtrace.</title>
<updated>2015-03-17T21:56:02+00:00</updated>
<author>
<name>Christopher Ferris</name>
<email>cferris@google.com</email>
</author>
<published>2015-03-17T21:42:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=2b4a63fc6a4bfc6db69901258539276b888c7ec4'/>
<id>2b4a63fc6a4bfc6db69901258539276b888c7ec4</id>
<content type='text'>
Included tests for this new feature.

Changed the NULLs to nullptr in backtrace_test.

Changed UniquePtr to std::unique_ptr in backtrace_test.

Change-Id: I92375465b8f8ba84589834cc162db5915bf1be81
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Included tests for this new feature.

Changed the NULLs to nullptr in backtrace_test.

Changed UniquePtr to std::unique_ptr in backtrace_test.

Change-Id: I92375465b8f8ba84589834cc162db5915bf1be81
</pre>
</div>
</content>
</entry>
<entry>
<title>Move map data into backtrace data proper.</title>
<updated>2015-02-06T23:00:09+00:00</updated>
<author>
<name>Christopher Ferris</name>
<email>cferris@google.com</email>
</author>
<published>2015-02-06T21:22:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=12385e3ad085aa1ac06c26529b32b688503a9fcf'/>
<id>12385e3ad085aa1ac06c26529b32b688503a9fcf</id>
<content type='text'>
The backtrace structure used to include a pointer to a backtrace_map_t
that represented the map data for a particular pc. This introduced a
race condition where the pointer could be discarded, but the backtrace
structure still contained a pointer to garbage memory. Now all of the map
information is right in the structure.

Bug: 19028453
Change-Id: If7088a73f3c6bf1f3bc8cdd2bb4b62e7cab831c0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The backtrace structure used to include a pointer to a backtrace_map_t
that represented the map data for a particular pc. This introduced a
race condition where the pointer could be discarded, but the backtrace
structure still contained a pointer to garbage memory. Now all of the map
information is right in the structure.

Bug: 19028453
Change-Id: If7088a73f3c6bf1f3bc8cdd2bb4b62e7cab831c0
</pre>
</div>
</content>
</entry>
</feed>
