Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85455b6c authored by Brian Carlstrom's avatar Brian Carlstrom Committed by Narayan Kamath
Browse files

Make default 64-bit primary, 32-bit secondary

This is required to get aarch64 & x86_64 emulators booting
on lmp-preview-dev. Without this change, the system_server
is a 32 bit process but java only apps that use the
"android.uid.system" shared UID are dex2oated to 64 bit and
won't work correctly.

The correct fix needs build system changes, so this is the
easiest fix for now.

Note that this happens to work on volantis because the package
manager adjusts their ABI correctly during boot. That can't
happen on emulators because of dex-preopt; dex2oat can't oatify
a dex file from inside an existing oat file.

(cherry picked from commit d7950463)

Change-Id: Id94bcc382e90b279e726f2d1d0350fc60a5020df
parent e87fcf5e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -260,6 +260,9 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)

# Change ro.zygote for core_64_bit.mk from zygote32_64 to zygote64_32
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
# ************************************************
+1 −1
Original line number Diff line number Diff line
@@ -254,7 +254,7 @@ endif
#
# Note that this assumes that the 2ND_CPU_ABI for a 64 bit target
# is always 32 bits. If this isn't the case, these variables should
# be overriden in the boarc configuration.
# be overriden in the board configuration.
ifeq (,$(TARGET_CPU_ABI_LIST_64_BIT))
  ifeq (true|true,$(TARGET_IS_64_BIT)|$(TARGET_SUPPORTS_64_BIT_APPS))
    TARGET_CPU_ABI_LIST_64_BIT := $(TARGET_CPU_ABI) $(TARGET_CPU_ABI2)
+4 −4
Original line number Diff line number Diff line
@@ -22,12 +22,12 @@
# For now this will allow 64-bit apps, but still compile all apps with JNI
# for 32-bit only.

# Copy the 32-bit primary, 64-bit secondary zygote startup script
PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32_64.rc:root/init.zygote32_64.rc
# Copy the 64-bit primary, 32-bit secondary zygote startup script
PRODUCT_COPY_FILES += system/core/rootdir/init.zygote64_32.rc:root/init.zygote64_32.rc

# Set the zygote property to select the 32-bit primary, 64-bit secondary script
# Set the zygote property to select the 64-bit primary, 32-bit secondary script
# This line must be parsed before the one in core_minimal.mk
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote32_64
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote64_32

TARGET_SUPPORTS_32_BIT_APPS := true
TARGET_SUPPORTS_64_BIT_APPS := true