Commit graph

15247 commits

Author SHA1 Message Date
Nick Kralevich
45545761d2 arm64: restore relro/now
The bug which required this option has been fixed.

Bug: 11434996
Change-Id: I7ab7e2e8ba7b993281902832d01b3ee3ba9e06ef
2014-05-30 15:46:40 -07:00
Nick Kralevich
61cf065ae9 Merge "Use a separate policy for the recovery image." 2014-05-30 18:20:48 +00:00
Andrew Hsieh
5c2c70de88 Merge "Add -latomic to all target builds" 2014-05-30 07:44:02 +00:00
Stephen Smalley
5520f28653 Use a separate policy for the recovery image.
Only the recovery image needs to include the recovery domain
in its policy, so create a separate policy for the recovery image
and replace the root policy with this one when building the
recovery image.

Depends on the change with the same Change-Id in external/sepolicy.

Change-Id: I444107f9821eabf4164ba07a44d03bd71e719989
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-05-29 16:42:49 -04:00
Dave Allison
2a2ba735df Merge "Add libsigchain to the embedded.mk makefile" 2014-05-29 19:51:50 +00:00
Brian Carlstrom
e0df9d9577 Merge "Only enable WITH_DEXPREOPT by default for libdvm.so" 2014-05-29 19:36:38 +00:00
Brian Carlstrom
f2a2406b8c Merge "Remove dependencies on runtime_libdvm and libdvm.so in general" 2014-05-29 19:36:35 +00:00
Andrew Hsieh
4c952d72b7 Add -latomic to all target builds
Projects using stdatomic.h needs libatomic.a in case compiler can't
expand all __atomic* intrinsics. eg, __atomic_is_lock_free in
armeabi/mips.

Adding libatomic.a globally makes more sense than adding
"LOCAL_LDLIB += -latomic " in each project including <stdatomic.h>.
Projects don't need atomic operations won't get redundant DT_NEEDED
entry because libatomic.a is not a shared library.

Change-Id: I81dbf524544c848e667e18ab5eeabff75b5063ef
2014-05-29 11:40:46 -07:00
Brian Carlstrom
3f5ff08dc5 Only enable WITH_DEXPREOPT by default for libdvm.so
Bug: 14298175

(cherry picked from commit 9f8e214a91)

Change-Id: I96ba4e198b7bc1b7d9a502c432590f41c87d05c4
2014-05-29 09:38:04 -07:00
Brian Carlstrom
1e60fe58f0 Remove dependencies on runtime_libdvm and libdvm.so in general
Bug: 14298175

(cherry picked from commit bf8a374a92)

Change-Id: I183d1ff078a54c422305d8798ea200855265ebb6
2014-05-29 09:37:25 -07:00
Ying Wang
b3bed5952b Merge "Add a dummy build recipe for generated RS cpp files." 2014-05-28 23:33:35 +00:00
Ying Wang
65afd710a5 Merge "Add a dummy build recipe for the proto generated header files" 2014-05-28 23:26:01 +00:00
Ying Wang
81ab8339fe Add a dummy build recipe for generated RS cpp files.
Previously the RS cpp files are generated by the timestamp rule. Though
we have the generated RS cpp files depend on the timestamp file, we
don't have a build recipe. In such case gmake does some "optimization"
that it skip recompiling the generated cpp files, because it assumes the
generated cpp files are already up to date even if the rs files have
been updated.

Bug: 15313144
Change-Id: Ie69ecd2c788057d3619f9c7d2a125d44c4a534a1
2014-05-28 16:17:09 -07:00
Ying Wang
5186dac02b Add a dummy build recipe for the proto generated header files
This fixed issue that gnumake skip updating the cpp file that includes
the generated header file when the .proto file gets updated.
For example:
Say a.cc includes b.pb.h, since b.pb.h is just byproduct of the rule
that generates b.pb.cc, and though we have dependency "b.pb.h :
b.pb.cc", but we don't have build recipe for that rule.
Gmake stupidly thinks that b.pb.h must not be updated in that case so
it skips all targets that depends on b.pb.h!
With the dumy build recipe, gmake now doesn't skip the depedent targets.

Bug: 13009798
Change-Id: I39adc09b7656bdd023f578fb8933667944fd974c
2014-05-28 16:15:13 -07:00
Brian Carlstrom
7df64f7c0d Merge "Move to dalvik.vm.lib.2 to force default to libart" 2014-05-28 22:28:35 +00:00
Brian Carlstrom
31f5db27c6 Move to dalvik.vm.lib.2 to force default to libart
Bug: 14298175

(cherry picked from commit 7e127ebe0b)

Change-Id: I0a94e01f46fcc074d8c8fd1e5558fb764ab47361
2014-05-28 14:49:34 -07:00
Ying Wang
f4999d3b8a Merge "Fix pattern rules for $(installed_odex) for libdvm." 2014-05-28 21:25:34 +00:00
Ying Wang
994c226b91 Fix pattern rules for $(installed_odex) for libdvm.
When the VM is libdvm, we don't put the odex files in an arch specific
subdirectory. The previous pattern rules don't work because of the extra
"/". With this change, % evaluates to empty string when it's built for
libdvm; % evaluates to "<arch_name>/" when it's built for libart.
Also removed use of $(create-empty-package), which may causes file name
(dummy) conflict with the rule of package.apk.

Bug: 15311527
Change-Id: I9f9089bc1896b78c1f47834afdb28a3a51d34480
2014-05-28 14:23:26 -07:00
Ying Wang
aae7e3fa66 Merge "Support LOCAL_CLANG with arch/bit suffix." 2014-05-28 16:12:40 +00:00
Elliott Hughes
4afe808c64 Merge "Fix all the system image sizes." 2014-05-28 04:01:53 +00:00
Elliott Hughes
368600b1e8 Fix all the system image sizes.
x86 just bit me. I did manage to build mips today, but I assume it
can't be long before we hit the limit there too if every other target
has hit it already.

Change-Id: I28dfe3b4f9565cb79e0bf6b0ffc55a9d6e64a9b0
2014-05-27 16:47:44 -07:00
Ying Wang
824344af00 Support LOCAL_CLANG with arch/bit suffix.
Precedence: LOCAL_CLANG_<arch> > LOCAL_CLANG_<32|64> > LOCAL_CLANG.

Bug: 15257067
Change-Id: I86b72f3bec162834591287d3b5231b5f40f9a431
2014-05-27 13:06:08 -07:00
Dan Albert
3805f61915 Merge "Revert "Fix for duplicate names in whole static libs"" 2014-05-27 19:41:46 +00:00
Dan Albert
3c12b5c02b Revert "Fix for duplicate names in whole static libs"
This reverts commit 0e5ce8be34.

Change-Id: I68b776cb915fd7be8299ddb2899907046dddadf3
2014-05-27 19:30:36 +00:00
Dan Albert
31101623b3 Merge "Fix for duplicate names in whole static libs" 2014-05-27 18:23:26 +00:00
Ying Wang
294301bb34 Merge "Exclude libstdc++ and libgcc if libc++ is requested." 2014-05-27 17:49:13 +00:00
Narayan Kamath
8d3b9c9e45 Merge "Switch x86_64 emulator to 64 bit primary." 2014-05-27 11:13:42 +00:00
Narayan Kamath
7b31bd3e8f Merge "Remove hardcoded TARGET_PREFER_32_BIT_APPS." 2014-05-27 11:12:34 +00:00
Narayan Kamath
62da5fd161 Switch x86_64 emulator to 64 bit primary.
Also siezes the opportunity to remove the hardcoded
TARGET_PREFER_32_BIT_APPS directing in core_64_bit.mk.
This avoids the need for further hacks but needs supporting
changes to a few apps to force them to 32 bit.

Change-Id: I36ba9e5f5b08dd87d6a4afc27961a436306eed99
2014-05-27 12:12:00 +01:00
Narayan Kamath
214c53a022 Remove hardcoded TARGET_PREFER_32_BIT_APPS.
This isn't required any longer, besides individual products
should be allowed to set this value themselves.

(cherry picked from commit 7b9347a7f9)

Change-Id: If459eab32c6e7831596224ad3503baefbf028133
2014-05-27 12:08:33 +01:00
Dan Albert
0e5ce8be34 Fix for duplicate names in whole static libs
_extract-and-include-single-(host|target)-whole-static-lib was written such that
only the first file of a given name would be extracted and included into the new
library. This patch iterates over each identically named archive member,
extracts them individually, and adds them to the new archive.

Bug: 15110069
Change-Id: Ia08c7be6f40bfc8403908a8808898ada479099b1
2014-05-23 18:23:47 -07:00
Ying Wang
d90de32951 Exclude libstdc++ and libgcc if libc++ is requested.
Bug: 15174002
Change-Id: I24fe428c3520f76cd61f0660b59ba18a1f2d2dad
2014-05-23 16:42:37 -07:00
Ying Wang
6cb69bd4f2 Merge "Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build" 2014-05-23 17:39:40 +00:00
Colin Cross
e45c8607b3 Merge changes Ibc943b75,Ib4ccf373,I30ff439b,I7bde0130
* changes:
  set a prebuilt directory name for the 2nd arch
  add vendor directories to gdb shared library search path
  add 2nd arch gcc to the path
  fix paths when 2nd arch gcc is a different version
2014-05-22 19:28:01 +00:00
Colin Cross
12d18eb563 set a prebuilt directory name for the 2nd arch
In order to install 32-bit gdbserver on a 64-bit build,
prebuilts/misc/Android.mk needs to know the prebuilt directory name
for the 2nd arch.

Change-Id: Ibc943b758eb9404f7f5f9fbbd8720cc67f6a6f01
2014-05-22 12:01:23 -07:00
Colin Cross
3655a68565 add vendor directories to gdb shared library search path
Change-Id: Ib4ccf3739d6b2f14597605ce06f00e4776f67976
2014-05-22 12:01:06 -07:00
Colin Cross
6a5fa0684a add 2nd arch gcc to the path
Add the 2nd arch gcc to the path so users can manually run gdb,
addr2line, objdump, etc.

Change-Id: I30ff439bb6548b897d13bfa87151991d5f2948b3
2014-05-22 12:01:06 -07:00
Colin Cross
03b424a50b fix paths when 2nd arch gcc is a different version
arm64 is using gcc 4.9, arm is using gcc 4.8.  Fix setpaths() to
get a separate version for the 2nd arch.

Change-Id: I7bde01308fc7718360e7d0fbd46b3ae8c5f55fa7
2014-05-22 12:01:06 -07:00
Ying Wang
b0143e2fff Merge "Add some more flags to CLANG_CONFIG_UNKNOWN_CFLAGS" 2014-05-22 17:38:01 +00:00
Ying Wang
8a3f514d44 Merge "Split the rules to build the odex file" 2014-05-22 02:24:59 +00:00
Dmitriy Ivanov
5caca89c5d Merge "Clarify multiarch warnings" 2014-05-22 01:22:00 +00:00
Dmitriy Ivanov
38bba065e0 Clarify multiarch warnings
* Show multiarch related warnings only if my_module_multilib is both

Change-Id: If0c467c1d9b953bd3f40949ab4b97d9329ec021f
2014-05-21 16:40:35 -07:00
Ying Wang
36142f64ae Split the rules to build the odex file
Previously the odex file is byproduct generated by the package.apk rule.
Though we have the odex file depend on the package.apk it doesn't have
its own build recipe. In case package.apk isn't updated but we still
need to update the odex file (such as changed LOCAL_MULTILIB), the odex
file will never be rebuilt.
This change split out the rules to build the odex file and make sure the
build recipe get executed if the odex file needs rebuild.

Change-Id: I60c2f32b536b3d59045301ee863aae1451734aad
2014-05-21 16:24:59 -07:00
Mark Salyzyn
ea65c191e7 Merge "libctest: zap" 2014-05-21 21:02:10 +00:00
Mark Salyzyn
ae0d241144 libctest: zap
Change-Id: Ia3ff0cad0995af428adf2dbdf10587dae904ec7d
2014-05-21 13:27:58 -07:00
Sreeram Ramachandran
90a0edbc0b Merge "Remove netd_client. It has moved to the internal tree." 2014-05-21 16:59:25 +00:00
Sreeram Ramachandran
a7877a4674 Remove netd_client. It has moved to the internal tree.
Change-Id: Iffcdb4900373c05086fd1085b861b6520065b7a3
2014-05-21 09:55:44 -07:00
Ying Wang
966c1e0cae Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build
We already support pure 32-bit and 64-bit-by-default multilib build.
With HOST_PREFER_32_BIT we can build 32-bit-by-default multilib build.
This will be lest disruptive during the period we transition to
64-bit-by-default.

Bug: 13751317
Change-Id: I0d56ce4abbe4afeaacfd70d709f6a349791c0722
2014-05-20 18:03:21 -07:00
Ying Wang
4e151105a0 Merge "Support to extract JNI libs from prebuilt APK" 2014-05-21 01:02:57 +00:00
Ying Wang
7cf9f28b5f Support to extract JNI libs from prebuilt APK
Use LOCAL_PREBUILT_JNI_LIBS to install prebuilt JNI libraries extracted
from the prebuilt apk, or prebuilts as source, to the app specific lib path.
LOCAL_PREBUILT_JNI_LIBS accepts 2 kinds of files:
- Files like @path/to/libfoo.so (path inside the apk) are JNI libs
  extracted from the prebuilt apk. In this case, all embedded JNI libs
  inside the prebuilt apk are stripped.
- Files like path/to/libfoo.so (path relative to LOCAL_PATH) are
  prebuilts in the source tree.

Those prebuilt JNI libs are not defined as modules in the build system,
so this works around possible module name conflict.

Bug: 13170859
Change-Id: I91bb844cc11b3621a85733bc7e8910f168957ef0
2014-05-20 18:02:17 -07:00