Commit graph

2172 commits

Author SHA1 Message Date
Dan Willemsen
a711af31fa Merge "Export cc_library_headers as BUILD_HEADER_LIBRARY"
am: 6c1ae37599

Change-Id: Id5fe1fa4447444365eb062b17245e0e89078ebea
2017-02-17 23:55:20 +00:00
Dan Willemsen
6c1ae37599 Merge "Export cc_library_headers as BUILD_HEADER_LIBRARY" 2017-02-17 23:50:41 +00:00
Dan Willemsen
600895b4d3 Merge "Fix Zip64 behavior in zip2zip"
am: f729700729

Change-Id: Iee0aa184a5f9768756737946c4a78a7f96f47dde
2017-02-17 22:34:59 +00:00
Treehugger Robot
f729700729 Merge "Fix Zip64 behavior in zip2zip" 2017-02-17 22:20:25 +00:00
Dan Willemsen
a1354b325d Fix Zip64 behavior in zip2zip
This was blindly copying the zip64 extra fields from the central
directory of the original zip file to the new one. The zip64 extra
fields depend on the contents of the header it's attached toa, and in
this case we were copying the zip64 file header offset from the central
directory entry into the destination local file header, which makes no
sense, especially since the offset changed in the new file.

So strip all zip64 extra entries, and we'll create them as necessary
when writing ou the new file.

Bug: 34704111
Test: zip2zip on the original target-files -> img that was broken
Test: m -j blueprint_tools (new android_test.go)
Change-Id: Ie3c0540b13d3afcf42f3d47fff319065952b126f
2017-02-17 13:21:03 -08:00
Fabien Sanglard
11e0a56d6c Merge "Add Documentation for clion project generator" am: fcc426d394 am: 338c88cf25
am: 2828c5b88a

Change-Id: I17bf74fddef6b55305e9bbdad76f4c7fecacb536
2017-02-16 22:17:13 +00:00
Fabien Sanglard
2828c5b88a Merge "Add Documentation for clion project generator" am: fcc426d394
am: 338c88cf25

Change-Id: I40cccb1ae2ecac77617b3aa149972eeb18af7b70
2017-02-16 22:13:12 +00:00
Fabien Sanglard
338c88cf25 Merge "Add Documentation for clion project generator"
am: fcc426d394

Change-Id: I8ecbf8581b41e080d3fe79c215a078892a6a06d6
2017-02-16 22:09:11 +00:00
Fabien Sanglard
fcc426d394 Merge "Add Documentation for clion project generator" 2017-02-16 22:00:48 +00:00
Dan Willemsen
d5781347e0 Export cc_library_headers as BUILD_HEADER_LIBRARY
And support the reverse translation in androidmk.

Test: Use a cc_library_headers using LOCAL_HEADER_LIBRARIES in make
Test: androidmk with LOCAL_HEADER_LIBRARIES
Test: androidmk with soong's Android-*.mk file for BUILD_HEADER_LIBRARIES
Change-Id: I17adedb62151f62e67e2168b09ad87f1d5648df6
2017-02-16 10:58:26 -08:00
Fabien Sanglard
52d7a66671 Add Documentation for clion project generator
Change-Id: If59d4b7255fcb2718b1ff4b97246b94b4c09a8c7
2017-02-16 09:57:46 -08:00
Colin Cross
fb217dcecd Merge "Export header libraries to make as static libraries" am: 449887957c am: f886425e94
am: 40da51e616

Change-Id: I180d1356ec254c711ab888adf275eb2173dc6a0d
2017-02-16 16:20:18 +00:00
Colin Cross
40da51e616 Merge "Export header libraries to make as static libraries" am: 449887957c
am: f886425e94

Change-Id: If04b57b679c109786ff89f617ea8d4b85478b777
2017-02-16 16:16:20 +00:00
Colin Cross
f886425e94 Merge "Export header libraries to make as static libraries"
am: 449887957c

Change-Id: I261c4a50ac8d7522757a48495bb866e084ae4558
2017-02-16 16:12:48 +00:00
Colin Cross
449887957c Merge "Export header libraries to make as static libraries" 2017-02-16 16:05:20 +00:00
Vishwath Mohan
6a9cd34f20 Merge "Blacklist code for CFI." am: 367a7da041 am: ddfd8d5ac1
am: da115e3077

Change-Id: Icfdc35390702856ed6af902e760d6bd97a1e5a74
2017-02-15 23:41:24 +00:00
Vishwath Mohan
da115e3077 Merge "Blacklist code for CFI." am: 367a7da041
am: ddfd8d5ac1

Change-Id: I4ca7ba81aa127f6be2cf8fbc5cf2676346fc1752
2017-02-15 23:37:52 +00:00
Vishwath Mohan
ddfd8d5ac1 Merge "Blacklist code for CFI."
am: 367a7da041

Change-Id: I2d3350151a3fddb95379641e7e7a13864e4f372a
2017-02-15 23:33:47 +00:00
Colin Cross
4ac44809af Export header libraries to make as static libraries
Header libraries were building an empty .a file but setting
LOCAL_MODULE_CLASS := SHARED_LIBRARIES.  Make the static and shared
checks in libraryDecorator.AndroidMk explicit.

Bug: 35228396
Test: builds, examine out/soong/Android-${TARGET_PRODUCT}.mk
Change-Id: I5653ae92bb41d440d8c3ff4b6d509be188feb961
2017-02-15 23:26:15 +00:00
Treehugger Robot
367a7da041 Merge "Blacklist code for CFI." 2017-02-15 22:52:46 +00:00
Dan Willemsen
93516ac57b Merge "Ban --coverage now that we have native coverage" am: 31160bef1e am: b408965e20
am: b9eef7a590

Change-Id: Iba3534614034079339d2e3eeebbbd95fcb44bde8
2017-02-15 21:36:06 +00:00
Dan Willemsen
b9eef7a590 Merge "Ban --coverage now that we have native coverage" am: 31160bef1e
am: b408965e20

Change-Id: Iecb3e71ee7dda432f3ef26d3af4381159a94afe2
2017-02-15 21:30:55 +00:00
Dan Willemsen
b408965e20 Merge "Ban --coverage now that we have native coverage"
am: 31160bef1e

Change-Id: Iebe613705dc553136161465fc68a854ae1e4a6d2
2017-02-15 21:27:27 +00:00
Treehugger Robot
31160bef1e Merge "Ban --coverage now that we have native coverage" 2017-02-15 20:58:49 +00:00
Vishwath Mohan
f3918d37fb Blacklist code for CFI.
Adds the -fsanitize-blacklist option for CFI, using the built in
blacklist at external/compiler-rt/lib/cfi/cfi_blacklist.txt.

Also refactors the CFI cflags and ldflags into cc/makevars.go to
ensure they're consistent across Soong and make projects.

Bug: 30227045
Test: ENABLE_CFI=true m -j40 builds and boots.
Test: The blacklist prevents runtime errors that otherwise occur.
Change-Id: I91c5420478e7290061d89338a86abdef69c67fe2
2017-02-15 12:46:52 -08:00
Colin Cross
c9f552235a Build a static library for header-only libraries am: a48ab5b207 am: ec0932ba0f
am: 5bfa6b66c4

Change-Id: I89aef77a2d427ae9dad94e6b11ac578099486779
2017-02-15 07:02:37 +00:00
Colin Cross
5bfa6b66c4 Build a static library for header-only libraries am: a48ab5b207
am: ec0932ba0f

Change-Id: Idc38bde71d5a0be32f26cf31883306d1f63809c8
2017-02-15 06:59:36 +00:00
Colin Cross
ec0932ba0f Build a static library for header-only libraries
am: a48ab5b207

Change-Id: I5b27aa8ef0bf86ec6ce85b44eaffe4d899ab8b73
2017-02-15 06:56:36 +00:00
Colin Cross
a48ab5b207 Build a static library for header-only libraries
library.static() was being used to determine if a library was static,
shared, or header only, which resulted in header only libraries
behaving like shared libraries, when they should be treated as static
libraries with no sources.  Explicitly use library.static(),
library.shared(), and library.header() instead.

Bug: 35228396
Test: builds, manually examine changes to build.ninja and Android.mk
Change-Id: I51729992cc6338deda1396b86f12bc9f73e674d8
2017-02-14 17:52:10 -08:00
Dan Willemsen
54138edc0b Native Coverage support in Soong (gcov) am: 581341d4f2 am: a57d0d2f0d
am: 0a6a7bc066

Change-Id: I547b7cf6dc3f920772f344d0ffa1aebf9e933fa3
2017-02-15 00:41:48 +00:00
Dan Willemsen
0a6a7bc066 Native Coverage support in Soong (gcov) am: 581341d4f2
am: a57d0d2f0d

Change-Id: Ie372f0c32e498768ff797992ab415dc1ca83fe4c
2017-02-15 00:39:16 +00:00
Dan Willemsen
a57d0d2f0d Native Coverage support in Soong (gcov)
am: 581341d4f2

Change-Id: Ie2d314780bd8a4476216c41285c35c11bdcbd3f1
2017-02-15 00:36:45 +00:00
Dan Willemsen
17ff636322 Ban --coverage now that we have native coverage
Bug: 32749731
Test: m -j
Change-Id: Icb6ca0d846cba0ca842d3fb12dde1f1e8701cf5d
2017-02-14 13:05:48 -08:00
Dan Willemsen
581341d4f2 Native Coverage support in Soong (gcov)
This is configured the same as make -- a global NATIVE_COVERAGE=true
flag to allow native coverage, then COVERAGE_PATHS=path1,path2,... to
turn it on for certain paths.

There are .gcnodir files exported to Make and saved in $OUT/coverage/...
files which are `ar` archives containing all of the compiler-produced
.gcno files for a particular executable / shared library.

Unlike the Make implementation, this only passes links the helper
library (automatically through --coverage) when one of the object files
or static libraries being used actually has coverage enabled.

Host support is currently disabled, since we set -nodefaultlibs, which
prevents libclang_rt.profile-*.a from being picked up automatically.

Bug: 32749731
Test: NATIVE_COVERAGE=true COVERAGE_PATHS=system/core/libcutils m -j libbacktrace libutils tombstoned
      $OUT/coverage/system/lib*/libcutils.gcnodir looks correct (self)
      $OUT/coverage/system/lib*/libbacktrace.gcnodir looks correct (static)
      $OUT/coverage/system/lib*/libutils.gcnodir doesn't exist (shared)
      $OUT/coverage/system/bin/tombstoned.gcnodir looks correct (executable)
Test: NATIVE_COVERAGE=true COVERAGE_PATHS=external/libcxxabi m -j libc++
      Confirm that $OUT/coverage/system/lib*/libc++.gcnodir looks correct (whole_static_libs)
Change-Id: I48aaa0ba8d76e50e9c2d1151421c0c6dc8ed79a9
2017-02-14 13:05:48 -08:00
Vishwath Mohan
982bc9f761 Merge "Disble CFI for ARM32 processes." am: e13374d3c1 am: 9639d3b72c
am: 58a0cb31be

Change-Id: I88ba52d9050337ef625c0259dc6690e36c91f542
2017-02-13 21:00:02 +00:00
Vishwath Mohan
58a0cb31be Merge "Disble CFI for ARM32 processes." am: e13374d3c1
am: 9639d3b72c

Change-Id: Ia4ffc01104f56f526c8a0e2ce73d7892640b2983
2017-02-13 20:57:59 +00:00
Vishwath Mohan
9639d3b72c Merge "Disble CFI for ARM32 processes."
am: e13374d3c1

Change-Id: Ib9939f42e6f7d3f932b2b29b10ba539dd4cf6239
2017-02-13 20:56:01 +00:00
Vishwath Mohan
e13374d3c1 Merge "Disble CFI for ARM32 processes." 2017-02-13 20:49:20 +00:00
Colin Cross
f34a9c45c8 Merge "Add soong_javac_filter tool" am: 040ffff84b am: e8c9190547
am: c5e523eb88

Change-Id: I813506a8357332e70559b68fc9b81ce57beee7fe
2017-02-10 09:00:32 +00:00
Colin Cross
c5e523eb88 Merge "Add soong_javac_filter tool" am: 040ffff84b
am: e8c9190547

Change-Id: I038f1c7d1376e0f7458d864bb1deca382d8d11c8
2017-02-10 08:58:30 +00:00
Colin Cross
e8c9190547 Merge "Add soong_javac_filter tool"
am: 040ffff84b

Change-Id: I17af3f306e9b5df3e604384a9ed8e2312fb85f69
2017-02-10 08:56:00 +00:00
Treehugger Robot
040ffff84b Merge "Add soong_javac_filter tool" 2017-02-10 08:06:06 +00:00
Colin Cross
521534f3d8 Add soong_javac_filter tool
The soong_javac_filter tool will take the output of the javac tool
on stdin and produce a colorized version similar to what clang
produces on stdout.  It also strips the useless "warning there are
warnings" messages:
   Note: Some input files use or override a deprecated API.
   Note: Recompile with -Xlint:deprecation for details.
   Note: Some input files use unchecked or unsafe operations.
   Note: Recompile with -Xlint:unchecked for details.
Modules that want the warnings can pass the appropriate -Xlint
options.

Test: javac_filter_test
Change-Id: Ic8d337d95ae6c48146771f2982fd1316cb7d82be
2017-02-09 17:50:21 -08:00
Jack He
6cd6282aec Removed Bluetooth build variables from the soong build parser am: ee8e7a7a2c am: 405b958886
am: 4e87a35798

Change-Id: I74f477de4e8bd0d2dc88765e7f71dba8de59053c
2017-02-10 01:07:20 +00:00
Jack He
4e87a35798 Removed Bluetooth build variables from the soong build parser am: ee8e7a7a2c
am: 405b958886

Change-Id: Ia1e6b26bf7d328fbd1956452a3aa500fb58b989d
2017-02-10 01:01:50 +00:00
Jack He
405b958886 Removed Bluetooth build variables from the soong build parser
am: ee8e7a7a2c

Change-Id: Iad836fd6e45f78b0af4fc2e28743db0fdd2e6390
2017-02-10 00:58:21 +00:00
Jack He
ee8e7a7a2c Removed Bluetooth build variables from the soong build parser
* Removed BLUETOOTH_HCI_USE_MCT
* Removed BOARD_BLUETOOTH_BDROID_HCILP_INCLUDED

Bug: 34951912, 35203653
Test: Code compilation, no visible user effects
Change-Id: I89af075a334f2ec7b2a3046a4aaa5bcc19d454e0
2017-02-09 14:36:09 -08:00
Vishwath Mohan
6d67e6e68e Disble CFI for ARM32 processes.
This CL disables CFI for 32-bit ARM processes, which is broken due to
a compiler error in the most recent version of clang.

Bug: 35157333
Test: ENABLE_CFI=true m -j40 does not enable CFI for 32-bit processes
Change-Id: I52ccf60d91ff1a2af4cf024376b7d70f87040674
2017-02-08 19:46:27 -08:00
Dan Willemsen
a5c1bdc192 Merge "Ship the build log and trace on the build servers" am: 62944779e2 am: 62b3ed5b61
am: fdf3f43c7d

Change-Id: I8bfc458b26716645ec485422c1a731f040bc8818
2017-02-09 02:40:54 +00:00
Dan Willemsen
fdf3f43c7d Merge "Ship the build log and trace on the build servers" am: 62944779e2
am: 62b3ed5b61

Change-Id: If4d564b9809842aed3a77f28b2af900b152b92e4
2017-02-09 02:37:22 +00:00