| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Idd540175e197602e318eeb3764f552372aadce1f
|
|
|
|
|
|
| |
This is to enable better chroot-like testing.
Change-Id: I943c68b0ebcdab2f107f808b466ac694085255aa
|
|
|
|
|
|
|
| |
Just like run-test, allow multiple invoke-with arguments that are
chained together.
Change-Id: I9f0d2d23fbff1cef32f0bb69e1bb803e157cfb73
|
|
|
|
| |
Change-Id: I5446751982cc33f27aa6785359b3eb3ba969f93e
|
|
|
|
|
|
| |
Also update device expectations that need investigation.
Change-Id: I86a613f3f62c2f999296f8b7505646a96ab4adf8
|
|
|
|
|
|
|
|
|
| |
'art --perf' will record user space cycle information
'art --perf-report' will also report the saved data.
When using perf, the temporary data directory is not deleted.
Change-Id: Iadceeb3883f815cac8ed2b8a96b9b8363661d156
|
|
|
|
|
|
|
| |
- Build both archs version when available.
- Add --64 and --32 command line flags to the art script.
Change-Id: I037ec94670767f1761adb26f44aafc5592ea3a2b
|
|
|
|
|
|
| |
Also add a phony target to build what's needed to use it.
Change-Id: I0bca6b0cbe921653de05fec0ae0cbbff63df580e
|
|
|
|
| |
Change-Id: I11c2989020de14057ffbfc80bd5baac01234f54b
|
|
|
|
|
|
| |
We need to define ANDROID_HOST_OUT in the script before using it.
Change-Id: I6b415d8de5fb6001bc579b013683957abb33f394
|
|
|
|
| |
Change-Id: Ideb6a83d71cda126d94ad01965b2dcf5005d449a
|
|
|
|
|
| |
Bug: 14470552
Change-Id: I71367052d2a5f0dcf66cf2dfdbc260aff4ac952e
|
|
|
|
| |
Change-Id: I79ef402196ba875f51f924b3eeafffadc012834f
|
|
|
|
| |
Change-Id: Ieb2a9674c95aafadbdb26c060f186f3f2d0f5e15
|
|
|
|
|
|
|
|
|
| |
The oat file is now always in the same directory, and has the
same name as the image file. Only difference is the extension.
This also removes the need for host-prefix.
Change-Id: I16d1f7aeb1d58372d41921694664e9c321afc1ad
|
|
|
|
|
|
| |
This reverts commit 4b23250f4cbf3047924c646c1a0c078394f8362d.
Change-Id: Ib749a8267abf35e51552b741ba749d6ed6975f95
|
|
|
|
|
|
| |
This reverts commit 41dcb9f856a2051527cd595f8fe7d200066acba4.
Change-Id: Ide6fa696c6fb43fe17e0993e8c9d1b588c99b1f3
|
|
|
|
| |
This reverts commit 1f5a90f28443886ebefcfbd531b8e41ece298cca.
|
|
|
|
| |
Change-Id: I0c48856d811c40662a6e4a4782478a0bc8e0f697
|
|
|
|
| |
Change-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7
|
|
|
|
| |
Change-Id: I294995066aecc29fbd739c3e9e6f60934f743064
|
|
|
|
|
|
| |
There's a test that asserts that the bootclasspath is non-empty.
Change-Id: I9cd93f658255361cdd9dd73e6ecda6da37219cb7
|
|
|
|
|
|
|
|
|
| |
This isn't the real fix, and it means that your oatexec will be running
from $(ANDROID_BUILD_TOP) rather than your current directory, but it lets
me use a modified vogar that just calls "art" instead of "dalvikvm", as
long as I use absolute paths.
Change-Id: Iac35fcd2114316a06780b4f1f27eee9fbe95282d
|
|
|
|
|
|
|
| |
$* is always a mistake, which is a shame because that's what everyone
learns first.
Change-Id: I0c18d13a42653cdde72b55ba7a4284e3454a5ba8
|
|
|
|
| |
Change-Id: I0ae2a7e35ba4bc2675836b45677aa535eccf0850
|
|
|
|
| |
Change-Id: Iab8d5e1e3abf372d7a7a567bce55becdb5a139d7
|
|
|
|
| |
Change-Id: I29bc2f216361ac4ed0cc0fefb7e3c46ee64e0ae8
|
|
|
|
|
|
|
|
|
|
| |
adb shell dex2oatd --dex-file=/system/framework/core.jar --image=/system/framework/boot.oat --base=0x50000000 "'--method=Ljava/lang/System;logI(Ljava/lang/String;)V'" "'--method=Ljava/lang/System;log(CLjava/lang/String;Ljava/lang/Throwable;)V'"
adb shell dex2oatd --boot-dex-file=/system/framework/core.jar --boot=/system/framework/boot.oat --dex-file=/system/framework/art-test-dex-HelloWorld.jar --image=/system/framework/art-test-dex-HelloWorld.oat
adb shell oatexecd -Xbootclasspath:/system/framework/core.jar -Xbootimage:/system/framework/boot.oat -classpath /system/framework/art-test-dex-HelloWorld.jar -Ximage:/system/framework/art-test-dex-HelloWorld.oat HelloWorld
09-05 17:58:18.912 2385 2385 I System : Hello, world!
Change-Id: I53e534068584f0c3a837313e4d517a0e4a7154fc
|
|
|
|
|
|
| |
Also add -d to run aexecd.
Change-Id: I38fefd9ad2e08b42039cb2a09351b4e6e30a9c5c
|
|
|
|
|
|
|
|
|
|
| |
Previously, we just cast the Runtime* to a JavaVM*, which blew up as soon as
the caller tried to use their supposed JavaVM*.
This also implements NewObjectArray. Running aexecd on the host, this gets us
as far as not having an x86 CreateInvokeStub...
Change-Id: Iba5f148797d053fba1c69af99b20508ea6aff5cb
|
|
This patch replaces our JniEnvironment class with the regular JNIEnv.
This patch also adds support for .jar, .zip, and .apk files in the
boot classpath.
There's also an attempt at implementing JNIEnv::FindClass.
I've also fixed a few scoped_ptr/scoped_array bugs (this kind of thing
being the reason we use UniquePtr in libcore), and removed some
unnecessary .
The 'tools/art' script makes it easier to play with aexec on the command-line.
Change-Id: Ic4f704c12e0071f17e95b6e182fdab9370ead9b0
|