We need to know instruction set featues at runtime as well so that the
apps get compiled on target with the proper features. The properties are
read by installd and passed to dex2oat.
Bug: 16716262
(cherry picked from commit 28be9d8884)
Change-Id: I45b363558dea17e9b049e4a83a55990b4911d9d8
This patch fixes the sdk_arm64 system images to boot properly when run
under emulation with the new qemu-android binaries.
BUG=17154406
Change-Id: I152eb09086ce4abc4b623e54de78cdaaac6b90a1
This patch ensures that the system image produced for the 'aosp_arm64'
build products can actually run under emulation with the new qemu-android
binaries [1]
The main issue is that the virtual board is named 'ranchu' instead of
'goldfish' (because the virtual hardware is _very_ different), and thus
requires specific files for the boot to start properly
(in particular fstab.ranchu is required to mount the system, data and
cache partitions, otherwise init will fail badly because /system/bin/
and /data/ are missing important files).
IMPORTANT: This requires the files under device/generic/goldfish/ from:
https://android-review.googlesource.com/#/c/105020/
[1] Binaries built from https://qemu-android.googlesource.com/qemu-android
BUG=17154406
Change-Id: Ic40360bf56e32aab708551c810000467d23793d4
Improves performance for LOCAL_WHOLE_STATIC_LIBS by copying the first .a
to the new .a rather than extracting and recreating
Change-Id: Iecdb5e4bb2ce987bb41a70c3393d18a6d72ae689
We should probably try to remove these files completely, but this at
least takes care of the stuff that's completely obsolete.
Change-Id: Ic71b7b491c119963068294e258dc6afe5a45b40d
There were a few cases that my_clang was being used without being
stripped. This was causing uses like the following to fail because it
would be partially applied (use clang as the compiler, but don't strip
out incompatible cflags).
LOCAL_CLANG := true # explanation
To avoid this problem in the future, just strip my_clang when it is
assigned.
Change-Id: I41c2f36a4d4c3aa305a25b4a151c066dad5ffe0f
Since we switched to $(HOST_OUT)/lib64 for 64-bit libraries and
$(HOST_OUT)/lib for 32-bit libraries.
Change-Id: Ie43bc03c37e2ac8542412a7543a6af5d60c6f725
This fixes mips unbundled build since we switched to mips64el toolchain
for both mips and mips64.
TODO: multilib build support.
Change-Id: I7add92d2cecfc3ab739785ceef6700240a25093a
If WITH_DEXOPT_BOOT_IMG_ONLY=true and WITH_DEXPREOPT=true then we will
only preopt the boot.art and boot.oat files, leaving everything else to
be compiled at first boot. This has fast startup times of WITH_DEXPREOPT
but has a smaller space usage and allows one to update the non-image
parts of /system without reflashing.
Bug: 16938924
Change-Id: Ib366b6b5ad80f7078f01bf51f9fbc29ea7e5d777
We've been using -fPIC and -fPIE together in the global cflags all this
time. These options are incompatible. The only reason we haven't been
hit by this before is because of the forced -Bsymbolic in GCC. To fix
this, pass -fpic when compiling objects for shared libraries and -fpie
when compiling objects for executables. For static libraries, also use
-fpic. We have to do this because static libraries might be included in
either a shared library or an executable. Code compiled with -fpie
cannot be included in a shared library, but code compiled with -fpic
may be included in an executable.
We've also been using -fpic and -fPIC together. These are different
options, and only the latter will take effect.
http://stackoverflow.com/a/967010
The final thing this fixes is that we had -f(PIC|PIE) flags being passed
to link commands. These are compile time flags, and don't do anything at
link time.
Bug: 16823325
Change-Id: Ic76f47e63dc2c81b7e1a8058bae1b3dc8565d606
Change DexPreOpt to include patch information of all compiled files so
we can relocate at runtime.
Bug: 15358152
Change-Id: Ibe92d8b55a24bbf718b0416a21b76e5df7a2de26
This will allow us to conditionally change the compiler-filter based on other properties.
Bug: 15165413
Change-Id: Ie3f9292d35e9d4abf93271b7d22b72d185ee5ce2