Commit graph

251 commits

Author SHA1 Message Date
Dan Albert
8e25667f12 am a4ad6442: am 9b0ccb74: Merge "Fix the libgcc/libatomic link order."
* commit 'a4ad6442d6a54c9eaf771a0d4ab7f7ab9de163ac':
  Fix the libgcc/libatomic link order.
2014-11-18 00:07:22 +00:00
Dan Albert
a4ad6442d6 am 9b0ccb74: Merge "Fix the libgcc/libatomic link order."
* commit '9b0ccb7480a0b86d27bb6c7352b5cd5e79bfbf82':
  Fix the libgcc/libatomic link order.
2014-11-18 00:03:54 +00:00
Dan Albert
9b0ccb7480 Merge "Fix the libgcc/libatomic link order." 2014-11-17 23:55:57 +00:00
Dan Albert
a569b83842 am 330f808b: am f63ca1e9: Merge "Disable gnu style linker hash for NDK builds."
* commit '330f808b24dd3ee1b90bdd8b0e7e36ccca32e8b3':
  Disable gnu style linker hash for NDK builds.
2014-11-17 20:39:45 +00:00
Dan Albert
330f808b24 am f63ca1e9: Merge "Disable gnu style linker hash for NDK builds."
* commit 'f63ca1e9ea392d6aea7e2cfd6239d904e6ae017d':
  Disable gnu style linker hash for NDK builds.
2014-11-17 20:35:06 +00:00
Dan Albert
d3d894da74 Disable gnu style linker hash for NDK builds.
This feature is now available in AOSP, but not for any shipped
release. We don't have an API version for the release that this will
be available in yet, so for now the check is commented out.

Bug: 18395015
Change-Id: I247233d047ed5a7564d6602d47c9ad962313c8dc
2014-11-15 01:50:52 +00:00
Dan Albert
741b36e922 Fix the libgcc/libatomic link order.
The previous position of libgcc.a/libatomic.a on the link line causes
the linker to prefer satisfying dependencies from these libraries from
other libraries that might include them, rather than from libgcc.a (or
libatomic.a) itself. This imposes an ABI requirement that those
intermediate shared libraries _always_ export those symbols, which is
undesirable.

Change-Id: Ib593236b475d3e98356b2b1be6f96cee2b67378f
2014-11-13 21:29:28 -08:00
Dan Albert
6da20991fd am 5245bc8b: am 201f6b3e: Merge "Make modules depend on their makefile."
* commit '5245bc8b3421b3a9676a9ad650d0804d8d9e2787':
  Make modules depend on their makefile.
2014-11-11 23:00:40 +00:00
Dan Albert
5245bc8b34 am 201f6b3e: Merge "Make modules depend on their makefile."
* commit '201f6b3e92a2ef2f3a117f33cd399d5304dd385a':
  Make modules depend on their makefile.
2014-11-11 22:56:01 +00:00
Dan Albert
954b5bdcf4 Make modules depend on their makefile.
This should obviate much of the need for cleanspecs, and also make it
unnecessary to continue adding LOCAL_ADDITIONAL_DEPENDENCIES for this
sort of thing all over the tree.

Change-Id: I97aa8fd280ae868a5f6364f8b7bf3c2fe235d6ce
2014-11-11 14:30:54 -08:00
Dan Albert
655f7c9a82 am a9abc487: am 1f637158: Merge "Use platform protobuf unless building with NDK."
* commit 'a9abc487a8fdf3a82932df3f70efd9aab7fb9d35':
  Use platform protobuf unless building with NDK.
2014-11-11 20:05:56 +00:00
Dan Albert
a9abc487a8 am 1f637158: Merge "Use platform protobuf unless building with NDK."
* commit '1f6371583ef6ce3a384262ebb291515f5ca3a7b6':
  Use platform protobuf unless building with NDK.
2014-11-11 19:58:42 +00:00
Dan Albert
c3031c70f7 Use platform protobuf unless building with NDK.
The NDK protobuf library depends on the final target linking stlport
(since it is a static library). Since the platform stlport is going
away, we need to use a separate version of the protobuf library that
is compiled for the platform against libc++.

Note that this should be the case for _all_ libraries built with the
NDK. If a library needs to be used by both an NDK built final target
and a platform built final target, there should be both an NDK and
platform version of the library.

Bug: 15193147
Change-Id: I0ead61c2d1cd9d0248b304ab7d8682dedd6e8366
2014-11-11 11:05:27 -08:00
Jeff Davidson
79ddea19f6 am 4e466096: am ed9981d9: am 427d1e98: Merge "Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE."
* commit '4e4660961b6c704d13c6c521f36958f436ec40f3':
  Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE.
2014-10-29 20:52:18 +00:00
Jeff Davidson
4e4660961b am ed9981d9: am 427d1e98: Merge "Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE."
* commit 'ed9981d927cb24b106df9b3c350b6b63e570026f':
  Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE.
2014-10-29 20:42:11 +00:00
Jeff Davidson
ed9981d927 am 427d1e98: Merge "Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE."
* commit '427d1e98eceb78f5cb8f1e50d00d342fc7f359c6':
  Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE.
2014-10-29 17:40:05 +00:00
Jeff Davidson
427d1e98ec Merge "Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE." 2014-10-29 17:35:17 +00:00
Dan Albert
47bb921e00 am d905ec2a: am ef8912d9: am d274e04a: Merge "Don\'t sort shared library link order."
* commit 'd905ec2ac6b1277d59b21b74f8632c34fdf1b9a9':
  Don't sort shared library link order.
2014-10-29 17:32:10 +00:00
Dan Albert
d905ec2ac6 am ef8912d9: am d274e04a: Merge "Don\'t sort shared library link order."
* commit 'ef8912d93f5ca3722d761da6c0b0f05e2480a41d':
  Don't sort shared library link order.
2014-10-29 17:11:50 +00:00
Ying Wang
45d0143ab1 Support "LOCAL_FDO_SUPPORT := always".
"LOCAL_FDO_SUPPORT := always" enables FDO without user specifying
"BUILD_FDO_OPTIMIZE := true", i.e. it turns on FDO for a
module in any build configuration.

Change-Id: I05d8db2edb2b3f5db073fa14d5bf1083a04571c0
2014-10-28 14:50:59 -07:00
Dan Albert
ef8912d93f am d274e04a: Merge "Don\'t sort shared library link order."
* commit 'd274e04ac4317d7cfc2de02ca215e064c018c234':
  Don't sort shared library link order.
2014-10-28 04:46:53 +00:00
Dan Albert
04eead7e2b Don't sort shared library link order.
Only sort the list of shared libraries used for naming dependencies,
not the order they are actually linked in. The order in which shared
libraries appear to the linker affects which symbols get used if there
is a multiply defined symbol.

Also link system shared libraries _after_ user provided libraries,
since a user will want their functions to override the system's if
they exist.

Change-Id: I071059d940d40a648d69d90e0699073ef520138a
2014-10-23 14:04:02 -07:00
Jeff Davidson
b8ddd55b55 Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE.
If a module is explicitly depending on a versioned protolib, we strip
the dependency and log a warning so the unneeded dependency can be
removed.

Change-Id: I949d32fb5126f1c05e2a6ed48f6636a4a9b15a48
2014-10-23 07:20:16 -07:00
Dan Albert
94d4214094 am cc0aa4da: am 28c265dd: Merge "We also need -rdynamic for host ASAN."
* commit 'cc0aa4dabd4bae2b17bc9de8f88e04e862d030b2':
  We also need -rdynamic for host ASAN.
2014-10-20 22:42:23 +00:00
Dan Albert
96983cba42 am cc0aa4da: am 28c265dd: Merge "We also need -rdynamic for host ASAN."
* commit 'cc0aa4dabd4bae2b17bc9de8f88e04e862d030b2':
  We also need -rdynamic for host ASAN.
2014-10-20 22:42:11 +00:00
Dan Albert
4ffe3f5b9f We also need -rdynamic for host ASAN.
Change-Id: Iee33ca85c25d9bf126be8318a3b837074ab10076
2014-10-20 13:54:27 -07:00
Dan Albert
7162996734 resolved conflicts for merge of 96c22133 to lmp-mr1-dev-plus-aosp
Change-Id: Ia94c5ad273c3578433d3eb226e8e8de7c1921d34
2014-10-20 13:38:43 -07:00
Dan Albert
66acb2a8ae resolved conflicts for merge of 96c22133 to lmp-dev-plus-aosp
Change-Id: I35a2f403e9e664536b45b5ac9185adf1e1a02442
2014-10-20 13:37:18 -07:00
Dan Albert
2daceaa83c Add support for ASAN in host modules.
Change-Id: Id9ed83499e0eb995f06e845c3153a50677d768b8
2014-10-20 11:37:18 -07:00
Dan Albert
358d9c0d69 am 24c1d149: am a01fa4f8: Merge "LOCAL_NATIVE_COVERAGE should imply -O0."
* commit '24c1d149678dcd03f679bfa0fc29386cee779935':
  LOCAL_NATIVE_COVERAGE should imply -O0.
2014-10-09 01:28:25 +00:00
Dan Albert
6adf02580b am 24c1d149: am a01fa4f8: Merge "LOCAL_NATIVE_COVERAGE should imply -O0."
* commit '24c1d149678dcd03f679bfa0fc29386cee779935':
  LOCAL_NATIVE_COVERAGE should imply -O0.
2014-10-09 01:14:58 +00:00
Dan Albert
4c12c0303c LOCAL_NATIVE_COVERAGE should imply -O0.
Optimization can lead to incorrect coverage results.

Change-Id: I8ade9ab246e292d26ac18821baf9970e29dc1a1f
2014-10-08 17:05:19 -07:00
Ying Wang
230afab744 am e4e50f9b: am 8330c4c5: Merge "Apply LOCAL_CXX_STL to also prebuilts."
* commit 'e4e50f9bb4ae8af11aaddf9825a09ff33241b204':
  Apply LOCAL_CXX_STL to also prebuilts.
2014-10-07 23:23:15 +00:00
Ying Wang
4019305580 am e4e50f9b: am 8330c4c5: Merge "Apply LOCAL_CXX_STL to also prebuilts."
* commit 'e4e50f9bb4ae8af11aaddf9825a09ff33241b204':
  Apply LOCAL_CXX_STL to also prebuilts.
2014-10-07 23:20:51 +00:00
Ying Wang
75e8fcbb6c Apply LOCAL_CXX_STL to also prebuilts.
Because LOCAL_CXX_STL modifies a module's required shared libaries,
we need this for also prebuilt shared libraries and executables.

Change-Id: I418c26143999a613c40aadf990f131b123e0ac3d
2014-10-07 13:07:00 -07:00
Dan Albert
0c68be8c42 resolved conflicts for merge of 55c2adff to lmp-mr1-dev-plus-aosp
Change-Id: Iaa9ac54a065109e877a2f3f88ef740193f97398c
2014-10-06 11:48:44 -07:00
Dan Albert
15cb27748f am 55c2adff: am b6361968: Merge "Remove unused my_compiler_dependencies."
* commit '55c2adfffac9b40992316938699cb36e0818fbbb':
  Remove unused my_compiler_dependencies.
2014-10-06 18:46:02 +00:00
Dan Albert
a8fd66822a Remove unused my_compiler_dependencies.
my_compiler_dependencies was never assigned to, but the way it was
included in the rules prevented the user from being able to use | in
LOCAL_ADDITIONAL_DEPENDENCIES. Since it is unneeded, just remove it.

Change-Id: I74bb59e81b97756296060eea5b7a42909be50130
2014-10-06 10:45:44 -07:00
Dehao Chen
2b0596cfa2 am 295a6d27: Add global option filtering for FDO builds.
* commit '295a6d27f6a2ea04d4ba6072738db7832fa9896f':
  Add global option filtering for FDO builds.
2014-10-02 12:38:03 +00:00
Dehao Chen
295a6d27f6 Add global option filtering for FDO builds.
Change-Id: I95e797f7f5945bb34061d17e49156ca8c8a19854
(cherry picked from commit c7ed00fc00)
2014-10-01 22:10:21 +00:00
Chih-Hung Hsieh
916a954d8c am b9b2d21c: am 4a8d5c1a: Merge "Add local Clang+target specific flags."
* commit 'b9b2d21c04d0ba65ad56a26f8306e9afa7d99694':
  Add local Clang+target specific flags.
2014-09-27 03:00:29 +00:00
Chih-Hung Hsieh
1184754c22 am b9b2d21c: am 4a8d5c1a: Merge "Add local Clang+target specific flags."
* commit 'b9b2d21c04d0ba65ad56a26f8306e9afa7d99694':
  Add local Clang+target specific flags.
2014-09-27 02:59:47 +00:00
Chih-Hung Hsieh
4a8d5c1aaf Merge "Add local Clang+target specific flags." 2014-09-27 02:40:28 +00:00
Chih-Hung Hsieh
619fdb8d77 Add local Clang+target specific flags.
BUG: 17677366
Change-Id: I75522fb56fdf4d27ea1f5f0ae15866b13ae6e206
2014-09-26 17:19:49 -07:00
Stephen Hines
7a5d35b22a am 145eddfd: am 670018fd: Merge "Remove unnecessary CLANG_CONFIG_EXTRA_*_C_INCLUDES variables."
* commit '145eddfd229b118fadd4f4f255dbecc1a79b5e2b':
  Remove unnecessary CLANG_CONFIG_EXTRA_*_C_INCLUDES variables.
2014-09-26 19:53:06 +00:00
Stephen Hines
92ca2234b3 am 145eddfd: am 670018fd: Merge "Remove unnecessary CLANG_CONFIG_EXTRA_*_C_INCLUDES variables."
* commit '145eddfd229b118fadd4f4f255dbecc1a79b5e2b':
  Remove unnecessary CLANG_CONFIG_EXTRA_*_C_INCLUDES variables.
2014-09-26 19:53:06 +00:00
Stephen Hines
f00896663e Remove unnecessary CLANG_CONFIG_EXTRA_*_C_INCLUDES variables.
These aren't needed now that we only use the compiler/headers that exist in
the prebuilts/clang directory.

Change-Id: I9978efb10815e92577d45629db324e0a5094f880
2014-09-25 22:35:16 -07:00
Dan Albert
b43af8807f resolved conflicts for merge of 326f9450 to lmp-mr1-dev-plus-aosp
Change-Id: I10e578a3d10a03312cbc4058a92f02ccaba1739c
2014-09-24 09:51:05 -07:00
Dan Albert
7655a97984 resolved conflicts for merge of 326f9450 to lmp-dev-plus-aosp
Change-Id: I66360da623a6e7ac04610c3252f24ed69f7e4b1e
2014-09-24 09:42:39 -07:00
Dan Albert
4bbc6c790b Add option for generating coverage info.
To enable building with coverage, the environment variable
NATIVE_COVERAGE must be set to true.

Set `LOCAL_NATIVE_COVERAGE := true` to generate coverage information for
a given component.

This is currently not supported for clang (b/17574078, b/17583330).

If static library A is included in a binary B (dynamic or static
executable, or shared library), and A is built with coverage
information, B is required to link with libgcov.a. Since the make does
not offer a good way to track this dependency, link libgcov.a even if
LOCAL_NATIVE_COVERAGE is not set (but still guarded by NATIVE_COVERAGE).
This ensures that all of the libgcov dependencies will always be
resolved, and causes no change in the resulting binary if coverage is
not used.

Bug: 10134489
Change-Id: Id5a19f2c215e4be80e6eae27ecc19b582f2f6813
2014-09-23 15:19:02 -07:00