Commit Graph

1465 Commits

Author SHA1 Message Date
Jiyong Park
7f413148ed Merge "Don't create non-primary arch variant for recovery-only module"
am: 9ea9fc3dee

Change-Id: Ibe1274c36c9233ee396d323544c6aa599f635ae5
2018-07-12 17:14:44 -07:00
Jiyong Park
37b252096a Don't create non-primary arch variant for recovery-only module
To save space, only the primary arch variant is installed to the
recovery partition. This has been done in the imageMutator by not
creating recovery variant for the non-primary arch.

However, this caused a problem for recover-only module, i.e., recovery:
true. Such module ends up creating no variant for the non-primary arch.
Since every other modules are at least in one image variant, any
dependency fro such module with no image variant can't be satisfied.

In order to solve the problem, archMutator is modified to create only
the primary arch for recovery-only modules.

Bug: 111321972
Test: m -j (TestRecovery added)
Change-Id: Ie32ae06fb094efcfd8531cdf6071139d292d93ab
2018-07-12 10:49:30 +09:00
Logan Chien
322ab10d5a Merge "Cleanup createVndkSourceAbiDump()"
am: f33dca0ada

Change-Id: I4be5bfa5f3c9affc946942f9dd6915c1f36e0e65
2018-07-10 20:18:54 -07:00
Logan Chien
2f2b890a18 Cleanup createVndkSourceAbiDump()
This commit cleans up `createVndkSourceAbiDump()` and renames it to
`shouldcreateVndkSourceAbiDump()`.

Test: lunch aosp_walleye-userdebug && make
Change-Id: Iff4379e2812c4b5c5baff288b938eed5d92e024f
2018-07-10 15:03:44 +08:00
Jiyong Park
0d08b06820 Merge "Fix: recovery module is disabled on 32-bit targets"
am: bdf16ec5b2

Change-Id: Ice8e0442c79ec3d673f33e8f8a229c1eccaa8b78
2018-07-09 18:45:11 -07:00
Jiyong Park
8d52f86baf Fix: recovery module is disabled on 32-bit targets
Fixed a bug that recovery variant of a module is not created on 32-bit
targets. The bug was happening because the creation of the recovery
variant relied on DevicePrefer32BitExecutables() which returns false
for 32-bit only targets.

Now, recovery variant is checked against the primary architecture of the
device that is returned by DevicePrimaryArchType().

Test: m -j adbd.recovery on aosp_arm and aosp_arm64
adbd is built under recovery/root/system/bin and it is ELF32 and ELF64,
respectively for the targets.
Test: m -j libc.recovery on aosp_arm, aosp_arm64, aosp_sailfish
and the x86+arm target in mater. Only one libc.so is installed
under recovery/root/system/lib (or lib64).

Change-Id: I83a248d81f2c71dcfb0e9d887a75b71338f27b4d
2018-07-08 09:43:10 +09:00
Steven Moreland
b3fec2c4c2 Merge "aidl: -ninja -> --ninja"
am: 17bef8f034

Change-Id: I9745a188c77ede18c1a106239cba35abd25fea2c
2018-07-06 17:24:57 -07:00
Steven Moreland
b468bca551 aidl: -ninja -> --ninja
Bug: 110967839
Test: AIDL's runtests.sh
Change-Id: I49c0a2526b6d4083c927104a3e66017080000847
2018-07-06 11:36:32 -07:00
Yi Kong
c888227e7d Merge "Revert^6 "Move -Wno-enum-compare{,-switch} to external cflags""
am: c415116333

Change-Id: I352ec6a79d3d525c17bde9eceaf3b348b63d6a9a
2018-06-29 17:18:21 -07:00
Pirama Arumuga Nainar
8db11184e6 Merge "Remove unsupported/unused No_pie property"
am: b830e84821

Change-Id: Ief33f0e4bcf5c9323e012e4cefbc8e957eba6a34
2018-06-29 17:06:16 -07:00
Yi Kong
c415116333 Merge "Revert^6 "Move -Wno-enum-compare{,-switch} to external cflags"" 2018-06-30 00:03:55 +00:00
Pirama Arumuga Nainar
19fae4e803 Remove unsupported/unused No_pie property
Bug: http://b/111000882

Doesn't seem to be supported.

Test: AOSP build, TreeHugger
Change-Id: Idaab52caa876102b062b3c21acd42c37328bd328
2018-06-29 14:57:46 -07:00
Yi Kong
e1e83e4279 Revert^6 "Move -Wno-enum-compare{,-switch} to external cflags"
This reverts commit c729b508c3.

Reason for revert: New breakages fixed

Change-Id: I8b5e597fdb2af782d591ddcf5b4e7534273a2e7b
Merged-In: I8b5e597fdb2af782d591ddcf5b4e7534273a2e7b
2018-06-29 20:35:35 +00:00
Roland Levillain
cda6b350c6 Merge "Revert^5 "Move -Wno-enum-compare{,-switch} to external cflags""
am: cf96428ef4

Change-Id: I5521b4b7e10da012897018333e1209e00742f3f3
2018-06-29 02:45:53 -07:00
Roland Levillain
cf96428ef4 Merge "Revert^5 "Move -Wno-enum-compare{,-switch} to external cflags"" 2018-06-29 09:37:42 +00:00
Yi Kong
c729b508c3 Revert^5 "Move -Wno-enum-compare{,-switch} to external cflags"
This reverts commit e0050ebda1.

Reason for revert: Breaks build

Change-Id: I01bc218553ae6efb6140b66f035ccb129d3e5028
2018-06-29 08:19:46 +00:00
Yi Kong
71fd304741 Merge "Revert^4 "Move -Wno-enum-compare{,-switch} to external cflags""
am: e758c83bb5

Change-Id: I16b295a98f503685db2bd4ec1a91b52d93f65ab7
2018-06-29 00:03:50 -07:00
Yi Kong
e758c83bb5 Merge "Revert^4 "Move -Wno-enum-compare{,-switch} to external cflags"" 2018-06-29 06:57:27 +00:00
Yi Kong
e0050ebda1 Revert^4 "Move -Wno-enum-compare{,-switch} to external cflags"
This reverts commit 8ad44855e6.

Reason for revert: Breakage fixed, try again

Change-Id: Ia648b9513d2224a5e363b65f44f9b2f838db1d3d
2018-06-28 21:05:34 +00:00
Pirama Arumuga Nainar
e4f89be932 Do not set entry-point for Windows
am: 204165320e

Change-Id: I7db0a7134cc7a6ae85b624d58e72794e0dd53bca
2018-06-27 13:26:41 -07:00
Pirama Arumuga Nainar
204165320e Do not set entry-point for Windows
Bug: http://b/62424007

This breaks 64-bit Windows executables.  Probably due to the Clang
migration, the entry-point need not be set even for 32-bit executables.

Test: 32-bit and 64-bit aapt2_tests.exe and ziparchive-tests.exe can
start.  (There are some failed tests, though).

Change-Id: Id3a7d3d2802f6b671332afff4558840bdabddeb5
2018-06-27 11:27:06 -07:00
Pirama Arumuga Nainar
b6682c47b8 Merge "Do not enable sanitizers on Windows"
am: d7e5c05eac

Change-Id: I7398e6b08154c5bc7fad0507bd9e1dae8c14da0a
2018-06-26 17:05:30 -07:00
Pirama Arumuga Nainar
83d716c413 Do not enable sanitizers on Windows
Bug: http://b/69933068

Test: m native-host-cross SANITIZE_HOST=address
Change-Id: Ia9ff941fb569b0a2e9c4eef604fd165f94bca31a
2018-06-26 14:18:16 -07:00
Pirama Arumuga Nainar
cd53ba1bab Merge changes from topic "mingw-clang"
am: 9d951a10f3

Change-Id: Ie7e0794c98d4b0d317cea9f1d2bf2c02e760b1e5
2018-06-26 12:54:17 -07:00
Pirama Arumuga Nainar
9af0f2d42a Use -static-libgcc for Windows
am: abf1b31a20

Change-Id: Id8eea1c93a97061fa6e50df7c9ba06a9ec62d306
2018-06-26 12:54:01 -07:00
Treehugger Robot
9d951a10f3 Merge changes from topic "mingw-clang"
* changes:
  Use clang for windows host modules
  Use -static-libgcc for Windows
2018-06-26 19:47:53 +00:00
Chih-hung Hsieh
52bd011b72 Merge "Define CLANG_TIDY_UNKNOWN_CFLAGS for build/make."
am: 95894d8ffe

Change-Id: Iac0463e8b7b8603e5d10f84e26aac7cccafc37ec
2018-06-26 10:03:25 -07:00
Pirama Arumuga Nainar
8a852e7694 Use clang for windows host modules
Bug: http://b/69933068

- Remove GCC's intrinsic header path so Clang's headers get included.
- Add '-B' with GCC's binary directory so Clang detects the linker.
- Bug: http://b/109759970 - Pass '--allow-multiple-definition' linker
flag to deal with ld.bfd's inability to handle Clang-generated section
names is fixed.
- Bug: http://b/110800681 - lld cannot link Android's Windows modules
yet

Test: m native-host-cross and run adb_test.exe under wine.

Change-Id: I9be9cfc34a47cbeee04024438dea214305112eaa
2018-06-25 18:36:50 -07:00
Pirama Arumuga Nainar
abf1b31a20 Use -static-libgcc for Windows
Bug: http://b/69970955

With the MinGW prebuilts update (http://aosp/709402), executables get a
runtime dependency on libgcc_s_sjlj-1.dll with both gcc and Clang.
Passing -static-libgcc removes this dependency and is a better option
than having to package an extra dll with executables.

Test: Run gcc-built adb_test.exe under wine
Change-Id: I18e5fadb1b8ace510ae684e2d4cfa7fe7d007cff
2018-06-25 18:31:01 -07:00
Chih-Hung Hsieh
ad47a27d9c Define CLANG_TIDY_UNKNOWN_CFLAGS for build/make.
Bug: 110538415
Test: build with WITH_TIDY=1
Change-Id: I6c5b5a0cb3ad3c2756bbae5e7c0234a0dafe5991
2018-06-25 13:48:42 -07:00
Colin Cross
e98238b3ab Merge "Use WalkDeps instead of VisitDepsDepthFirst"
am: cbafd0fb48

Change-Id: Ic22ffa9ac8a5e3b5c29cd5e85664acb1afebc04f
2018-06-22 17:14:31 -07:00
Colin Cross
6b75360cbc Use WalkDeps instead of VisitDepsDepthFirst
VisitDepsDepthFirst is almost never correct, as it can't query
dependency tags of multiple dependencies between the same two modules.
Replace VisitDepsDepthFirst with WalkDeps in sanitize.go and
python.go.  Also verify the dependency tag before continuing to
recurse to ensure that they don't recurse through genrules and into
unrelated modules.

Test: m checkbuild
Change-Id: I2f7560126f56b51a40ec39dfbdcc18b5891489f7
2018-06-22 12:44:35 -07:00
Jiyong Park
48bdb37b4a Merge "Recovery partition uses the first architecture only"
am: 87e50a0d14

Change-Id: I2da330f2a4062039f83ecb90800e65595982ad32
2018-06-19 18:20:35 -07:00
Treehugger Robot
87e50a0d14 Merge "Recovery partition uses the first architecture only" 2018-06-20 01:11:10 +00:00
Kostya Kortchinsky
9cba8204b1 Soong support for Scudo
am: d18ae5ce98

Change-Id: I0c0fcf29ccd99575de573a915c7da5d51b14cd45
2018-06-19 13:11:58 -07:00
Kostya Kortchinsky
d18ae5ce98 Soong support for Scudo
Scudo is a hardened usermode allocator that is part of LLVM's compiler-rt
project (home of the Sanitizers). clang allows for -fsanitize=scudo as a
possible command line option to link the shared Scudo library to a binary.

This patch add Scudo as a potential sanitize option. Scudo is not compatible
with ASan and TSan and will be disabled if either is enabled.

Bug: 72112048
Test: aosp compiled with m -j
Test: local experiment with scudo: true to ensure that a test target
(tombstoned) could be linked with scudo.

Change-Id: I76bb6c60891d4782f6665a112c4c2bf7c31645da
2018-06-19 09:46:09 -07:00
Jiyong Park
413cc744b8 Recovery partition uses the first architecture only
To save space in the recovery partition, modules installed to the
partition are restricted to be built in the first architecure (i.e.,
32bit for 32bit-only device or when TARGET_PREFER_32_BIT is true, and
64bit otherwise).

Most notably, this change removes the 32-bit variant of the linker
(about 1MB). The linker was installed regardless of whether there is a
32-bit executable or not. Now, the unnecessary linker is not installed
and it is guaranteed that all modules in the partition are built with the
same architecture.

Bug: 79146551
Test: m -j
Test: out/target/product/<name>/recovery/root/system/bin/ has only one
variant of the linker.

Change-Id: I4070a43555bad4cfa8eff5253b09dcd004ea8251
2018-06-19 10:49:21 +09:00
Yi Kong
904ba56bb9 Merge "Remove workaround for cortex-a55/a75"
am: bbabc7b67e

Change-Id: Ic8cbeab81b1c75902c95bd5e2b4e9185a2f8feb6
2018-06-17 02:08:19 -07:00
Yi Kong
9c63363119 Remove workaround for cortex-a55/a75
Test: m checkbuild
Test: boot on a55/a75 device, pass bionic tests
Bug: 110235326
Change-Id: I5ab2102352a6efe1173b3097875e6e779d4a1a09
2018-06-15 23:15:54 +00:00
Yi Kong
86b2b31736 Merge "Update ToolingCFlags overrides to include other new architectures"
am: 8eb8704cf1

Change-Id: I8b2763f16c1a2da5ec91edf3f668264ee3ea7cf2
2018-06-14 22:19:04 -07:00
Yi Kong
8eb8704cf1 Merge "Update ToolingCFlags overrides to include other new architectures" 2018-06-15 05:08:53 +00:00
Yi Kong
72f9a0b2f5 Update ToolingCFlags overrides to include other new architectures
Bug: 110235326
Test: m checkbuild
Change-Id: I9d0ada05d95bb260500c1d694332a73363b0f299
2018-06-14 18:45:54 -07:00
Jiyong Park
1598abf6df Merge changes from topic "sharedlib_in_recovery"
am: 33ab6f6134

Change-Id: I0cfce2564ba7e785bbb4db43626155cce3302ecc
2018-06-13 16:41:09 -07:00
Jiyong Park
eb946e1231 Recovery partition has same layout as system
am: 2e6743176a

Change-Id: Ib59834db180f6ec06cb005291bdf527d9cc50c8b
2018-06-13 16:40:53 -07:00
Treehugger Robot
33ab6f6134 Merge changes from topic "sharedlib_in_recovery"
* changes:
  Recovery variants are built with -D__ANDROID_RECOVERY__
  Recovery partition has same layout as system
2018-06-13 23:14:29 +00:00
Jayant Chowdhary
695da73801 Merge "Fix VNDK-Ext ABI check regression"
am: 4038a6ea9f

Change-Id: I51230cf8c0f72b3492eea1fa042228c77dd1f99f
2018-06-13 11:05:08 -07:00
Logan Chien
ef1ff3de98 Fix VNDK-Ext ABI check regression
VNDK-Ext are modules with `vndk.enabled: true` but not having
`vendor_available: true`.  In addition, VNDK-Ext should be checked by
source ABI checker.  This change fixes the regression introduced in

Bug: 110142940
Test: Create libminijail_ext, break some ABIs, and see an error.
Change-Id: I8b47ac12d2e132f641129c9549ed22c3971d6c89
2018-06-13 22:32:16 +08:00
Martijn Coenen
2de6cdcecb Merge "Revert "Revert "Revert "Move -Wno-enum-compare{,-switch} to external cflags""""
am: 4de27d7e4f

Change-Id: Ia8ffa6818e19128e1a4c058a64c8b503435136d3
2018-06-13 00:51:05 -07:00
Martijn Coenen
4de27d7e4f Merge "Revert "Revert "Revert "Move -Wno-enum-compare{,-switch} to external cflags"""" 2018-06-13 07:37:56 +00:00
Martijn Coenen
8ad44855e6 Revert "Revert "Revert "Move -Wno-enum-compare{,-switch} to external cflags"""
This reverts commit cc4bbdccd3.

Reason for revert: breaks builds

Change-Id: Ia8908eb372ce46b23aea73283baf37add4477312
2018-06-13 07:36:05 +00:00