Use the newly exposed HOST_STRIP from Soong to strip host tools during
atree.
This appears to produce slightly different host tools, but they're still
stripped.
Test: m PRODUCT-sdk_arm64-sdk dist sdk_repo
Change-Id: Id2863347882eb63d2a4cce45f0cd8de510ed4543
* Factor out the logic that sets up my_pack_module_relocations
from dynamic_binary.mk to pack_dyn_relocs_setup.mk.
* Use stand-alone relocation_packer only if my_pack_module_relocations
is true and my_use_clang_lld is false.
Bug: 80093890
Bug: 73768157
Test: build and boot with USE_CLANG_LLD=true
Change-Id: I7c4b5fcdce0754c57cff4acf86185cac65a26c40
There was PRODUCTS, ALL_PRODUCTS and really_all_products, and
ALL_PRODUCTS was in fact not all products. Rename it to what
it really is: parent makefiles, i.e. product makefiles that include
other product makefiles.
Also rename the really_all_products var.
Bug: 80410283
Test: lunch aosp_arm64; m product-graph
Change-Id: I87aec49966e50c364ca2baf5de10fe30f9292a53
P VNDK snapshot needs to include VNDK libs built for 64-bit binder
products, aosp_arm and aosp_x86. This change modifies the following:
1) Revise VNDK snapshot zip file name to use $TARGET_PRODUCT instead of
$TARGET_ARCH in order to distinguish aosp_arm and aosp_arm_ab.
2) Place 32-bit binder libs under a subdirectory 'binder32' such that
the snapshots can be uploaded to prebuilts/vndk/v{VER} with the following
directory structure:
prebuilts/vndk/v{VER}/
arm/
arch-arm-armv7-a-neon/
shared/
...
binder32/
arch-arm-armv7-a-neon/
shared/
...
...
arm64/
arch-arm-armv7-a-neon/
arch-arm64-armv8-a/
...
...
The 32-bit binder libs will be placed in a separate subdirectory so that
they can be easily phased out in future VNDK snapshots.
Bug: 80372796
Test: make -j vndk dist
Merged-In: I7cde2e706e0c2891bab762b9057672f57e798873
Change-Id: I7cde2e706e0c2891bab762b9057672f57e798873
(cherry picked from commit 3ba44eb916)
This is to support /product/lib. Shared libraries with
LOCAL_PRODUCT_MODULE := true or product_specific: true has been
installed in /system/lib. They are now installed in /product/lib.
Bug: 73095206
Test: build succeeded && product libraries are installed under
/product/lib
Change-Id: Ic49a0a3e1e47666c4d15189ab6fded8007ecb498
Merged-In: Ic49a0a3e1e47666c4d15189ab6fded8007ecb498
(cherry picked from commit 47c13524aa)
We need to generate a new file from Doclava. Create a global variable
for the file name.
Bug: 64382372
Bug: 80461842
Test: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt
Merged-In: Id850327c29bc626d3d721935edcb2b7afd2fd283
Change-Id: Icd0de1361879b896fd9d3881e405def98c012f0c
P VNDK snapshot needs to include VNDK libs built for 64-bit binder
products, aosp_arm and aosp_x86. This change modifies the following:
1) Revise VNDK snapshot zip file name to use $TARGET_PRODUCT instead of
$TARGET_ARCH in order to distinguish aosp_arm and aosp_arm_ab.
2) Place 32-bit binder libs under a subdirectory 'binder32' such that
the snapshots can be uploaded to prebuilts/vndk/v{VER} with the following
directory structure:
prebuilts/vndk/v{VER}/
arm/
arch-arm-armv7-a-neon/
shared/
...
binder32/
arch-arm-armv7-a-neon/
shared/
...
...
arm64/
arch-arm-armv7-a-neon/
arch-arm64-armv8-a/
...
...
The 32-bit binder libs will be placed in a separate subdirectory so that
they can be easily phased out in future VNDK snapshots.
Bug: 80372796
Test: make -j vndk dist
Change-Id: I7cde2e706e0c2891bab762b9057672f57e798873
We have use case that uses the timestamp for PLATFORM_SECURITY_PATCH in
device specific Makefile, but need to handle the platform-dependent
`date` command. This CL computes and exposes
PLATFORM_SECURITY_PATCH_TIMESTAMP from the core build system.
Bug: 80311893
Test: Use PLATFORM_SECURITY_PATCH_TIMESTAMP in device-specific folder,
on both of Linux and macOS. Check the value.
Change-Id: I27a88dcebde7a1c204491f5f5c45c5160398dbb6
Merged-In: I27a88dcebde7a1c204491f5f5c45c5160398dbb6
(cherry picked from commit 717d9d3ae2)
userdata.img becomes 4GB in P and it doesn't work well with patcher in
android studio. We decided to remove userdata.img in system image zip
and generate userdata.img by emulator.
This cl does not impact real devices.
BUG: 79925096
Change-Id: I5406b28291f140e2ebdbcd7c6f684f60ac59b62b
Signed-off-by: Weilun Du <wdu@google.com>
We have use case that uses the timestamp for PLATFORM_SECURITY_PATCH in
device specific Makefile, but need to handle the platform-dependent
`date` command. This CL computes and exposes
PLATFORM_SECURITY_PATCH_TIMESTAMP from the core build system.
Bug: 80311893
Test: Use PLATFORM_SECURITY_PATCH_TIMESTAMP in device-specific folder,
on both of Linux and macOS. Check the value.
Change-Id: I27a88dcebde7a1c204491f5f5c45c5160398dbb6
We've had a report of Android.mk files changing one of these paths,
leading to very strange issues. Nobody should be writing to these
variables after they're set.
Bug: 76424357
Test: diff build-aosp_arm.ninja
Change-Id: I66a9740d89feae342af13341ee3a630a20d62b64
Proguard treats -dontobfuscate -keepattributes *Annotations* the
same as -dontobufscate by keeping all attributes. R8, even in
proguard compatibility mode, discards all attributes that don't
match, including EnclosingClass attributes that may be necessary.
Pass -keepattributes * whenever passing -dontobfuscate to make R8
act more like proguard.
This isn't a complete solution, some modules may set
LOCAL_PROGUARD_ENABLED := custom and then manually specify
-dontobfuscate on the command line or in a flags file, in which
case they will see the incorrect behavior of R8.
Bug: 80081393
Test: m checkbuild
Test: examine attributes on com.android.stk.BootCompletedReceiver
in out/target/common/obj/APPS/Stk_intermediates/classes.dex
Change-Id: I761f2d0617c5295df8fc7adfc4fd00d2aa41961e
This reverts commit 777cf2c450.
Reason for revert: manifest merger is used for libraries forced to aapt2 now
Bug: 79481102
Test: m checkbuild
Change-Id: I9b67fd2a9b3234798b2aac879b5242c2097b3863
This CL enables CFI on security sensitive components for product
configs that inherit core_64_bit.mk (and core_64_bit_only.mk). Note
that this only requests the build system to do so. Internal build
logic will dictate if this is actually enabled on the build or
not (CFI is currently disabled for ARM32 and MIPS for example).
In addition, this also restricts CFI_INCLUDE_PATHS and
PRODUCT_CFI_INCLUDE_PATHS to Arm64 architectures only. This helps
narrow which targets enable CFI out of the box.
Bug: 66301104
Test: CFI is enabled on aosp_* targets
Change-Id: I52af499dc34cd4b42fbfb1175f6a37aaf17b65dd