History log of /art/test/137-cfi/src/Main.java
Revision Date Author Comments
02742409f5ce9a2b452fbb810f476b6c1c256143 04-Mar-2016 David Srbecky <dsrbecky@google.com> Re-enable CFI test for compressed symbols.

This enables the test for remote unwinding (modelling debuggerd),
but it does not test local unwinding since it is disabled for
performance reasons in libunwind.

Bug: 27391690
Change-Id: I28451576c421bbd70259d757332a178f29bf3646
03bf174e41488879ad5a7a74896669b7431ad31a 15-Feb-2016 David Srbecky <dsrbecky@google.com> Let the CFI test communicate via stdout rather than arbitrary sleep.

I suspect the gcstress test might have been flaky due to the sleep not
being long enough and I would like to avoid just arbitrarily increasing it.

Change-Id: I5d4e0be35aa9f48b66167df04b8a539b21787053
5288611ac0f6f009aaac58c00988d684eee78f66 22-Jan-2016 David Srbecky <dsrbecky@google.com> Do not write full method signature in mini-debug-info.

Write only fully qualified method name to reduce the size.
This approximately halves the amount of string data which
in turn reduces the overhead of mini-debug-info from 3.5% to 3%.

Change-Id: Iba9b1d5af77bd90a6c93912ff10bded243d716ce
51147f2188e96be9260170452d7c624c4fa81727 17-Nov-2015 Narayan Kamath <narayan@google.com> Fix 137-cfi.

Parse OpenJdk's toString properly.

Change-Id: I7f76b38d4b6086080cea80bc2a687fd6013c36ac
031768a340634e2dbdec1aebb2bb3fe509b2f1f6 27-Aug-2015 Mathieu Chartier <mathieuc@google.com> Add non debug version of libarttest

We now pass the libarttest as an argument to the java program. This
enables using libarttestd by default and libarttest when -O is
specified.

Change-Id: I0de1ae01e2bb5f7b9c7fd7487b6cb55051f60657
a26cb57f46fd3f27a930d9d688fe8670c1f24754 23-Apr-2015 David Srbecky <dsrbecky@google.com> ART stack unwinding fixes for libunwind/gdb/lldb.

dex2oat can already generate unwinding and symbol information which
allows tools to create backtrace of mixed native and Java code.

This is a cherry pick from aosp/master which fixes several issues.
Most notably:
* It enables generation of ELF-64 on 64-bit systems (in dex2oat, C
compilers already produce ELF-64). Libunwind requires ELF-64 on
64-bit systems for backtraces to work.
* It enables loading of ELF files with dlopen. This is required for
libunwind to be able to generate backtrace of current process (i.e.
the process requesting backtrace of itself).
* It adds unit test to test the above (32 vs 64 bit, in-proces vs
out-of-process, application code vs framework code).
* Some other fixes or clean-ups which should not be of much
significance but which are easier to include to make the
important CLs cherry-pick cleanly.

This is squash of the following commits from aosp/master:
7381010 ART: CFI Test
e1bbed2 ART: Blacklist CFI test for non-compiled run-tests
aab9f73 ART: Blacklist CFI test for JIT
4437219 ART: Blacklist CFI test for Heap Poisoning
a3a49fe Switch to using ELF-64 for 64-bit architectures.
297ed22 Write 64-bit address in DWARF if we are on 64-bit architecture.
24981a1 Set correct size of PT_PHDR ELF segment.
1a146bf Link .dynamic to .dynstr
67a0653 Make some parts of ELF more (pointer) aligned.
f50fa82 Enable 64-bit CFI tests.
49e1fab Use dlopen to load oat files.
5dedb80 Add more logging output for dlopen.
aa03870 Find the dlopened file using address rather than file path.
82e73dc Release dummy MemMaps corresponding to dlopen.
5c40961 Test that we can unwind framework code.
020c543 Add more log output to the CFI test.
88da3b0 ART: Fix CFI test wrt/ PIC
a70e5b9 CFI test: kill the other process in native code.
ad5fa8c Support generation of CFI in .debug_frame format.
90688ae Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write.
97dabb7 Fix build breakage in dwarf_test.
388d286 Generate just single ARM mapping symbol.
f898087 Split .oat_patches to multiple sections.
491a7fe Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write (again).
8363c77 Add --generate-debug-info flag and remove the other two flags.
461d72a Generate debug info for core.oat files.

Bug: 21924613
Change-Id: I3f944a08dd2ed1df4d8a807da4fee423fdd35eb7
a70e5b92a629ca4028d10c9320f9d25f2832a1ab 17-Jun-2015 David Srbecky <dsrbecky@google.com> CFI test: kill the other process in native code.

Killing it from Java does not seem reliable and the CFI
test tends to leave alive processes on the system.
This might be particularly troubling on the build bot.

Change-Id: I888b61037ab77fb4ff929762ea40af53f7a6ed6e
1baabf0726eb285284e0c908ccba9f209b399fae 16-Jun-2015 David Srbecky <dsrbecky@google.com> Revert "Revert "Use dlopen to load oat files.""

This reverts commit 7a46b7e235a7c35191cd9ddbab6ca4db0e535da5.

Change-Id: I33439d0e3d7a7e63591a8c7b356e716dcb62bca1
7a46b7e235a7c35191cd9ddbab6ca4db0e535da5 16-Jun-2015 David Srbecky <dsrbecky@google.com> Revert "Use dlopen to load oat files."

This reverts commit 49e1fabc85480f01077f3cc10e8ba6ada6e4befa.

Change-Id: If49e8b60c458a992519b7fdabe02e7d53830edab
49e1fabc85480f01077f3cc10e8ba6ada6e4befa 11-Jun-2015 David Srbecky <dsrbecky@google.com> Use dlopen to load oat files.

This is required to support in-process unwinding in libunwind.
libunwind obtains the list of loaded libraries from the linker,
therefore we need to use dlopen, otherwise it will not find them.

Change-Id: I5fd89cce6b909385cb89b8a48c0d817677acf299
3da7608aa4fddb0af7a9ee3cd8e784e5ef87e57c 10-Jun-2015 David Srbecky <dsrbecky@google.com> Revert "Revert "Test that we can unwind framework code.""

This reverts commit 2c4733d647b24860e074aac4722d803da182adde.

Change-Id: I16a1eebe4b80363621edc1fcb55cdcf40fc3ac84
2c4733d647b24860e074aac4722d803da182adde 10-Jun-2015 David Srbecky <dsrbecky@google.com> Revert "Test that we can unwind framework code."

This reverts commit 5c40961dc2c7aa80a183e2eaa828580e0e89e2dd.

Change-Id: Ib4d827623fe76c9c3b639e7d1e205c7033fc2bc7
5c40961dc2c7aa80a183e2eaa828580e0e89e2dd 09-Jun-2015 David Srbecky <dsrbecky@google.com> Test that we can unwind framework code.

Change-Id: I8c0c6c14f3b95ac1fea6ca6a969a1baea80d55fc
7381010d4ea299f1aaf7c86e93341d12f5e9d2c4 23-Apr-2015 Andreas Gampe <agampe@google.com> ART: CFI Test

Add a run-test that unwinds the process and a forked
process to see whether CFI information is enough
to see Java methods.

In-process unwinding is turned off for now, as it
requires dlopen for oat files.

Black-listed for 64-bit, as libunwind expects 64-bit
ELF files.

Change-Id: I9fe53e448b6cb2ea3d516526c42596dcc2446d98