Commit Graph

32694 Commits

Author SHA1 Message Date
Andreas Gampe d77b29fdb3 Revert "Build: Add sanitized app_process"
am: 88d43677f5

Change-Id: I358a67f5e89bf72e7bba9d97a16d34d9a3e79afb
2016-12-01 02:47:34 +00:00
Andreas Gampe 92058120b2 Revert "Build: Add asanwrapper in SANITIZE_LITE"
am: 4938f3300a

Change-Id: Ic3745664db0b89baaea8b98b79ead63a77e95440
2016-12-01 02:47:29 +00:00
Treehugger Robot 9a3bd76ab4 Merge changes from topic 'simplify_app_process_asan_modules'
* changes:
  Revert "Build: Add sanitized app_process"
  Revert "Build: Add asanwrapper in SANITIZE_LITE"
2016-12-01 02:38:29 +00:00
Andreas Gampe 88d43677f5 Revert "Build: Add sanitized app_process"
This reverts commit a35d92e431.

The app_process__asan module is merged into app_process.

Bug: 33224213
Test: m
Change-Id: I5e3e836c67b5bd17cf967f1b2429e39c4e18557b
2016-11-30 16:40:13 -08:00
Andreas Gampe 4938f3300a Revert "Build: Add asanwrapper in SANITIZE_LITE"
This reverts commit eee31511f7.

Rewriting of app_process adds an automatic dependency.

Bug: 33224213
Test: m
Change-Id: Idd9509d116692954224f4d2ffd6c81b69e9a85a3
2016-11-30 16:39:40 -08:00
Andreas Gampe 6dc32b2e7a Merge changes from topic 'app_process_sanitized_binaries' am: de24e6198e
am: 88757661d5

Change-Id: I9567415f53bb86e6d2caebe51060c66e9400cead
2016-12-01 00:17:02 +00:00
Andreas Gampe 18c9a0d841 Build: Add asanwrapper in SANITIZE_LITE am: eee31511f7
am: 3c326183ca

Change-Id: I14fe1837e7cc66e9c6f124353c860959b230b779
2016-12-01 00:16:55 +00:00
Andreas Gampe 77541fee1b Build: Add sanitized app_process am: a35d92e431
am: 2ceff14391

Change-Id: I55ecc896ca76a74baad033dd9b48462fc00c3235
2016-12-01 00:16:49 +00:00
Andreas Gampe 88757661d5 Merge changes from topic 'app_process_sanitized_binaries'
am: de24e6198e

Change-Id: Ie077774c7816e7bf19c4474e9fa36824e10d58d4
2016-12-01 00:09:03 +00:00
Andreas Gampe 3c326183ca Build: Add asanwrapper in SANITIZE_LITE
am: eee31511f7

Change-Id: I2fda3c98543296418b7c4741e8425f1ab35f7fb1
2016-12-01 00:06:26 +00:00
Andreas Gampe 2ceff14391 Build: Add sanitized app_process
am: a35d92e431

Change-Id: Idc10fa334820dab5de1a697092e4c14fb6023425
2016-12-01 00:06:20 +00:00
Pirama Arumuga Nainar f3121cd73f Do not *directly* package libbcc.so
Bug: http://b/28866258

Remove libbcc.so from the list of directly packaged modules.  64-bit
libbcc.so gets included as a dependency for the bcc executable (which is
a required package).  32-bit libbcc.so is no longer necessary on 64-bit
devices.

This change also removes 32-bit libLLVM.so from a 64-bit system image
(leading to a 13M reduction in Angler's system image on AOSP) and a
considerable reduction in build time.

Test: - Build all topics in this CL
      - RsTest (including the 32-bit ABI) and CTS tests pass on x86 and
        x86_64 emulators and Angler.

Change-Id: I10f07e322a615f37d6967b7c938635f544ddceff
2016-11-30 15:45:25 -08:00
Marco Nelissen 7824073a36 DO NOT MERGE increase generic_mips system partition
Increase system partition from 750MB to 768MB to fix
sdk_google_phone_mips build.

Change-Id: I35a60767a3dea7b1ce3c97246f4a038c98f5cb06
2016-11-30 13:14:13 -08:00
Treehugger Robot de24e6198e Merge changes from topic 'app_process_sanitized_binaries'
* changes:
  Build: Add asanwrapper in SANITIZE_LITE
  Build: Add sanitized app_process
2016-11-30 21:00:56 +00:00
Andreas Gampe eee31511f7 Build: Add asanwrapper in SANITIZE_LITE
Add asanwrapper helper binary to PRODUCT_PACKAGES when building with
SANITIZE_LITE=true.

Bug: 33224213
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true && ls $OUT/system/bin/asanwrapper
Change-Id: Ic4d8973b9e9ddfd9ef8663735bf5f70d8f9f70e1
2016-11-30 10:20:20 -08:00
Paul Duffin 6470f4fa99 Replace core-junit with legacy-test
m -j32 checkbuild cts droid
adb reboot bootloader
fastboot flashall -w
cts-tradefed run cts -m CtsLibcoreTestCases

Bug: 30188076
Test: As above
Change-Id: I2d49cb3c451cb265d026f9a700a61b3fc0d2ed82
2016-11-30 13:50:56 +00:00
William Roberts 92ec0ab5e8 fs_config: add unit tests
Add some initial unit tests.

The unit tests themselves are inlined into the tool and
can be executed by running the "test" commandlet.

Example:
$ python -m unittest test_fs_config_generator.Tests
.............
----------------------------------------------------------------------
Ran 13 tests in 0.004s

OK

Test: run the test commandlet and observe for failures.

Change-Id: I1bada385fa841fd50fa958997d440f1198e15198
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 22:05:39 -08:00
Andreas Gampe a35d92e431 Build: Add sanitized app_process
Add sanitized app_process module to PRODUCT_PACKAGES when building
with SANITIZE_LITE=true

Bug: 33224213
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true && ls $OUT/system/bin/asan
Change-Id: Ic67976f1b897b638d569ec6f42d5a8d59f8a9285
2016-11-29 19:22:01 -08:00
Andreas Gampe 724d458547 Merge "Revert "Build: Bring back SDK dependencies"" am: 2bbeae7f8a
am: f606cc1677

Change-Id: I98a2c0a30012b1649d21a780f9eb22d30bcb0655
2016-11-30 00:53:09 +00:00
Andreas Gampe f606cc1677 Merge "Revert "Build: Bring back SDK dependencies""
am: 2bbeae7f8a

Change-Id: I9560d6a8f9971db89c87499b2e177bd0bb921cff
2016-11-30 00:48:39 +00:00
Treehugger Robot 2bbeae7f8a Merge "Revert "Build: Bring back SDK dependencies"" 2016-11-30 00:39:34 +00:00
William Roberts 7fe8b6d817 fs_config: drop fs_config_files/dirs PRODUCT_PACKAGES requirement
When configuring fs_config_files or fs_config_dirs for file_system
capabilities, drop the requirement that OEMs must add the target
to PRODUCT_PACKAGES. This limits the configuration requirement
to only needing to set the new and preferred TARGET_FS_CONFIG_GEN
or the older TARGET_ANDROID_FILESYSTEM_CONFIG_H method.

Test: That only setting TARGET_FS_CONFIG_GEN results in passwd and
group in the build image.
Change-Id: I818854fa1b3e94edaff59a32bd7cf23cf9b504aa
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
William Roberts 2127b35526 fs_config: add group to build
Setup PRODUCT_PACKAGES for the group file.

The group file is always included in the product
build but may be empty.

Test: That the group file is in the build.
Change-Id: I2ed1759fbe42a7e6833bb754b00cadaf949f128d
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
William Roberts 1c4721c3c5 fs_config: introduce group generator
Introduce a generator that outputs group files per man(5) group.

Succinctly, the output is a colon delimited string containing the following
fields:
  * group name
  * encrypted password (optional)
  * gid (int)
  * userlist (str,...)

Multiple colon delimited lines may exist, but will not be separated
across lines.

Sample generator output:
foo::2900:
foo_bar::2901:
custom_oem1::2902:

Test: That make group produces the group file.
Change-Id: Idd3fe925a09a227c6e894e1b5d2b3873b01531c6
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
William Roberts 6d5e0c5df2 fs_config: add passwd to build
Setup PRODUCT_PACKAGES for the passwd file.

The passwd file is always included in the product
build but may be empty.

Test: That the passwd file is in the build image.
Change-Id: Iedbb81b15d3b281ff4ad36d28adc2ba4523785f2
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
William Roberts 316f9462af fs_config: introduce passwd generator
Introduce a generator that outputs passwd files per man(5) passwd.

Succinctly, the output is a colon delimited string containing the following
fields:

  * login name
  * encrypted password (optional)
  * uid (int)
  * gid (int)
  * User name or comment field
  * home directory
  * interpreter (optional)

Multiple colon delimited lines may exist, but will not be separated
across lines.

When run, produces:

foo::2900:2900::/:/system/bin/sh
foo_bar::2901:2901::/:/system/bin/sh
custom_oem1::2902:2902::/:/system/bin/sh

Note that this generator allows for 0 or more config.fs files. This allows for:
  * Unconditional inclusion of /system/etc/passwd in the generated image
  * A blank passwd file if no config.fs files are specified.

This ensures that when OEMs add config.fs files, there is no additional steps
for proper functionality (simpler for OEMs).

The one draw back is the additional inode consumption on system for a possible
blank file.

Test: That it produces a valid passwd file.
Change-Id: I19691c8260f02147ed861f8a319aeab3f5b1738e
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
William Roberts 8f42ce71ac fs_config: generate friendly in AID class
Generate the friendly name in one location. This prepares
the tool for generatting passwd and group files.

Also support mapping friendly names to identifiers.

Test: That output files stay the same as before.
Change-Id: I12198611126613eae81ca61614ed269c2439b72b
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
William Roberts 5f059a7691 fs_config: limit characters for AID_<name> sections
When generating files restrict the characters allowed in
AID_<name> to upercase, numbers, and underscores.

This detects errors ahead of time for generated C files as
well as handles seperation characters for passwd/group files.

This also lends itself to automatic detection of collisions
on friendly names, since freindly names are the lowercase
version of <name>.

Test: That invalid aid values result in a build failure.
Test: That the output files are consistent with ones before
this change (hash and diff checks)
Change-Id: Ie8ec44c1157ba9c22100e9169d9187f615e71280
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
William Roberts cfc51f5347 fs_config: generate oem AID header file
Generate an OEM AID_<name> header file seperate from fs_config
header file and provide details on how to export this interface
into native code.

Test: That ls, ps, chown and services function for built in
services as before.
Change-Id: Ie8ce6585e0721b52633ee50d62dcfe796e178f65
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
William Roberts d7104bca65 fs_config: android_id header generator
Implement an android_id generator that takes the data
acquired from parsing private/android_filesystem_config.h
and generates the android_id friendly name to uid mapping
for consumption in Bionic.

Test: That ls, ps, mkdir, chown, chgrp and services for built
in names work.
Change-Id: I1e55a401be0fca0ad162f8dc1e072e6afde7b927
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
William Roberts 64edf5bb97 fs_config: support parsing android_filesystem_config.h
Rather than hardcode the OEM ranges, parse and extract
AID values from android_filesystem_config.h.

An AID is defined to the tool as:
  * #define AID_<name>

An OEM Range is defined to the the tool as:
  * AID_OEM_RESERVED_START
  * AID_OEM_RESERVED_END
  or
  * AID_OEM_RESERVED_N_START
  * AID_OEM_RESERVED_N_END

Where N is a number.

While parsing, perform sanity checks such as:
1. AIDs defined in the header cannot be within OEM range
2. OEM Ranges must be valid:
   * Cannot overlap one another.
   * Range START must be less than range END
3. Like the C preproccessor, multiple matching AID_<name> throws
   en error.

The parser introduced here, prepares the tool to output android_ids
consumable for bionic.

Note that some AID_* friendly names were not consistent, thus a small
fixup map had to be placed inside the tool.

Test: tested parsing and dumping the data from android_filesystem_config.h
file.
Change-Id: Ifa4d1c9565d061b60542296fe33c8eba31649e62
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
William Roberts 11c29283ec fs_config: modularize fs_config_generator
This internally structures fs_config_generator.py to be able
to plug in generators to produce different outputs. This
prepares this tool for group and pwd file outputs.

Test: Checked diff and hash of before and after files.
Change-Id: Ie558518ac227dd946d70ab48027698b72a9bc94a
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-29 16:21:17 -08:00
Dan Willemsen 4c6efa0947 Merge changes from topic 'basic_vndk' am: e69f15c9dc
am: 474bba8831

Change-Id: I20781d5c2dabfd17f1bdff90c05181e226212b16
2016-11-29 20:47:46 +00:00
Dan Willemsen 6e0c0da5dc Prohibit host modules from using LOCAL_COPY_HEADERS am: 6e51ef61a7
am: dc556b4bc0

Change-Id: I332c1128472baef57367bbf7be25ed0338a8f4d2
2016-11-29 20:47:40 +00:00
Dan Willemsen 2e300cdb70 Add basic VNDK support in Make am: bab0fa6928
am: 323efd3035

Change-Id: I6a3f89a810782b965152a415947da26b930fc408
2016-11-29 20:47:33 +00:00
Dan Willemsen 4d20d14143 Remove GLOBAL_LD_DIRS am: e5836c4bb0
am: 28cf7d49ab

Change-Id: I35109a1e1ec6fb546da0e4cf439e670d4f8c8cd0
2016-11-29 20:47:27 +00:00
Dan Willemsen 474bba8831 Merge changes from topic 'basic_vndk'
am: e69f15c9dc

Change-Id: Idf95a23c4b1341145f9e39364235413c82f659ac
2016-11-29 20:42:40 +00:00
Dan Willemsen dc556b4bc0 Prohibit host modules from using LOCAL_COPY_HEADERS
am: 6e51ef61a7

Change-Id: Id7c80e4dba5a505a04ce47d459c0a525debc4d53
2016-11-29 20:42:37 +00:00
Dan Willemsen 323efd3035 Add basic VNDK support in Make
am: bab0fa6928

Change-Id: Ie2bc9062891b2f8000b1db471b27f58c74190e92
2016-11-29 20:42:32 +00:00
Dan Willemsen 28cf7d49ab Remove GLOBAL_LD_DIRS
am: e5836c4bb0

Change-Id: I6683ed19bff601075e82065c5c1dc783d62249b4
2016-11-29 20:42:26 +00:00
Treehugger Robot e69f15c9dc Merge changes from topic 'basic_vndk'
* changes:
  Prohibit host modules from using LOCAL_COPY_HEADERS
  Add basic VNDK support in Make
  Remove GLOBAL_LD_DIRS
2016-11-29 20:36:04 +00:00
Colin Cross fe10963496 Fix warning with AAPT2 and LOCAL_STATIC_ANDROID_LIBRARIES
Building with LOCAL_STATIC_ANDROID_LIBARIES and LOCAL_USE_APPT2
causes a warning:
build/core/package_internal.mk:143: Empty argument supplied to find-subdir-assets

Only call find-subdir-assets if my_res_dir is not empty.

Also improve the warning message to make it easier to find the module
that caused it.

Test: m -j
Change-Id: I9a71162c7e2ed82f64d6844baca256968ac77317
2016-11-29 11:12:56 -08:00
Tao Bao 1eb115c6e8 Makefile: Pack verity_verifier into otatools.zip. am: 7bb3aff71c am: ad8924117d am: 7981d953a9
am: 41fd473e45

Change-Id: I096bab71bc1bdf3cfd9e8ede276504b65313af9c
2016-11-29 00:28:07 +00:00
Tao Bao 41fd473e45 Makefile: Pack verity_verifier into otatools.zip. am: 7bb3aff71c am: ad8924117d
am: 7981d953a9

Change-Id: I8ccc7c02e2c577293b7bfc29759b79f1908863d8
2016-11-29 00:24:05 +00:00
Tao Bao 7981d953a9 Makefile: Pack verity_verifier into otatools.zip. am: 7bb3aff71c
am: ad8924117d

Change-Id: Ia766ef6038434d8435a81f7e921de2936fd33411
2016-11-29 00:19:36 +00:00
Tao Bao ad8924117d Makefile: Pack verity_verifier into otatools.zip.
am: 7bb3aff71c

Change-Id: Iffb447dea7f4b227edf5311229ea0902bb4b25f5
2016-11-29 00:15:05 +00:00
Zheng Zhang c898fcdef0 Merge "DO NOT MERGE: build_image: add padding to match partition size" into cw-f-dev
am: 28b96d1470

Change-Id: I15652b49a63793ca7a6783d92a069114a31da672
2016-11-29 00:05:56 +00:00
Sami Tolvanen 0badc6ba69 DO NOT MERGE: build_image: add padding to match partition size
am: 9a675c94d3  -s ours

Change-Id: If0f79158a14fb0ee565990fa32cf899ec346b12f
2016-11-29 00:05:40 +00:00
Adam Seaton 5eef4cc855 Merge changes I30f397b0,I717a6f03 into lmp-dev am: 1a242b67fe am: 27ac4ac1da am: ac64c64f9a am: 618f64d183 am: d635edfd04 am: 6f0c3f4bdc am: c5ecbe4047 am: 4a45d769e9 am: e033ae9cff am: 8185ca3cd3
am: 777b8bb190

Change-Id: I44b2a75e03bf46c5426cf4da1c4ea09f3717b487
2016-11-28 22:19:24 +00:00
Adam Seaton 282cc6fe0f Updating Security String to 2017-01-05 am: 26250019df am: 6a9981128d am: 1691e69497 -s ours am: 4d3fa3f47e am: 26f54a9c9d am: 1685901f54 am: de90bd9c11 am: 373d596d29 am: d4318b4dd8 am: 6b712cfc00
am: f374f992fa

Change-Id: I5e59a22b40f793afab182894c9bc4df40c96dd43
2016-11-28 22:19:15 +00:00