Commit Graph

8395 Commits

Author SHA1 Message Date
Colin Cross f322c5f0ee Wrap panics that occur in AndroidMkDataProviders
am: 953d3a2b28

Change-Id: Ieecee223712e3968eb0ddad6c4d4cca5596da822
2018-09-06 19:56:25 -07:00
Colin Cross 953d3a2b28 Wrap panics that occur in AndroidMkDataProviders
Annotate panics that come from an AndroidMkDataProvider with the
module and variant that it was running on.

Test: m checkbuild
Change-Id: I4a2f32b1987dc028c446e9379a0738059e7679b1
2018-09-07 01:10:11 +00:00
Colin Cross aae66fa8d2 Merge changes Ifd529f88,I2fb4429a,I67ec2e94
am: 37710d3c71

Change-Id: I4e248297e225dc32c98aba008ee6ec74ff2f47a6
2018-09-06 16:31:11 -07:00
Colin Cross c4965aec96 Fix multilib first with multiple 64-bit architectures
am: 3dceee3241

Change-Id: Ib232357a336f45bef9beed2b609105ebf6402264
2018-09-06 16:27:52 -07:00
Treehugger Robot 37710d3c71 Merge changes Ifd529f88,I2fb4429a,I67ec2e94
* changes:
  Fix logic for adding gnu debuglink to match Make
  Add Soong support for stripping all symbols
  Add stripping and toc support to Soong cc_prebuilt modules
2018-09-06 23:05:09 +00:00
Colin Cross 3dceee3241 Fix multilib first with multiple 64-bit architectures
Binaries that use multilib "first" expect zero or one architectures
because they will install to the same bin directory for any
architecture.  Replace preferTargets with firstTarget that always
returns zero or one Target.

Test: OUT_DIR=out_ndk build/soong/scripts/build-ndk-prebuilts.sh
Test: m checkbuild
Change-Id: I6dcfa9ecda30177e1a262153d93a5a205d5c7076
2018-09-06 10:24:05 -07:00
Colin Cross 6b0afa58fa Merge changes I3648c914,I47dec958,Ia20f8198
am: ca126c70d7

Change-Id: I1b2ce72203aeff7135a025baf68b946372ed5b66
2018-09-06 00:13:14 -07:00
Colin Cross ca126c70d7 Merge changes I3648c914,I47dec958,Ia20f8198
* changes:
  Allow strip.sh --keep-mini-debug-info to work on non-elf files
  Fix strip.sh --keep-mini-debug-info
  Remove relocation packer
2018-09-06 06:22:18 +00:00
Dan Willemsen 5e4a7d6c3d Refactor multiproduct_kati
am: bcc1dbf957

Change-Id: I0a6a1bf1d99c6d3ddcc7dba07d38bd231387f109
2018-09-05 18:32:10 -07:00
Dan Willemsen badb179730 Add an incremental mode to multiproduct_kati / build_test
am: 41538385e5

Change-Id: Icbc6d6410c388b26b461c05ecaacd72939d8c909
2018-09-05 18:32:02 -07:00
Colin Cross ed064c0b1f Fix logic for adding gnu debuglink to match Make
Only add gnu debuglink on userdebug builds to match Make, and don't
add it when using minidebuginfo, which doesn't support it.

Bug: 113936524
Test: m checkbuild
Change-Id: Ifd529f88d63afa5627172fb6ea612aea77159f40
2018-09-05 16:30:16 -07:00
Colin Cross 02b04bb299 Allow strip.sh --keep-mini-debug-info to work on non-elf files
strip.sh --keep-mini-debug-info matches the default for Make, and
is currently used on lots of files that are not elf files.  For
now, just make the behavior match Make and skip files when
strip --strip-all fails.

Bug: 113936524
Test: m checkbuild
Change-Id: I3648c914c0fd7cc9b68aa93fd3cb0b77504d42f6
2018-09-05 16:30:16 -07:00
Colin Cross 9a959cd519 Add Soong support for stripping all symbols
Bug: 113936524
Test: m checkbuild
Change-Id: I2fb4429aee689dc6a99dc973b37575a114e46be6
2018-09-05 16:30:16 -07:00
Colin Cross f843290eb8 Fix strip.sh --keep-mini-debug-info
strip.sh --keep-mini-debug-info had extra $$ escaping from when it
was copied from make.

Bug: 113936524
Test: m checkbuild
Change-Id: I47dec958152584ca94c6149b11a06e64be2f22f9
2018-09-05 16:30:16 -07:00
Colin Cross 88f6fefeb4 Add stripping and toc support to Soong cc_prebuilt modules
Bug: 113936524
Test: m checkbuild
Change-Id: I67ec2e94d349924c3e209939030b204fdaff9c47
2018-09-05 16:30:16 -07:00
Colin Cross 22f3795dca Remove relocation packer
The relocation packer prebuilt is gone, remove the references to it.

Bug: 110715614
Test: m checkbuild
Change-Id: Ia20f8198e4fc206f4995dd5168c811dac7c9df89
2018-09-05 16:30:11 -07:00
Dan Willemsen bcc1dbf957 Refactor multiproduct_kati
Move the actual per-product builds out of the main function, combining
the product configuration and build sections. This makes it a lot more
readable.

This ends up saving a lot of FDs -- a -only-config build on aosp with 77
products used to require ~500 FDs, it succeeds with a limit of 150 FDs
now. I'm leaving the code to bump our FD limit though, since 2x the
number of internal products is too close to the 1024 limit for comfort.

Bug: 70370883
Test: prlimit -n150:150 build/soong/build_test.bash -only-config
Change-Id: Ia559beadc19deb8a5b9d50af6e0276e846fd8608
2018-09-05 13:57:10 -07:00
Dan Willemsen 41538385e5 Add an incremental mode to multiproduct_kati / build_test
This uses a very large amount of intermediates, but can speed up
subsequent multiproduct_kati runs by not re-reading all the makefiles
unless necessary.

Since we'll no longer have the full build output on every run,
explicitly save away a std_full.log of the log from the last time we ran
Kati.

Test: build/soong/build_test.bash -products aosp_arm -incremental
Change-Id: Iaae580c0e49a2024528617d39b2b477e29d99250
2018-09-05 13:53:59 -07:00
Mathew Inwood 284c191ffd Merge "Adapt special case framework support."
am: 32a96ad6f5

Change-Id: I4be1b9f10720a195ae68f85601509f23909f5f07
2018-09-05 09:29:33 -07:00
Mathew Inwood 32a96ad6f5 Merge "Adapt special case framework support." 2018-09-05 16:13:32 +00:00
Dan Willemsen 61b4908ab4 Merge "Pass --writable to kati"
am: 12553598bd

Change-Id: I2cc3925706794316519a0acf1fb9b39508727282
2018-09-04 19:27:14 -07:00
Treehugger Robot 12553598bd Merge "Pass --writable to kati" 2018-09-05 02:20:22 +00:00
Alexander Smundak 99446dfef4 Merge "Provide access to product_variables.malloc_svelte.cflags inside target."
am: 7136c4d3d2

Change-Id: Id556322c000e812ec98156ad7e66c69a6a2a7b31
2018-09-04 16:25:48 -07:00
Alexander Smundak 7136c4d3d2 Merge "Provide access to product_variables.malloc_svelte.cflags inside target." 2018-09-04 23:14:21 +00:00
Colin Cross 728adf6a81 Don't clear flags in prebuiltLibraryLinker.linkerFlags
am: 1ab10a7310

Change-Id: Ib1890cfc3d84694ac5fca945589efb00be9814d6
2018-09-04 12:33:43 -07:00
Colin Cross 1ab10a7310 Don't clear flags in prebuiltLibraryLinker.linkerFlags
linkerFlags takes the current flags struct, it should return it
unmodified if it has nothing to do, not return an empty one.

Bug: 113837811
Test: m SANITIZE_TARGET=address
Change-Id: I35ec260f49c832a5b50ff77395eda618679e6ef9
2018-09-04 11:02:37 -07:00
Colin Cross b7dc531851 Merge "pom2bp: clean up templates"
am: badc719572

Change-Id: Ia7bf11c18301c8791912206632f2d059a2c2e245
2018-09-04 10:19:55 -07:00
Treehugger Robot badc719572 Merge "pom2bp: clean up templates" 2018-09-04 16:58:29 +00:00
Mathew Inwood ebe29ce4c6 Adapt special case framework support.
I'm adding a annotation processor to the framework target that does not
run as part of the main build, but only for a parallel build target
framework-annotation-proc, which is identical to framework except that it
also runs an annotation processor. Update build rules to be aware of this
target so that it builds successfully.

Test: m framework-annotation-proc
Bug: 113853502

Change-Id: I8b20758dc8bd0e8cb2542414d7a45a2cd7d2e158
2018-09-04 14:57:44 +01:00
Dan Willemsen 25a56186d9 Pass --writable to kati
These warnings are usually hit in one of the two conditions:

1. Targets that should be marked .PHONY, but are not.
2. Attempts to define output files in the source tree.

See https://android.googlesource.com/platform/build/+/master/Changes.md#phony_targets
for more information.

Test: multiproduct_kati in all downstream branches
Change-Id: Ibe37cce320612825c22987e94d0740e8c0565b6f
2018-09-03 12:32:34 -07:00
Yi Kong ec11aef9cd Merge "Add BuiltinsRuntimeLibrary"
am: e944600978

Change-Id: I009085ecc3b340db8a92154ead624c5059ffdcdc
2018-08-31 17:45:16 -07:00
Yi Kong e944600978 Merge "Add BuiltinsRuntimeLibrary" 2018-09-01 00:09:19 +00:00
Sasha Smundak 61ebf8df66 Provide access to product_variables.malloc_svelte.cflags inside target.
Test: soong still works.

Change-Id: I359f1e750e5961a21e3eeb9f1f3aa47974d7e99f
2018-08-31 16:59:32 -07:00
Yi Kong 4980e02f43 Merge "Prebuilts shouldn't inherit linker interface"
am: 1662e3c76d

Change-Id: I04f31fc040d5ec8fe3aa2d4db99bfcc3168fdf62
2018-08-31 15:38:53 -07:00
Yi Kong 1662e3c76d Merge "Prebuilts shouldn't inherit linker interface" 2018-08-31 22:25:00 +00:00
Yi Kong 924adc4d17 Add BuiltinsRuntimeLibrary
... and rename SanitizerRuntimeLibrary to LibclangRuntimeLibrary since
some of them are not sanitizers.

Bug: 29275768
Test: m
Change-Id: Id638adea42d22b02438fce26120aa155bea14d42
2018-08-31 14:53:54 -07:00
Dan Willemsen d5032045f2 Merge "Add tee to the allowed PATH tools list"
am: 2547eaffc1

Change-Id: If0786edb31212e5580db3cf24f3523ad3f03437f
2018-08-31 06:05:42 -07:00
Treehugger Robot 2547eaffc1 Merge "Add tee to the allowed PATH tools list" 2018-08-31 12:55:22 +00:00
David Brazdil 0c5b3b8166 Merge "Support setting android:usesNonSdkApi in manifest_fixer.py"
am: 9b106574fa

Change-Id: I54324cb6b03416530bd2c35c7b79f0136a17241a
2018-08-31 03:24:28 -07:00
David Brazdil 9b106574fa Merge "Support setting android:usesNonSdkApi in manifest_fixer.py" 2018-08-31 09:59:39 +00:00
Dan Willemsen 090ec58af5 Add tee to the allowed PATH tools list
tee is used by art/build/Android.gtest.mk during testing

Change-Id: I45993366622694edef5494d9e74b8465a15a8795
2018-08-31 08:13:13 +00:00
Logan Chien 105812f5d7 Check ABI stability of all NDK libs
am: f4b79c684a

Change-Id: I04b790128b034373625ec47ecf1b51a929a7063a
2018-08-30 22:49:58 -07:00
Logan Chien f4b79c684a Check ABI stability of all NDK libs
This commit extends ABI stability checks to all NDK shared libs
(including the framework-related ones such as libandroid.so).

Bug: 112404572
Bug: 79576032
Test: make findlsdumps  # (and check the output)
Change-Id: I0147c60ce0c90d187f85b996911d98326a0c37ae
2018-08-31 02:55:28 +00:00
Dan Willemsen 16a61994bf Add od to allowed PATH tools
am: 2d31ace93e

Change-Id: I057b2bac4d4abbb35b8b0c4fa455e25152194752
2018-08-30 19:33:59 -07:00
Dan Willemsen b7ab7ab66e Merge "Start enforcing the $PATH restrictions"
am: d038cfcbea

Change-Id: I074b65740a82eebdf9ce53274fe2a713b57f8920
2018-08-30 16:55:39 -07:00
Dan Willemsen 2d31ace93e Add od to allowed PATH tools
od is used by ninja's inline.sh tool to encode a python script in a C
header.

Test: forrest run of build-tools branch
Change-Id: I87001a02b168ebe183b8b7dc495c67bb43f1b86d
2018-08-30 16:53:02 -07:00
Dan Willemsen d038cfcbea Merge "Start enforcing the $PATH restrictions" 2018-08-30 23:31:25 +00:00
Colin Cross 2ddd61f238 Merge "Skip DepsMutator on disabled modules"
am: 418d261481

Change-Id: Id3f90a67abae7483b1b0697790854aff0a8d5bda
2018-08-30 16:21:52 -07:00
Pirama Arumuga Nainar ecdcb62d22 Use Windows security mitigation features: ASLR, DEP
am: 191f646295

Change-Id: Ie182452ca1ac3a9fb959fd887421763445c646e4
2018-08-30 16:21:36 -07:00
Treehugger Robot 418d261481 Merge "Skip DepsMutator on disabled modules" 2018-08-30 22:56:32 +00:00