History log of /art/test/137-cfi/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
xpected.txt
un
rc/Main.java
3694e91faa11567b568ddafab162d172503415b3 16-Feb-2016 David Srbecky <dsrbecky@google.com> Merge "Temporarily disable compressed CFI tests."
ac06b6d2920180dba0b1d181e429444ff2d3d50f 16-Feb-2016 David Srbecky <dsrbecky@google.com> Temporarily disable compressed CFI tests.

Since the support in libunwind has been temporarily disabled.

The non-compressed CFI test still works.

Bug: 27172087
Change-Id: Ic0e088827122014f13ae2086c766fc7c01b21ea1
xpected.txt
un
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
fi.cc
rc/Main.java
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
fi.cc
un
rc/Main.java
5b1c2ca30dad519be285f0a1e839c23cc4e3a51d 25-Jan-2016 David Srbecky <dsrbecky@google.com> Revert "Revert "Add option to generate compressed backtrace info.""

This reverts commit 8546cc9aeb05e866e1fb6a9e4130d53ea330baa8.

Change-Id: I676fdf9af27fa3b16fa8921778ff8832ab8c437d
xpected.txt
un
8546cc9aeb05e866e1fb6a9e4130d53ea330baa8 25-Jan-2016 David Srbecky <dsrbecky@google.com> Revert "Add option to generate compressed backtrace info."

This reverts commit 5fdcc3c931b70204fd8c491afa66f57f8428490f.

Change-Id: I9c1f5aad6933a46af6717e3a90a51f76111f9c8a
xpected.txt
un
5fdcc3c931b70204fd8c491afa66f57f8428490f 19-Jan-2016 David Srbecky <dsrbecky@google.com> Add option to generate compressed backtrace info.

Add flag --generate-mini-debug-info which generates
LZMA compressed .symtab and .debug_frame, which are
sufficient to print java backtraces in libunwind.

If enabled, it increases the size of boot.oat by about 3.5%.

Change-Id: Ic3c2ef7704c05fa328720c6781ca2a9b8e3935a3
xpected.txt
un
91d65e024846717fce3572106cffe9b957b8902c 19-Jan-2016 Roland Levillain <rpl@google.com> Fix various typos in ART's comments and string literals.

Change-Id: I85d628055b1a61647a77fef730c9631c234e22a2
fi.cc
3e09eebe1ffd38b12d67c90cfe609d27453469ff 12-Jan-2016 David Srbecky <dsrbecky@google.com> Disable --generate-debug-info by default in all cases.

The option is disabled by default unless explicitly enabled.
In particular, it is no longer enabled in debug builds,
and the --debuggable option does not affect it.

I want to use this flag to control the debug data generated
by the JIT as well. Since this takes run-time memory,
I want to avoid enabling it unless explicitly requested.

Change-Id: I2e2afa2f56bb0a113e92cc2e26e00dceac1689ca
un
dcdc85bbd569f0ee66c331b4219c19304a616214 04-Dec-2015 Jeff Hao <jeffhao@google.com> Dex2oat support for multiple oat file and image file outputs.

Multiple changes to dex2oat and the runtime to support a --multi-image
option. This generates a separate oat file and image file output for
each dex file input.

Change-Id: Ie1d6f0b8afa8aed5790065b8c2eb177990c60129
fi.cc
121b25e246b7012cfd895f205855c6102da48305 20-Nov-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Merge mnc-dr-enso-dev into goog/master

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

Parse OpenJdk's toString properly.

Change-Id: I7f76b38d4b6086080cea80bc2a687fd6013c36ac
rc/Main.java
073b16c8429d302d5413e8ffc488b03b8f770780 10-Nov-2015 Mathieu Chartier <mathieuc@google.com> Image space cleanup for app images

Removed Heap::GetImageSpace, added Heap::GetBootImageSpace.

Generalized some logic in the class linker for image spaces.

Bug: 22858531

Change-Id: Ib3e12bb061a247e232d3dc93b0d6b35eb3a34d25
fi.cc
598302ac91fd3e990f50e1aa530c3ad61d6d946e 23-Sep-2015 Mathieu Chartier <mathieuc@google.com> Call JNI_OnUnload when class loaders get collected

Added test case to 141-class-unload.

Bug: 22720414
Change-Id: I0575fae72521520a17587e8b0088bf8112705ad8
xpected.txt
3faa5813677472e8230b3250272491f883a4618f 14-Sep-2015 Andreas Gampe <agampe@google.com> ART: Fix mac build

Parameter is unused in the mac build. We now build the test libraries
in checkbuild, which exposed the issue.

Change-Id: Ib246d87927740e2e65a63111bdf0cc4f261b4c1c
fi.cc
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
rc/Main.java
c9ede3839e1ae33d90ec2ad978ecccde1f9bcf8f 20-Jun-2015 David Srbecky <dsrbecky@google.com> Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity.

LD_USE_LOAD_BIAS is needed so that we can use dlopen.
Without it, we will fallback to our own loader and
dump all mmap for diagnostics which makes the tests verbose.

Change-Id: Ib12e9834b3454ffd726642859550545826ce38bf
un
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
fi.cc
xpected.txt
nfo.txt
un
rc/Main.java
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
fi.cc
rc/Main.java
86b35f97ce1848608e70eb1f0ea9f73d25b80d09 17-Jun-2015 David Srbecky <dsrbecky@google.com> Merge "Revert "Revert "Use dlopen to load oat files."""
1baabf0726eb285284e0c908ccba9f209b399fae 16-Jun-2015 David Srbecky <dsrbecky@google.com> Revert "Revert "Use dlopen to load oat files.""

This reverts commit 7a46b7e235a7c35191cd9ddbab6ca4db0e535da5.

Change-Id: I33439d0e3d7a7e63591a8c7b356e716dcb62bca1
un
rc/Main.java
f6c77d7632bdfe564c2ba61690fecc65f10ea9f6 16-Jun-2015 David Srbecky <dsrbecky@google.com> Merge "Revert "Use dlopen to load oat files.""
7a46b7e235a7c35191cd9ddbab6ca4db0e535da5 16-Jun-2015 David Srbecky <dsrbecky@google.com> Revert "Use dlopen to load oat files."

This reverts commit 49e1fabc85480f01077f3cc10e8ba6ada6e4befa.

Change-Id: If49e8b60c458a992519b7fdabe02e7d53830edab
un
rc/Main.java
88da3b0d2f76b1d6b9749315ac0c5b0367e92262 13-Jun-2015 Andreas Gampe <agampe@google.com> ART: Fix CFI test wrt/ PIC

PIC boot images can't be loaded with dlopen, as their base is zero,
but we have an expectant address. Turn off in-process unwinding
in 137-cfi by checking the boot image oat file type.

Keep a non-owned referenced to the oat file in image space to simplify
access.

Change-Id: Ia2b525f9b2ecbc80b433f09e04ebece4cb6f2d2b
fi.cc
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
un
rc/Main.java
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
fi.cc
rc/Main.java
020c543382a44400576ac41686a366695316feed 10-Jun-2015 David Srbecky <dsrbecky@google.com> Add more log output to the CFI test.

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

This reverts commit 5c40961dc2c7aa80a183e2eaa828580e0e89e2dd.

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

Change-Id: I8c0c6c14f3b95ac1fea6ca6a969a1baea80d55fc
fi.cc
rc/Main.java
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
fi.cc
xpected.txt
nfo.txt
rc/Main.java