Commit Graph

6269 Commits

Author SHA1 Message Date
Ying Wang dedff62c8e Merge "Contain obj of ../ source files in their intermediate dir." 2015-03-11 20:43:41 +00:00
Ying Wang fe593edd53 Merge "Build only 64-bit odex for system server jars." 2015-03-11 20:43:32 +00:00
Ying Wang f25838a7ea Support modules to be installed directly to recovery.img
Previously the recovery binary was configured to be installed to the
system.img and then got copied to recovery.img in the recovery.img's
build rule.
With this change, a module, such as the recovery binary, can configure
itself to be installed directly to the recovery.img, just like how other
modules get installed to system.img.

Bug: 19667686
Change-Id: I46b0b4a95cf078a68999db9c0f6635d6a3f5cd86
2015-03-11 10:38:13 -07:00
Ying Wang 168357aeda Merge "Support .asm being compiled by yasm targeted for x86_64." 2015-03-11 16:37:25 +00:00
Ying Wang fb22a42d4f Contain obj of ../ source files in their intermediate dir.
Previously when a file in LOCAL_SRC_FILES starts with "../", the object
file may escape out of the module's intermediate directory, because we
insert the source file's path (but not with LOCAL_PATH) to the object
file's path. Even worse when two object files escape to the same destination
and cause conflict.
This change fixes the issue by removing the "../" inside the object
files' paths. To do that, we have to set up the compilation rules for
those files one by one, instead of using the one-for-all static
pattern rules.

Bug: 19641115
Change-Id: I19f3c48ece3244fa14acb2caa609deea710840d3
2015-03-10 19:05:15 -07:00
Ying Wang c7ca6173ce Build only 64-bit odex for system server jars.
By default we build both 64-bit and 32-bit odex files for a Java library.
With this change:
- For system server jars (PRODUCT_SYSTEM_SERVER_JARS), we build only
  64-bit odex;
- A library can opt to build only 64-bit odex with
  "LOCAL_MULTILIB := first".

Bug: 19650934
Change-Id: Ic0b7fd381396ed276e6129f883881c5c41c6e154
2015-03-10 11:08:05 -07:00
Ying Wang fe1e5c3453 Support .asm being compiled by yasm targeted for x86_64.
Change-Id: Ia6425c38dd2f7ad2dc697213cd61b7515b9e7aff
2015-03-09 18:57:40 -07:00
Christopher Ferris 46ba5456ad am 708b56ed: Merge "Make sure DEX2OAT_TARGET_CPU_VARIANT is not empty."
* commit '708b56edc879847f418108cf360bc990bb2a502a':
  Make sure DEX2OAT_TARGET_CPU_VARIANT is not empty.
2015-03-07 17:09:20 +00:00
Christopher Ferris 708b56edc8 Merge "Make sure DEX2OAT_TARGET_CPU_VARIANT is not empty." 2015-03-06 21:27:47 +00:00
Andreas Gampe e380c11dde am 9a0382ff: Merge "Build: Fail preopting apps when there are verifier errors"
* commit '9a0382ffe64ad8ccecc15141779627a882f31ee0':
  Build: Fail preopting apps when there are verifier errors
2015-03-06 19:16:47 +00:00
Andreas Gampe 9a0382ffe6 Merge "Build: Fail preopting apps when there are verifier errors" 2015-03-06 19:12:09 +00:00
Christopher Ferris 9de4d5ebb3 Make sure DEX2OAT_TARGET_CPU_VARIANT is not empty.
On non-arm architectures, there is no TARGET_CPU_VARIANT set. For x86,
art assumes that the CPU variant is actually the TARGET_ARCH_VARIANT.
Therefore, if no TARGET_CPU_VARIANT is set, use the TARGET_ARCH_VARIANT.
If TARGET_ARCH_VARIANT is not set, then use default as the value.

Change-Id: I17fc9e3ac7412462103b8f0b287fce106298b741
2015-03-06 10:19:12 -08:00
Andreas Gampe 06d86e929d Build: Fail preopting apps when there are verifier errors
Expectation is that classes in pre-compiled apps should be structurally
sound and not cause a hard failure.

Bug: 19606409
Change-Id: Idc9da4d4c6bd259555671c657d3414a97940717f
2015-03-05 19:18:18 -08:00
Chih-Hung Hsieh 137a9fd622 am 9575e13a: Merge "Filter out unsupported flag: -fprefetch-loop-arrays"
* commit '9575e13aa71248b1ded3e07849a4a7523e76d639':
  Filter out unsupported flag: -fprefetch-loop-arrays
2015-03-06 01:02:27 +00:00
Chih-Hung Hsieh 78df832481 Filter out unsupported flag: -fprefetch-loop-arrays
Change-Id: I55ba9045948a910ebd76c09f9f4ebb6b37eed1e7
2015-03-05 16:02:04 -08:00
Ying Wang a7c669f25b am 71c64dc1: Merge "Reorder lib paths in transform-bc-to-so to avoid build race condition."
* commit '71c64dc1033aed7de0ebb215fc35d09e7fcd9db0':
  Reorder lib paths in transform-bc-to-so to avoid build race condition.
2015-03-05 20:05:17 +00:00
Ying Wang bfc436969d Reorder lib paths in transform-bc-to-so to avoid build race condition.
We should put the NDK library path before
$(TARGET_OUT_INTERMEDIATE_LIBRARIES), so that we link against the NDK
libc/libm, instead of the platform libc/libm in
$(TARGET_OUT_INTERMEDIATE_LIBRARIES), which may still being written out,
because we don't have dependency on them.

Bug: 19613709
Change-Id: I26a8b272e38b7436bca3324246b21cd71349662b
2015-03-05 11:29:30 -08:00
Mohamad Ayyash 9b19382f0e resolved conflicts for merge of fc759204 to stage-aosp-master
Change-Id: Icf58e881286a66cb3ca4cb122fa8c11ec217fbab
2015-03-04 15:43:45 -08:00
Mohamad Ayyash fc759204d6 Merge "Allow flashing a squashfs system image" 2015-03-04 22:55:22 +00:00
Dan Albert a10263ed1f am ccf1cc55: Merge "Fix the mac build."
* commit 'ccf1cc55a4448dc43302624da07d3211356473e2':
  Fix the mac build.
2015-03-04 06:23:10 +00:00
Dan Albert d666bb1009 Fix the mac build.
Bug: 19567451
Change-Id: I6d15259520c9813df1a44d9244c99482f713d114
2015-03-03 21:47:04 -08:00
Ying Wang 850e0b3aff am edab98a4: Merge "Catch more cases of static host executables."
* commit 'edab98a40a0954789c21eaf6c122c99be2ce2d99':
  Catch more cases of static host executables.
2015-03-04 03:28:53 +00:00
Mohamad Ayyash b97746ef09 Allow flashing a squashfs system image
Change-Id: Ic51d11274784a8d2e9d57d5f0b821ebc89680e5a
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2015-03-03 18:54:50 -08:00
Dan Albert b5eb905729 Catch more cases of static host executables.
Bug: 19567451
Change-Id: Ie1de436db74b727421449b43b192e9599ca8fca6
2015-03-03 18:30:27 -08:00
Dan Albert 21b75e269e am d52afdd6: Merge "(Hopefully) fix the Mac build."
* commit 'd52afdd682b26ea6a13c066d6f037c9df6693489':
  (Hopefully) fix the Mac build.
2015-03-04 01:50:21 +00:00
Dan Albert 4f2afde252 (Hopefully) fix the Mac build.
The Mac linker doesn't understand --start-group, which is needed for
properly linking libgcc/libc statically. It isn't needed for dynamic
executables though, so use that driver behavior where appropriate.

Bug: 19567451
Change-Id: Ifeb03bea55bc87561c64ddafdb99f664fef0f00e
2015-03-03 17:42:28 -08:00
Dan Albert 94451789f4 am cfafe554: Merge "Fix building static host executables."
* commit 'cfafe554c0852f5b2c05e5d895b47d032daeec2e':
  Fix building static host executables.
2015-03-03 23:24:40 +00:00
Dan Albert 8bf4cc97c2 Fix building static host executables.
BUILD_HOST_static=1 forces all host binaries to be statically linked.
Since -nodefaultlibs was passed (to disable libstdc++), libgcc wasn't
being passed. This change emulates the driver's behavior.

Also fix default STL selection for BUILD_HOST_static.

Bug: 19567451
Change-Id: I617aab782d40ac76ca5a7d9dddf0f202a4e3a69b
2015-03-03 15:08:11 -08:00
Chih-Hung Hsieh 9a75b4ec35 am d408e607: Merge "Disable tail call optimization and use -mstackrealign to boot up on fugu."
* commit 'd408e6071831f150a08f895ee2de6cfe8c7ff858':
  Disable tail call optimization and use -mstackrealign to boot up on fugu.
2015-03-03 01:44:26 +00:00
Chih-Hung Hsieh d408e60718 Merge "Disable tail call optimization and use -mstackrealign to boot up on fugu." 2015-03-03 01:39:28 +00:00
Chih-Hung Hsieh 73e734bea5 Disable tail call optimization and use -mstackrealign to boot up on fugu.
http://llvm.org/bugs/show_bug.cgi?id=15086,
llvm tail call optimization is wrong for x86.

For Android/x86 to use SSE* instructions safely, stack should be 16-byte
aligned before JNI function call, which isn't true for all x86 device,
so -mstackrealign should be the default.

BUG: 19234330
Change-Id: I4c6676366788772dbe64fd7f0dd33b3ed5c9b80e
2015-03-02 16:50:39 -08:00
Narayan Kamath 59c24c790a am 095c4515: Merge "Remove unused variables."
* commit '095c451541765c7efb9d5a8152f8ef15626ccedb':
  Remove unused variables.
2015-02-27 16:33:23 +00:00
Narayan Kamath 095c451541 Merge "Remove unused variables." 2015-02-27 11:43:34 +00:00
Ying Wang 8485fb074b am 4eec22a6: Merge "Use a less freqent dummy file name: zipdummy"
* commit '4eec22a6627927aaa11a67e3e18d36534af81856':
  Use a less freqent dummy file name: zipdummy
2015-02-26 18:04:07 +00:00
Ying Wang dcd90831e5 Use a less freqent dummy file name: zipdummy
Previously if user has a directory with name dummy in the root of the
source tree, "zip -qd package.apk dummy" fails with:
"zip error: Nothing to do!".
This change mitigates the error.

Change-Id: I642e3bf0378e5b9911a068ecb72f795b3e92f1fe
2015-02-26 09:36:27 -08:00
Narayan Kamath e886392c37 am 37a44faa: Merge "Store native libs aligned to PAGE_SIZE"
* commit '37a44faa7266c8a7e0cc5077a4c028d6f5bfa7f7':
  Store native libs aligned to PAGE_SIZE
2015-02-26 12:45:34 +00:00
Narayan Kamath bc0d368896 Remove unused variables.
Follow up from 13e5965306.

Change-Id: I370e52acd998ce72b4d7dbf2aba604d4b08bb0cf
2015-02-26 12:40:34 +00:00
Dmitriy Ivanov 13e5965306 Store native libs aligned to PAGE_SIZE
- Add a new flag to zipalign (-p) that page aligns shared
  libraries (zip entries ending with ".so") in the archive.

- Add a new build variable LOCAL_PAGE_ALIGN_SHARED_LIBRARIES
  to turn on this behaviour in zipalign.

- Add a new LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS to control
  zip behaviour.

Bug: 8076853
Bug: 19330157

Co-Authored-By: Simon Baldwin <simonb@google.com>
Co-Authored-By: Dimitry Ivanov <dimitry@google.com>
Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
2015-02-26 12:31:40 +00:00
Dan Albert 13baa31921 am 876f45e7: Merge "Make some warnings impossible to override."
* commit '876f45e73f938cdaa7cfc25c43822fc6b274f105':
  Make some warnings impossible to override.
2015-02-25 23:17:56 +00:00
Dan Albert 876f45e73f Merge "Make some warnings impossible to override." 2015-02-25 23:13:13 +00:00
Elliott Hughes 2c5b6ab5ac am 8389deee: Merge "mips64 should avoid common LP64 errors just like arm64 and x86-64."
* commit '8389deee6b355f7dd6b1ff3579179414c6a41e5c':
  mips64 should avoid common LP64 errors just like arm64 and x86-64.
2015-02-25 19:01:07 +00:00
Elliott Hughes d1ea5fbf7b mips64 should avoid common LP64 errors just like arm64 and x86-64.
Change-Id: Ibce5863bee3175671862c1889869b43bcb39a074
2015-02-24 16:04:31 -08:00
Colin Cross 841e4cf2ae am a82f7db9: Merge "add BUILD_NATIVE_BENCHMARK"
* commit 'a82f7db9006ca838fd0c474d2dcc38630ed1fa20':
  add BUILD_NATIVE_BENCHMARK
2015-02-24 20:55:52 +00:00
Colin Cross a82f7db900 Merge "add BUILD_NATIVE_BENCHMARK" 2015-02-24 20:49:56 +00:00
Elliott Hughes 36f179711d am ca15af1b: Merge "Turn on -Werror=implicit-function-declaration for arm64."
* commit 'ca15af1bcde972b6ba3546d45913c9bb51bd93b0':
  Turn on -Werror=implicit-function-declaration for arm64.
2015-02-23 21:35:17 +00:00
Elliott Hughes ca15af1bcd Merge "Turn on -Werror=implicit-function-declaration for arm64." 2015-02-23 21:29:58 +00:00
Elliott Hughes 5081cbf009 am faeae397: Merge "Turn on -Werror=implicit-function-declaration for x86-64."
* commit 'faeae3977159b0b4ca2021c4c657a090eaeb4a56':
  Turn on -Werror=implicit-function-declaration for x86-64.
2015-02-23 18:29:13 +00:00
Elliott Hughes faeae39771 Merge "Turn on -Werror=implicit-function-declaration for x86-64." 2015-02-23 18:23:24 +00:00
Dan Albert 0c91fa84ff Make some warnings impossible to override.
These CFLAGS and CPPFLAGS will always be added last, and are
controlled by the build system. This way we can add warnings that
users are not allowed to disable.

Change-Id: Id71f69249078f62ca2687ecbf764aff0fd3a1c1b
2015-02-23 10:05:51 -08:00
Elliott Hughes f5e204b3f4 Turn on -Werror=implicit-function-declaration for arm64.
Implicit function declarations are much more dangerous on LP64 because
sizeof(int) != sizeof(void*), so any function that returns a pointer will
lose its top bits, leading to relatively hard to debug crashes.

Change-Id: Ia05beffb949ca747833c2e12c40daf896f7a60a5
2015-02-21 13:21:20 -08:00