Commit Graph

6626 Commits

Author SHA1 Message Date
dcashman 214a171424 Remove libc++ from prepackaged shared libs in cts.
Commit 28acbeab18f6083299c07f9ebe769d22e49f8107 removed the dependency of
sepolicy-analyze on libc++, eliminating the only consumer of the library for the
cts host-side tests.  Remove the library since it is no longer needed but leave
the ability to add other shared libs in the future.

Bug: 19566396
Change-Id: I4fbfa44ce9f099ad058fd0630ac48749e389e3e1
2015-05-13 09:07:51 -07:00
Elliott Hughes 224806d00e Turn on _FORTIFY_SOURCE=2 for the host.
Bug: http://b/20558757
Change-Id: Ic0c173d25dc6b2fa9c3122a523af5f37bc1b8c55
2015-05-12 21:41:52 -07:00
Andrew Hsieh 75f3c5a849 Merge "Revert "Revert "Enable linker -fix-cortex-a53-843419""" 2015-05-13 01:08:51 +00:00
Dan Albert 2a4a023a54 Fix using libc++_static in dynamic binaries.
Change-Id: I89bacfbf270d2d1bc1b9b2fa6951b355a67b808c
2015-05-12 14:07:18 -07:00
Andrew Hsieh 0e0259cca6 Revert "Revert "Enable linker -fix-cortex-a53-843419""
This reverts commit 32e1689684.

Now that prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9 is also updated

Change-Id: Id95c1c4cc651c434461655e62b8f23afd56b53e4
2015-05-11 06:03:07 +00:00
Ying Wang 9db69c1b08 Merge "Add task to print transitive dependencies and their license files." 2015-05-07 22:43:56 +00:00
Ying Wang 39b9b690a8 Add task to print transitive dependencies and their license files.
Print modules and their transitive dependencies with license files.
To invoke, run
"make deps-license PROJ_PATH=<proj-path-patterns> DEP_PATH=<dep-path-patterns>".
PROJ_PATH restricts the paths of the source modules;
DEP_PATH restricts the paths of the dependency modules.
Both can be makefile patterns supported by makefile function $(filter).
Example:
  $ make deps-license packages/app/% external/%
  prints all modules in packages/app/ with their dpendencies in external/.
The printout lines look like "<module_name> :: <module_paths> :: <license_files>".

Bug: 20823995
Change-Id: I06b66e85ff56c8628bffa3d948085ed45870100f
2015-05-07 15:43:01 -07:00
Dmitriy Ivanov e24b6f77ff Do not pack relocations for executables
Bug: http://b/20665974
Change-Id: Ibc13b5d6bd05dfbc7ff8475068fe7363f58e7e67
2015-05-07 13:10:02 -07:00
Dan Albert 5ee74388b1 Merge "Disallow using stlport." 2015-05-06 19:53:43 +00:00
Dan Albert 3a360a7353 Disallow using stlport.
The only remaining users of stlport are vendor blobs. Prevent any new
users from using it.

Bug: http://b/15193147
Change-Id: I577a16c8c52e2c7d939c3b5026e18ad90e4b9f26
2015-05-06 10:10:30 -07:00
Dan Albert 0ad5bd22c8 Cleanup libc++ configuration.
Change-Id: I2162f2a19c7f13cfbd4a2530a783a4e671d7cdb1
2015-05-06 10:09:50 -07:00
Dan Albert b2ce04b431 Merge "Make Windows a non-multilib target." 2015-05-05 23:39:00 +00:00
Dan Albert dc94137927 Make Windows a non-multilib target.
We don't have a toolchain for 64-bit windows.

This allows running `USE_MINGW=1 mm` in a directory that has a host
module with LOCAL_MULTILIB := both.

Change-Id: I31f981b38fb80b0d6582bab0a4bd580a3c654c91
2015-05-05 15:46:50 -07:00
Dan Albert b5ccb461ed Merge "Select the correct target STL with USE_MINGW." 2015-05-05 21:40:59 +00:00
Dan Albert e76bb83fcd Fix JDK check for USE_MINGW=1.
Change-Id: I3bdd9258e8870fc00a5f1f74682a949dc487d851
2015-05-05 11:41:52 -07:00
Dmitriy Ivanov 392569c12c Fix mips build
Change-Id: Ifbb2df36c173511c118f34cfa39bb01ca7f7d380
2015-05-04 18:10:47 -07:00
Chih-Hung Hsieh f274888870 Merge "Upgrade x86 gcc to 4.9 and disable devirtualization." 2015-05-04 23:36:51 +00:00
Dan Albert 88a8ce6946 Select the correct target STL with USE_MINGW.
The previous check tested against USE_MINGW even for target builds.
Hadn't been a problem because people don't typically set USE_MINGW
directly.

Change-Id: I90fe0ea890c44917eb29dd02d7c7f76c19e7fbd6
2015-05-04 16:34:19 -07:00
Dan Albert b9a8aa63cb Merge "Fix prebuilts for target builds with USE_MINGW=1." 2015-05-04 22:46:58 +00:00
Dan Albert 216ecac61e Fix prebuilts for target builds with USE_MINGW=1.
USE_MINGW=1 mm didn't work in directories that contained target modules
because the build system would use the Windows locations and extensions
when trying to find the host GCC prebuilts. Windows is the target OS,
not the OS we're building from.

Change-Id: Ic994fed15388d0c7d393f71ba28fe7afdc659f5c
2015-05-04 22:44:39 +00:00
Chih-Hung Hsieh 90036610dd Upgrade x86 gcc to 4.9 and disable devirtualization.
Also filter out gcc-only flags -Wno-clobbered and -fno-devirtualize
when compiled with clang/llvm.

BUG: 19872411
Change-Id: I6de57583be04da607f569df65e93531787dbb789
2015-05-04 14:04:58 -07:00
Dmitriy Ivanov 86bd653f70 Pack module before making symbolic version
We need PT_LOAD segments to match for the gdb sake.
  If we pack module after stripping symbolic version
  PT_LOAD differ from actual ones; this confuses gdb.

Bug: http://b/20687795
Change-Id: If7b1ffcda918d0cc47051a30ca1202007ed62403
(cherry picked from commit 258b29cf76)
2015-05-04 13:13:01 -07:00
Chris Dearman ab3a5f490c Configure synci generation explicitly
The default for synci generation is compiler version dependent

Change-Id: I3f94cabd98c45aaa4e5149e8bb050dc47efa61ca
2015-04-30 13:22:16 -07:00
Dmitriy Ivanov 8387d99ec3 Revert "Revert "Pack relocations for mips64""
This reverts commit 6399dcce59.

Bug: http://b/20658994
2015-04-29 17:08:54 -07:00
Dmitriy Ivanov cb2b3d47ad Revert "Revert "Pack relocations for mips""
This reverts commit d05fd6fc82.

Bug: http://b/20658994
Change-Id: Iccbd4846b310306ed11b87f4566b8aaadfa63ebb
2015-04-29 15:32:10 -07:00
Dimitry Ivanov b755009325 Merge "Revert "Pack relocations for mips"" 2015-04-29 19:14:17 +00:00
Dimitry Ivanov dcf8bd8c07 Merge "Revert "Pack relocations for mips64"" 2015-04-29 19:03:56 +00:00
Dimitry Ivanov 6399dcce59 Revert "Pack relocations for mips64"
This reverts commit 8bd30fe3cb.

Bug: http://b/20658994
Change-Id: I6c31094559a12b824344802bf3993f91aee79a26
2015-04-29 18:59:05 +00:00
Dimitry Ivanov d05fd6fc82 Revert "Pack relocations for mips"
This reverts commit 9dc1a7359f.

Bug: http://b/20658994
Change-Id: Ib10c764a7d06db823ee2fccfa47240e0a639d4bc
2015-04-29 18:57:54 +00:00
Dan Albert 5619dbec25 Don't pack ASAN executables.
The relocation packer is causing the kernel to load the executable
overlapping ASAN's shadow space.

Bug: http://b/20665974
Change-Id: Ifc5914f4fbed5f4f00ed1c795d01cf2fcb849cfe
2015-04-28 15:00:15 -07:00
Dan Albert 1f0d53080b --no-as-needed needs -Wl.
Not sure why my checkbuild passed.

Change-Id: Iead84121daaaa32c5dd1f0712e9b7caaffd58352
2015-04-28 14:55:50 -07:00
Dan Albert 8a31153ae0 Make asan more closely match clang behavior.
Always link libm with asan. Hasn't been a problem before because ASAN
was only ever used when libc++ was as well, which already links libm.

Pass --no-as-needed for host modules.

These aren't needed for the target builds because the target uses the
shared RTL.

Change-Id: I5d6a3c2dd557b5231be2b7711df6438693753a88
2015-04-28 14:09:34 -07:00
Dan Albert 9f17655453 Fix bad variable names.
My working tree was still dirty when I verified the original change.

Change-Id: I3e6fa6908b809c016231b398c5d30d8cce3b87ab
2015-04-28 11:26:45 -07:00
Evgenii Stepanov 55f3c4c25e Merge "Fix AddressSanitizer link order and multilib setup." 2015-04-27 22:46:41 +00:00
Evgenii Stepanov f0b15e173b Fix AddressSanitizer link order and multilib setup.
ASan runtime library (when using dynamic linking) must be the first
dependency of the main executable to achieve correct symbol
interposition. This matches how the clang driver works.

In multilib setup, ASan-RT name depends on the target arch:
  /system/lib/libclang_rt.asan-arm-android.so
  /system/lib64/libclang_rt.asan-arm64-android.so

We also set RPATH to /system/lib/asan or /system/lib64/asan
to have a place for ASan-only versions of system libraries.

Change-Id: I5c0cdb89e5e08a1950eb276e406da9f31a6e52dd
2015-04-27 14:48:35 -07:00
Dan Albert 959f0eccb4 Merge "Add LOCAL_SANITIZE_RECOVER." 2015-04-27 19:53:02 +00:00
Dan Albert 4111d4804a Add LOCAL_SANITIZE_RECOVER.
This is needed for projects that have known ubsan issues that we can't
fix right away (perhaps because it's an upstream project that we're
diligent about keeping in sync with upsteam).

Also make the normal ubsan use -fno-sanitize-recover=all by default.

Change-Id: I1b0f3309792f32dbd08c18816d7306e76c8d7c30
2015-04-27 11:07:38 -07:00
Elliott Hughes b271669a0c Merge "Fix a trivial comment typo." 2015-04-25 18:04:21 +00:00
Elliott Hughes ae1d4b0d18 Fix a trivial comment typo.
Bug: https://code.google.com/p/android/issues/detail?id=170069
Change-Id: Iacd308893561a991971b191d4d10a78ca82753d4
2015-04-25 11:02:40 -07:00
Nick Kralevich 100acd1001 host compiler: enable compiler hardening flags
Enable the following compiler hardening flags:

* -Wl,-z,relro
* -Wl,-z,now
* -fstack-protector

relro / bind_now make the relro region read-only after linking,
preventing certain attacks against ELF data structures.

stack-protector adds stack canaries, which can detect exploits
which overwrite parts of the stack.

Explicitly not added in this change is FORTIFY_SOURCE=2. Adding that
option turns on glibc's warn_unused_result attributes. This generates
a huge number of new compile time warnings, and for the multiple
makefiles which have -Werror in them, turns those warnings into errors.
I'm not able to fix all the errors right away.

Bug: 20558757
Change-Id: I86791177c6695f5325233d9dd9a5dd3ccc2b1a2f
2015-04-24 21:26:08 -07:00
Dmitriy Ivanov 8bd30fe3cb Pack relocations for mips64
Bug: http://b/18051137
Change-Id: I063c5d6cf007658c0efe9cb1d65ed8026b3e7dae
2015-04-24 16:34:09 -07:00
Dmitriy Ivanov 4fa4e4befd Merge "Do not pack relocations for prebuilts by default" 2015-04-24 22:56:08 +00:00
Dmitriy Ivanov 64762c3027 Do not pack relocations for prebuilts by default
Do not pack relocations for prebuilds unless
 LOCAL_PACK_MODULE_RELOCATIONS is true

Bug: http://b/20537715
Bug: http://b/18051137
Change-Id: Iddef3b09741da6ae10d73c98103b868cc7695d38
2015-04-24 15:33:14 -07:00
Dmitriy Ivanov 9dc1a7359f Pack relocations for mips
Bug: http://b/18051137
Change-Id: Id5e0adfb55273f23e1c99b4eecb318c6b8d19989
2015-04-24 12:20:02 -07:00
Dmitriy Ivanov b1c2727aec Merge "Pack relocations for x86" 2015-04-24 17:44:09 +00:00
Dmitriy Ivanov 1d4804ccd1 Pack relocations for x86
Bug: http://b/18051137
Change-Id: I3f316343e9bbd2037a9583d5b6fb41a06be153cd
2015-04-24 10:34:59 -07:00
Dmitriy Ivanov 3b51f20be9 Disable packed relocations for NDK builds
Bug: http://b/20537715
Change-Id: I1289a88d5eb694980b026b695cb25edd8ba76ed5
2015-04-23 18:55:23 -07:00
Dmitriy Ivanov 4c2d1a64fb Pack relocation tables for dynamic executables
Add replocation-packer step for dynmic executables.

  Enable it by default for arm and arm64 platforms.

Bug: http://b/18051137
Change-Id: I0c88fd31595bcea62a087f219acb9ecf9c80f2e5
2015-04-23 12:07:16 -07:00
Dimitry Ivanov 1eca10fa9d Revert "Pack relocation tables for all dynamic executables"
This reverts commit e7a1b8a0c6.

Change-Id: I1a2185e1c68d364941e3b3e525a8c4a7a42e0cc1
2015-04-23 04:22:33 +00:00
Dmitriy Ivanov e7a1b8a0c6 Pack relocation tables for all dynamic executables
Bug: http://b/18051137
Change-Id: I277277d5f5eb450ef9b4a23cfec16d75d977eb89
2015-04-22 13:30:43 -07:00
dcashman ab59266db0 Merge "Add lib dirs to cts distribution." 2015-04-22 17:02:32 +00:00
dcashman 17412c8305 Add lib dirs to cts distribution.
Add ability to include dirs to the cts distribtion to enable bundling of shared
libraries on which host-side executables rely.

Bug: 19566396
Change-Id: Id501874244ae98fbfef2aa591885c88dee5b8b02
2015-04-21 17:53:21 -07:00
Dmitriy Ivanov 4eb120b999 Remove unsupported *_COMPRESS_MODULE_SYMBOLS
Change-Id: Ibb7da2997a0bb5b9f435213c9d3206bc4aad18db
2015-04-20 12:24:12 -07:00
Nick Kralevich 5aa0223c6a Support LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES for prebuilt APKs
If a prebuilt APK contains shared libraries and the flag
LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES := true is set, then
uncompress any shared libraries stored within the APK.
This allows processes to load the shared library directly from
the APK.

Bug: 20247329
Bug: 8076853
Bug: 1162500
Change-Id: Iac4db32457d9ce31eb7256410023819b44fda0a6
2015-04-17 16:53:15 -07:00
Dan Albert b687444051 Merge "Add support for a partial ubsan build." 2015-04-17 19:33:02 +00:00
Dmitriy Ivanov e3aa1c1f85 Merge "Remove LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS" 2015-04-17 18:50:13 +00:00
Dmitriy Ivanov 8f9487431c Remove LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS
Use LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES instead.

Change-Id: Id30529fbc1652d066e0008813352848b5e404ab9
2015-04-17 11:39:04 -07:00
Dan Albert b5b2ffe3be Add support for a partial ubsan build.
Some of the ubsan checks expose a few pathological performance cases
in clang, and thus aren't suited to be used in SANITIZE_HOST.

This mode is also supported on the target despite not having the
target runtime libraries for ubsan by generating traps.

Change-Id: I0b0f0a08ca84d72e44e2174a66726b1c5e5cad7e
2015-04-17 11:37:03 -07:00
Dan Albert 4c92a68127 Fix misuse of my_sanitize_host.
Ying pointed out in https://android-review.googlesource.com/#/c/147290
that my_sanitize_host would be read as some garbage value for target
builds. Move the configuration later and don't use the local at all.

Change-Id: Id8a095821d000a184e72f950b9481597073a7044
2015-04-17 11:32:57 -07:00
Dan Albert 94b579166f Make use of sanitizers without clang an error.
Previously using a sanitizer would imply clang. It should be an error
instead so it's more obvious.

Change-Id: I67c949bfda3718a0d19da7e358b5fde447fce334
2015-04-17 11:06:24 -07:00
Dan Albert 27ccb75af7 Clean up sanitizer configuration.
* Refactor a few pieces to avoid deeply nested conditionals.
 * LOCAL_SANITIZE := never replaces LOCAL_ADDRESS_SANITIZER := false.

Change-Id: I68bb8c5edda6ecd40179c5ba9f18d06e96aaa260
2015-04-17 09:39:12 -07:00
Dan Albert 4ed9508842 Merge "Add support for ubsan." 2015-04-15 22:06:15 +00:00
Kenny Root dff3755a93 Move package signing after file stripping
For dex preopt and JNI library extraction, we should remove the
classes.dex and .so files before we sign the APK so that there
isn't an entry in the manifest.

Prebuilt APKs which are pre-signed will simply not have the files
removed. This may cause some system.img bloat, but signature checks make
this necessary.

Bug: 20247329
Change-Id: I4742d1aa3aa64ab5aea2264304cb8c0bea24f784
2015-04-15 12:40:22 -07:00
Mark Salyzyn 8b75ec1c7b Merge "disttools: add liblog, libcutils and libselinux shared libraries" 2015-04-15 14:45:05 +00:00
Dan Albert ad1961a747 Merge "Don't use libunwindbacktrace for non-ARM." 2015-04-14 23:17:41 +00:00
Mark Salyzyn c506e74dc8 disttools: add liblog, libcutils and libselinux shared libraries
Bug: 19908228
Change-Id: I48450a9fb917408cb3bc0e41d70c0593acd2b884
2015-04-14 15:17:16 -07:00
Dan Albert 2d215e38c0 Merge "Use libcompiler_rt-extras on the host too." 2015-04-14 22:04:56 +00:00
Dan Albert 3e99e66213 Don't use libunwindbacktrace for non-ARM.
After fixing the link order here, it seems libunwindbacktrace no
longer works for exception unwinding, but libgcc now does.

Change-Id: Ice79af4b8f234ed6a053ee818b6dec3aa9706c8a
2015-04-14 14:42:45 -07:00
Andrew Hsieh f37e96e232 Merge "Revert "Enable linker -fix-cortex-a53-843419"" 2015-04-13 23:48:28 +00:00
Andrew Hsieh 32e1689684 Revert "Enable linker -fix-cortex-a53-843419"
This reverts commit 54b22a5a70.

Change-Id: I23613490030783fb6da678de5a25f37caebe5f97
2015-04-13 23:39:45 +00:00
David Srbecky c8400a3e2f Merge "Add --include-cfi compiler option." 2015-04-13 20:34:50 +00:00
David Srbecky 299d3f4960 Add --include-cfi compiler option.
Decouple generation of CFI from the rest of debug symbols.
This makes it possible to generate oat with CFI but without
the rest of debug symbols.

This is in line with intention of the .eh_frame section.
The section does not have the .debug_ prefix because it
is considered somewhat different to the rest of debug symbols.

Change-Id: I32816ecd4f30ac4e0dc69d69a4993e349c737f96
2015-04-13 19:50:51 +01:00
Andrew Hsieh 7bd978c2b3 Merge "Enable linker -fix-cortex-a53-843419" 2015-04-13 03:06:50 +00:00
Pirama Arumuga Nainar dbecad05a9 Merge "Use -Wno-format-pedantic to disable overly aggressive format string warning." 2015-04-10 21:23:12 +00:00
Stephen Hines 69bd465b6e Merge "Don't use -Wl,--fix-cortex-a8 for Cortex A7, A9, A15, Krait or Denver" 2015-04-10 16:17:52 +00:00
Stephen Hines b992bfcf33 Use -Wno-format-pedantic to disable overly aggressive format string warning.
Bug: 20148343

The latest clang warns on "%p" being used with non-void pointer types, which
would require a great deal of cleanup in several sub-projects.

Change-Id: I4175d5cf8709504455067c906a2eb8ccc8e25432
2015-04-10 09:12:38 -07:00
Dan Albert 30a9c351d6 Use libcompiler_rt-extras on the host too.
Clang will sometimes generate this call (dex2oat with ubsan is one
known case), and it doesn't exist in libgcc.

Change-Id: I2eb68e2a326eb0407dca03b5870077eeebca1c0a
2015-04-09 16:38:55 -07:00
Colin Cross 7c2bfaf329 Merge "Change the default multilib for host libraries to "both"" 2015-04-09 20:47:16 +00:00
Ying Wang 42a3e879b6 Merge "Remove ancient ranlib workaround on Mac OS X." 2015-04-09 17:07:44 +00:00
Ying Wang aaf9a5b0cc Remove ancient ranlib workaround on Mac OS X.
Apparently we don't need it for Mac OS X 10.7 and above.

Change-Id: I5ee81700c16e8c66b2d5f2b373fd2d523b5ec018
2015-04-09 10:06:33 -07:00
Andrew Hsieh 54b22a5a70 Enable linker -fix-cortex-a53-843419
Change-Id: Icb8a4ce4d5688847cfe536eba2139cdf7f6406f3
2015-04-09 12:37:36 +08:00
Tao Bao 87df99f2f6 Merge "Fix the font size selection for recovery mode" 2015-04-08 23:57:31 +00:00
Ying Wang 2594d3d121 Merge "Remove unnecessary confusing use of $(intermediate)." 2015-04-08 23:40:34 +00:00
Ying Wang 62925a993a Remove unnecessary confusing use of $(intermediate).
Change-Id: I0e73c3c1bf94540419e1fd227a3096da148e2459
2015-04-08 16:37:34 -07:00
Dan Albert 08cca28f92 Add support for ubsan.
Rather than adding LOCAL_UB_SANITIZER, LOCAL_THREAD_SANITIZER, etc for
each new sanitizer, deprecate LOCAL_ADDRESS_SANITIZER in favor of
LOCAL_SANITZE that mirrors the behavior of -fsanitize=<sanitizers>.

For example, the following will use both asan and ubsan:

    LOCAL_SANITIZE := address undefined

We'll leave LOCAL_ADDRESS_SANITIZER around for compatibility until we
can clean up the tree.

Change-Id: I8a62315129d4753f8e992584ca6db1e5dfdd4d2a
2015-04-08 15:52:04 -07:00
Nick Kralevich 6d08a0d3fc Merge "AndroidConfig.h: ensure HAVE_MALLOC_H always has a value." 2015-04-08 22:50:03 +00:00
Tao Bao abbc911632 Fix the font size selection for recovery mode
shamu has a 560dpi density, which is between xxhdpi and xxxhdpi. It
deserves the large font (18x32), otherwise it falls back to use the
small one and makes it mostly unreadable under recovery mode. Amend
the list to include 560dpi and 400dpi that are higher than xhdpi.
Ideally we should map string formats back to numbers for easy
comparison (and to handle any high but odd density values).

Change-Id: Ie08d9ce5e1c8850ff30a79bcbfd1b89e971b7e07
2015-04-08 15:39:33 -07:00
Ying Wang c45a47b5f3 Better way to package up the otatools-package.
With this, you can easily add more executables, jars or shared libraries
to the package. Also now it automatically takes care of
32-bit-v.s.-64-bit library issue.

Change-Id: I5afe00fadc978d0da229b192eca1a4b1c149764e
2015-04-08 12:40:37 -07:00
Nick Kralevich 9b44afb452 AndroidConfig.h: ensure HAVE_MALLOC_H always has a value.
Some programs (cough sqlite cough) do an improper check to see if
HAVE_MALLOC_H is defined. Instead of defining it with no value,
define it with a value so those checks pass.

Needed for bug: 20099586

Change-Id: I4c293b2c1b5f4caad85ffc1fc34ac385bab23f5c
2015-04-08 12:21:54 -07:00
Colin Cross 9d59f41776 Change the default multilib for host libraries to "both"
Change host library builds to build for both architectures to
match device builds, removing the need for LOCAL_MULTILIB := both
in all the art library makefiles.

Change-Id: I2689f67c66f5055f93941f40b3e825127f693eca
2015-04-08 18:09:52 +00:00
Ying Wang 18ecae31e6 Merge "Convert bc depfiles to .P files." 2015-04-04 01:09:55 +00:00
Ying Wang b931956076 Convert bc depfiles to .P files.
So you don't need clean step when a header file gets moved or deleted.

Change-Id: Iec0d63b89ba17c4ef0ad75f4a52b6759f2bff58a
2015-04-03 16:55:09 -07:00
Elliott Hughes 98ff711a5d There's no such thing as _THREAD_SAFE.
At least, as far as I can tell from the internet and from grep in /usr/include
on a Mac.

Change-Id: I7f39bb2013db88e59f604e4491344d0d342e5f0b
2015-04-03 13:41:10 -07:00
Elliott Hughes 8a11491bc9 Remove HAVE_PRINTF_ZD.
Change-Id: Ie7677e4816ad886c13a8ac869e7c7342082a350f
2015-04-03 13:05:53 -07:00
Elliott Hughes dbaee628ec Merge "Remove HAVE_STRLCPY." 2015-04-03 19:42:06 +00:00
Ying Wang 555b7770fe Merge "Move the inclusion of depfile to where it's generated." 2015-04-03 16:55:44 +00:00
Ying Wang cddece6f8f Move the inclusion of depfile to where it's generated.
Change-Id: Ib7ed6d7d9105e49961ac467fd1d390060d4f5c38
2015-04-03 09:53:41 -07:00
Ying Wang 58912c874b Merge "Don't fail build of otatools if there are no device certificates" 2015-04-03 15:57:57 +00:00
Ying Wang 62003acdcc Merge "Use PRIVATE_ALL_OBJECTS" 2015-04-03 01:03:50 +00:00
Ying Wang 854607ec49 Use PRIVATE_ALL_OBJECTS
Instead of the dirty $(filter) call.

Change-Id: Idd3c9be570a00dc365a08e5b4ba1cb2e1f0ce005
2015-04-02 18:02:33 -07:00
Elliott Hughes 8f06d8afb8 Remove HAVE_STRLCPY.
Change-Id: I27864a9075183de5bd83569d53a00fc2f53c96df
2015-04-02 16:43:52 -07:00
Chih-Hung Hsieh 9205bc1da6 Filter out gcc flags that are not recognized by clang.
Change-Id: I04e95fc3b0cb2825bf90a55916f89d25fa9fc475
2015-04-02 14:42:20 -07:00
Ying Wang 71d4c95f83 Merge "Fix typo." 2015-04-02 19:49:13 +00:00
Ying Wang 36b039a2d6 Fix typo.
Change-Id: Ic934ed8610a4f03fbfb3d06dff4d911734a9d818
2015-04-02 12:48:32 -07:00
Claes Elgemark ed1158e01f Don't fail build of otatools if there are no device certificates
Change-Id: I32723701d952ef2243ce0234132fa9876f0f21b6
2015-04-02 17:38:29 +00:00
Dan Albert 343ed674e3 Use prebuilt libclang_rt.profile.
Bug: 17574078
Change-Id: I4838cd5d125a0b2bf76aad2fdaef1ee3122687e8
2015-04-01 19:03:22 -07:00
Stephen Hines 9a98c47c64 Merge "Don't warn on definition of possibly reserved identifiers." 2015-04-01 18:50:29 +00:00
Neil Fuller 2ff6a3bbdf Merge "Add explicit dependency on tzdata_updates_intermediates for CTS" 2015-04-01 17:43:54 +00:00
Neil Fuller 391d4e9c75 Add explicit dependency on tzdata_updates_intermediates for CTS
The build was working on AOSP, but fails downstream when using
Jack because the javalib.jar file needed by CTS is not being
built by default there.

Change-Id: I8dd836b33a4e1bae5af623db3822de99e9b05cf0
2015-04-01 18:02:46 +01:00
Tao Bao 536029551d Merge "Add support to sign bootable images with vboot_signer" 2015-04-01 16:54:44 +00:00
Tao Bao d95e9fd267 Add support to sign bootable images with vboot_signer
Add vboot properties to the dictionary file, which will be packed into
the target_files zip. Add support in packaging and OTA scripts to
sign the generated bootable images (boot.img and recovery.img) when
vboot is enabled.

Change-Id: I08758ced03d173219415bca762bbdb66c464a9f5
(cherry picked from commit 5d5a3bd9e8d8b14b71d1b2105417a2958d13d3d2)
2015-04-01 09:23:08 -07:00
Dan Albert 5036729c41 Add unwinder linking to STL setup.
Previously we were bundling this into libc++ and having each binary
resolve its symbols from there. This means that the unwinder that gets
used for a given binary is sensitive to the order in which its
libraries are linked. Making this a static library dependency of each
binary means the right unwinder will always be used.

Bug: 18471342
Bug: 19958712
Change-Id: I782d212784dbf85355b5d9146d7460d675259a0e
2015-03-31 18:29:23 -07:00
Dan Albert 91f713a168 Revert "Revert "Fix the libgcc/libatomic link order.""
This reverts commit e440c3c07b.
2015-03-31 16:42:52 -07:00
Neil Fuller 3cc6a0f22f Merge "Addition of a CTS suite for tzdata update code" 2015-03-31 08:30:51 +00:00
Chih-hung Hsieh d63c78e058 Merge "Allow -mcpu=cortex-a15 for clang" 2015-03-27 22:33:04 +00:00
Ying Wang 454bcff255 Add back Java resources to apk without Java code.
With commit 33360dd569 we moved Java
resource packaging forward to creation of the jar file. But the Java
resource packaging will be skipped if a module has no Java code at all.
(The build system does support building an apk without Java code.)
In this change we add back the Java resources directly to the built apk
when the apk has no Java code.

(cherry-picked from commit 8b27d1879c)

Bug: 19947218
Change-Id: I0e1a65a9cbe656974f8ef3923b2f15e9efa5feb9
2015-03-27 11:30:51 -07:00
Ying Wang 1b23b33d92 Merge "MKBOOTIMG override were missing in two places" 2015-03-27 16:47:15 +00:00
Ying Wang d5415dc778 Merge "Fix: exit code is 0 even when check-boot-jars.py fails" 2015-03-26 23:25:32 +00:00
Ying Wang a2292c94d1 Support to build image of root file system with /system and ramdisk combined.
Added support to build system.img that combines contents of /system and
the ramdisk, and can be mounted at the root of the file system.
To enable this feature, define BoardConfig.mk variable:
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true

Ideally we would just change TARGET_OUT (the path of the staging system
directory) to under TARGET_ROOT_OUT. But at this point many places in
the build system assume TARGET_OUT is independent of TARGET_ROOT_OUT and
we can't make it easily configurable.
Instead this implementation takes the least intrusive approach:
We don't change TARGET_OUT or TARGET_ROOT_OUT. We just assemble a
temporary staging directory that contains contents of both TARGET_OUT
and TARGET_ROOT_OUT, in build_image.BuildImage() of
tools/releasetools/build_image.py.
When build_image.py is directly called from the makefile, we pass in the
parameters from the global dictionary; when build_image.BuildImage() is
called from add_img_to_target_files.py, we need to override values to
point to files extracted from the target_files zip file.
We need to combine the fs_config files of both /system and ramdisk,
when fs_config is enabled.

Also this change refactored build_image.BuildImage() by moving the extra
parameters to the image property dictionary.

(cherry-picked from commit 0eabd4f2c5)

Bug:19868522
Change-Id: Iafc467a0e3427b0d6ad3b575abcc98ddcc9ea0f1
2015-03-26 10:35:00 -07:00
Neil Fuller 56128c5178 Addition of a CTS suite for tzdata update code
Bug: 19941636
Change-Id: Id0985f8c5be2f12858ee8bf52acf52bdb2df8741
2015-03-26 15:18:19 +00:00
Richard Uhler e7173cee10 Merge "Store odex files in oat/<isa>/ directory." 2015-03-26 14:57:33 +00:00
Jiyong Park eb745aaf74 Fix: exit code is 0 even when check-boot-jars.py fails
Fix the bug that build is still success when boot jars contain
non-whitelisted classes. Now, check-boot-jars.py correctly
finishes with exit code 1 when non-whitelisted classes are found.

Change-Id: Id5c80ef9fdb70213d878d569f6033be2c9eb90d3
2015-03-26 13:25:06 +09:00
Stephen Hines f68002187a Don't warn on definition of possibly reserved identifiers.
Change-Id: Icfcfa94aac0503c97dee0ff4d0cd49107201526d
2015-03-25 17:28:57 -07:00
Christopher Ferris a45223b635 Merge "Revert "Switch x86 and x86_64 to 4.9. Attempt #2."" 2015-03-25 18:28:53 +00:00
Christopher Ferris c9d2952e1e Revert "Switch x86 and x86_64 to 4.9. Attempt #2."
This reverts commit 6fb735b071.

Change-Id: I64b868cdfb3571de5e8b01e4257b5dfa9ee44d0d
2015-03-25 18:27:21 +00:00
Ying Wang e9b15e2ccd Merge "Switch x86 and x86_64 to 4.9. Attempt #2." 2015-03-25 18:11:54 +00:00
Bernhard Rosenkränzer 4da707176b Don't use -Wl,--fix-cortex-a8 for Cortex A7, A9, A15, Krait or Denver
-Wl,--fix-cortex-a8 is a workaround for an Erratum in Cortex-A8
processors. It slightly increases code size and decreases performance,
and there's no point in using it on non-A8 CPUs.

Instead of forcing it unconditionally, use it when targeting
Cortex-A8 or generic armv7-a (which might or might not be A8).

Change-Id: Ifa59765d380445237edccfe5440a67b3ba1e459a
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2015-03-25 17:21:02 +01:00
Bernhard Rosenkränzer a24a9a8e62 Allow -mcpu=cortex-a15 for clang
Clang 3.6 (including the snapshot present in AOSP) added support for
-mcpu=cortex-a15 -- there's no need to fall back to generic armv7-a
anymore.

Change-Id: I8a582261ac35e32f8f1def1d244cf83f2096520d
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2015-03-25 16:59:46 +01:00
Per Astrand cab6699160 MKBOOTIMG override were missing in two places
The change follows the patten found in "Package OTA" and other places
to allow for overriding the mkbootimg command.

Now pass MKBOOTIMG variable to get make_recovery_patch and add_image_to_target
to use the tool set in BOARD_CUSTOM_MKBOOTIMG for boot/recovery image
generation.

Change-Id: I78533c25e87c2750eb24ac1bf39e4b7ca321a441
2015-03-25 16:02:50 +01:00
Chih-Hung Hsieh 44fe7554c8 Remove special x86 flag that disables tail call optimization.
Clang's tail call optimization for position independent code
only works when the callee was called (bound in GOT) before
the jump through GOT.
It does not work for some lazy bound Android tail callee.
We used special flag to disable all tail call optimization.

This change removes that global flag and depends on
clang compiler fix from upstream or the temporary patch in
https://android-review.googlesource.com/#/c/142241

See proposed llvm changes and pointers to llvm bugs in
https://android-review.googlesource.com/#/c/142792

Change-Id: Idb6e98d6b5f0e4c3676884b69eb3e767eba2491a
2015-03-25 00:19:16 +00:00
Brian Carlstrom f7683b813a Merge "Clearly explain that 32-bit x86 is not supported" 2015-03-20 21:52:38 +00:00
Mathieu Chartier 55fbc49fe1 Merge "Change eng builds from interpret-only to verify-at-runtime" 2015-03-20 21:19:40 +00:00
Brian Carlstrom 2cd8a74b2d Clearly explain that 32-bit x86 is not supported
Change-Id: I7f352fae8fa3742c61dc74e20aacd32254451bce
2015-03-20 12:50:42 -07:00
Mathieu Chartier 62a7cac50d Change eng builds from interpret-only to verify-at-runtime
Faster dex2oat -> faster boot after syncing core libraries.

Bug: 19762303
Change-Id: Ic266ed9c59829e0e18acc4adc103724cf480de7f
2015-03-20 11:15:20 -07:00
Alexander Ivchenko 6fb735b071 Switch x86 and x86_64 to 4.9. Attempt #2.
BUG=16407835

Change-Id: I45161bf4701bef4540b51168f771c5e9da8c8750
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
2015-03-20 17:07:34 +03:00
Dan Albert 59112a2da3 Merge "Static binaries with libc++ need libs c, m and dl." 2015-03-20 03:04:20 +00:00
Dan Albert 7955bf0fd6 Static binaries with libc++ need libs c, m and dl.
Can't be done on the user's end because these libraries all need to be
linked after libc++_static.

Change-Id: Ib21364e6f43689cf59da31d6f561919731ef8272
2015-03-19 13:05:13 -07:00
Mathieu Chartier 8b11285dd9 Revert "Rename dalvik.vm.usejit to debug.dalvik.vm.usejit"
Bug: 19735273

This reverts commit 3abfcfc17b.

Change-Id: Iac930925ab6d5cd5947fa4077c8d93e2984927d5
2015-03-18 19:06:28 -07:00
Richard Uhler 820fe32d46 Store odex files in oat/<isa>/ directory.
Previously odex files were stored alongside the dex location as:
  dex location: /foo/bar/base.apk
  odex location: /foo/bar/<isa>/base.odex

This changes where odex files are stored, adding an "oat" directory:
  dex location: /foo/bar/base.apk
  odex location: /foo/bar/oat/<isa>/base.odex

See also the corresponding change in platform/art and
platform/frameworks/native.

Bug: 19550105
Change-Id: I4c6be4f0c41ff175904846db8e360c4af815b265
2015-03-18 12:41:31 -07:00
Mathieu Chartier 3abfcfc17b Rename dalvik.vm.usejit to debug.dalvik.vm.usejit
Bug: 19735273
Change-Id: Ia0d748b511230f5e0c7d0763de3abeab9d6e0ca7
2015-03-16 16:29:30 -07:00
Ying Wang f738b3bb9f Load cts/build/config.mk after build/core/config.mk
So that the cts config.mk can use global variables set by the core build
system config.mk.

Change-Id: I2571564abbb53257eee54485a3357ab1305eb870
(cherry picked from commit bacf5f8008)
2015-03-16 10:56:03 -07:00
Ying Wang c1729f3602 Strip prebuilt shared library by default.
Strip prebuilt shared library but not try adding gnu debuglink.
It would fail if you try run the adding gnu debuglink command if a
prebuilt is already stripped.

Bug: 17177288
Change-Id: If5811865715c2437e45fbd329983ef1212ef0109
(cherry picked from commit bfb52a2ec1)
2015-03-13 11:36:15 -07:00
Przemyslaw Szczepaniak 0e2d00ff1f Switch NDK libraries to 4.9 for x86_64 and mips64
Android NDK r10b doesn't even provide 4.8 for those
archs.

Change-Id: I10840c6c7bbc0dd9028a794162d021d8b3e6b19a
(cherry picked from commit fabd383bc8)
2015-03-13 11:36:15 -07:00
Ying Wang d791463511 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
(cherry picked from commit 45d0143ab1)
2015-03-13 11:36:15 -07:00
Ying Wang 95a543c987 Set up environmental variable PATH before calling releasetools scripts.
Some releasetools python sripts rely on $PATH to search for the
executables. With this change, you don't need to run lunch even after you
change the build system variable OUT_DIR.

Bug: 19320328
Change-Id: Ia44b11084fb1bdcceb60b1d33cb7e460c9b705a8
(cherry picked from commit 9d252e1009)
2015-03-13 11:36:15 -07:00
Doug Zongker b2cdb1cca5 include oem.prop files in otatools_package
Change-Id: I2f28936edda5d8d9bff6213828c16d607263cd95
(cherry picked from commit ce43bc8df2)
2015-03-13 11:36:15 -07:00
Jesse Zhao f749b4b664 DO NOT MERGE: Bundle libc++.so into otatools-package.
Change-Id: I6b7d16eca18dce3e2990464f3d1a34740ad8a8ee
(cherry picked from commit f7daa92cff)
2015-03-13 11:36:14 -07:00
Doug Zongker 0c6c03269e add otatools-package target
Add a target to zip up all the otatools and releasetools, for easy
copying to the OTA builder machine.

Change-Id: If14b4afefcc1a20ea19dfca3f3b9f9fae73189a6
(cherry picked from commit f22b0f43ef)
2015-03-13 11:36:14 -07:00
Dan Albert 105b94cc44 Merge "[Renderscript] making librsjni.so be packed with apks when v8.renderscript is needed, even for bundled apps." 2015-03-13 17:27:47 +00:00
Miao Wang bb5196e857 [Renderscript] making librsjni.so be packed with apks when
v8.renderscript is needed, even for bundled apps.

Bug: 19343399
Change-Id: I461e244be15e08d4525439bc042529314c84031e
(cherry picked from commit c919b0ba88)
2015-03-13 10:23:30 -07:00
Sami Tolvanen 8cdf72066b Merge "Change transfer list format to include block hashes" 2015-03-13 11:02:02 +00:00
Christopher Ferris 62d5e2acf5 Merge "Update x86_64 minimal ISA instruction set" 2015-03-13 04:18:18 +00:00
Mathieu Chartier cf26fb819d Merge "JIT default opt-in" 2015-03-13 01:24:33 +00:00
Mathieu Chartier 2a2a03046e JIT default opt-in
Bug: 17950037
Change-Id: I97fd6b1797e54ad3dea1930889f32a717543490d
2015-03-12 14:45:22 -07:00
Mingwei Shi 357778de34 Update x86_64 minimal ISA instruction set
Change-Id: I3ca7f8a0799e6aef09ab1dfb719d218c7338ebf8
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
2015-03-12 22:45:27 +08:00
Ying Wang 437e43b555 Use "rsync -a" to copy over $(TARGET_ROOT_OUT) to $(TARGET_RECOVERY_OUT)
"cp -Rf" fails on Mac OS when some broken symlinks exist in the dest
dir.
Also switch to better shell error handling when copying
init.recovery.*.rc.

Change-Id: Idd05f7604736b234619f62be12dd108fac91fed1
2015-03-11 16:55:33 -07:00
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
Sami Tolvanen dd67a295cc Change transfer list format to include block hashes
Add source and target block hashes as parameters to transfer list
commands that copy or patch data to a partition. This allows the
updater to verify the status of each command in the transfer list
and makes resuming block based OTAs possible. Due to the changes,
update the transfer list version to 3.

Needs matching changes from
  I1e752464134aeb2d396946348e6041acabe13942

Bug: 18262110
Change-Id: Ia5c56379f570047f10f0aa7373a1025439495c98
(cherry picked from commit cac671a9d1)
2015-03-11 17:22:06 +00: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
Elliott Hughes b97d8c78e2 Turn on -Werror=implicit-function-declaration for x86-64.
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: Ib2570326dde1b1cde09c63c9b4c973d741528ee2
2015-02-21 11:01:11 -08:00
Narayan Kamath ae25aed3c9 am 940632f1: Merge "Remove references to __CYGWIN__ and HAVE_WINSOCK2_H."
* commit '940632f1a1af056ea8f87d2fa7a0c7e22cd1556b':
  Remove references to __CYGWIN__ and HAVE_WINSOCK2_H.
2015-02-21 10:15:54 +00:00
Narayan Kamath 2fad00c56e Remove references to __CYGWIN__ and HAVE_WINSOCK2_H.
We don't support platform builds under CYGWIN and can safely
assume that all windows host builds are for MinGW32.

HAVE_WINSOCK2_H is currently unused. The only references to it
are in code that define it themselves or in application code that
by definition isn't compiled for windows.

Change-Id: I236d6e070df93f713cb716bb8a461c9c1d32a180
2015-02-21 09:55:05 +00:00
The Android Open Source Project 2fc439c67a Restore AOSP-style version numbers - DO NOT MERGE
Change-Id: I2c81a4dacc13e4705388c3d359410c81999d7b95
2015-02-20 11:04:55 -08:00
Ying Wang 5bcc416d54 [DO NOT MERGE] Trim the AOSP PLATFORM_VERSION.
With the long PLATFORM_VERSION, if you have also a long device/product
name and/or a long username, ro.build.fingerprint can easily exceed the
system property's length limit of 92 bytes.
This mitigates the risk a little bit.

Bug: 15593959
Change-Id: I9e316025227b30aa6887c9ce0065364fdbb9fc8f
2015-02-20 00:34:35 +00:00
Ying Wang 95627f6e54 am a8b9a8c1: am 1f58c417: Support LOCAL_PREBUILT_JNI_LIBS in unbundled build.
* commit 'a8b9a8c1ed5e7d7e0cdc39c2c10f964b95a98e7a':
  Support LOCAL_PREBUILT_JNI_LIBS in unbundled build.
2015-02-12 22:58:44 +00:00
Ying Wang 1f58c41742 Support LOCAL_PREBUILT_JNI_LIBS in unbundled build.
Package up LOCAL_PREBUILT_JNI_LIBS when you do tapas (apps_only) build.

Change-Id: Ibdc920fee22d4940eebee080a940e8e9492c06cb
(cherry picked from commit e66d7c1de0)
2015-02-12 22:40:24 +00:00
JP Abgrall 92e0682f05 resolved conflicts for merge of 7fc55db3 to lmp-mr1-dev-plus-aosp
Change-Id: I27b9c65d654d4cc8b806043de0ebaa5dbf7b7a7c
2015-02-11 20:05:03 -08:00
JP Abgrall 7bb75e4f6c core: remove dependencies on genext2fs
We don't use EXT2 for bootimage anymore.
This will allow getting rid of external/genext2fs

Bug: 19282953
Change-Id: Ie56528c7877036d2501a09888a4420637f9cd647
2015-02-11 15:04:59 -08:00
Andres Morales 89a87488db am b5df7d48: Merge "Add version strings from android-info.txt into build.prop"
* commit 'b5df7d483772d1dd08a1d5c8614f38a79e43ec12':
  Add version strings from android-info.txt into build.prop
2015-02-10 16:52:58 +00:00
Andres Morales b5df7d4837 Merge "Add version strings from android-info.txt into build.prop" 2015-02-09 22:45:57 +00:00
Andres Morales 085a0ce756 Add version strings from android-info.txt into build.prop
Allows runtime checking of expected baseband/bootloader.

Change-Id: Iccb053fee5f72f4e082a5c3482c0710b13ee7eb8
2015-02-09 08:33:31 -08:00
Andres Morales 8859f02949 am b998054f: Merge "Add system/build.prop dependency on vendor/bootimg"
* commit 'b998054f50043c23e8599ee3cfae058ac378c5cb':
  Add system/build.prop dependency on vendor/bootimg
2015-02-06 18:23:12 +00:00
Andres Morales b998054f50 Merge "Add system/build.prop dependency on vendor/bootimg" 2015-02-06 18:11:30 +00:00
Andres Morales a09f2f44cc Add system/build.prop dependency on vendor/bootimg
When incremental builds only affect the system partition,
the build.prop file for other partitions might go out of
date.

Add a dependency on system/build.prop s.t. when
it's rebuilt,
the fingerprints are updated on the other
partition's build.prop's.

Bug:19058575
Change-Id: Iea7b761e0800c402eb4ce1154e8f6af5a17f7b06
2015-02-05 12:42:43 -08:00
Elliott Hughes 1888ab842a am 9edd7649: Merge "Remove mkyaffs2image references."
* commit '9edd76494d4378bd740dd22a2eb4f5d0eb0db40f':
  Remove mkyaffs2image references.
2015-02-05 18:47:25 +00:00
Elliott Hughes 65d4186f85 Remove mkyaffs2image references.
Change-Id: I1d112515bc92353a5b48ec668e1cadfb51ecdaad
2015-02-04 19:58:09 -08:00
Ying Wang 16ba2ed82b resolved conflicts for merge of 4c178ebc to lmp-mr1-dev-plus-aosp
Change-Id: If84527e9333b855d406dc7ac317868f4cfd3f1f2
2015-02-04 11:28:56 -08:00
Ying Wang 14cc23d433 Remove support of factory ramdisk/bundle.
Bug: 18779515
Change-Id: Ia6d51d43965447e2e95944a7d2b4b41adb121cb7
2015-02-04 11:00:01 -08:00
Ying Wang e9bc7b472d am 4d0f56fb: Merge "Disable transitive dependency library symbol resolving for mips."
* commit '4d0f56fba3cb89d871e1277d9314da12406394e5':
  Disable transitive dependency library symbol resolving for mips.
2015-02-03 19:43:52 +00:00
Ying Wang 624ef02a50 Disable transitive dependency library symbol resolving for mips.
The transitive symbol resolving causes build breakage when a binary
linked against NDK has indirect dependency on platform libraries, or
vice versa.

Change-Id: Idbfe76079c1db14eb1156d0f396e13d26f0ff582
2015-02-03 10:58:50 -08:00
Ying Wang 10500d0ea7 resolved conflicts for merge of 5cb4276e to lmp-mr1-dev-plus-aosp
Change-Id: Ia7f011f24276e7e8e045a2544e5dff2b758b1c62
2015-01-30 16:57:37 -08:00
Ying Wang 747b9f18f0 Add target recoveryimage-nodeps.
Change-Id: Ie7d11ae8f40260bf23481931c18523895c87ebd7
2015-01-30 14:16:00 -08:00
Ying Wang 385f5e7d09 am 7ecc76a0: Support dpi specific aapt flags.
* commit '7ecc76a0f206c07dfd0db9c81673514a31719d33':
  Support dpi specific aapt flags.
2015-01-30 19:34:45 +00:00
Ying Wang 7245b4e2be Support dpi specific aapt flags.
With this support, you can set dpi-specific aapt flags like:
$(LOCAL_PACKAGE_NAME)_aapt_flags_hdpi := --version-code 100 \
                                         --version-name "100
which will override the --version-code and --version-name set in the
base apk's LOCAL_AAPT_FLAGS.

Bug := 18388705

Change-Id: Ie79d7b1b6bbf7463bce51ddae04ba81384ec58dc
2015-01-30 02:17:52 +00:00
Ying Wang 7ecc76a0f2 Support dpi specific aapt flags.
With this support, you can set dpi-specific aapt flags like:
$(LOCAL_PACKAGE_NAME)_aapt_flags_hdpi := --version-code 100 \
                                         --version-name "100
which will override the --version-code and --version-name set in the
base apk's LOCAL_AAPT_FLAGS.

Bug := 18388705

Change-Id: Ie79d7b1b6bbf7463bce51ddae04ba81384ec58dc
2015-01-29 18:08:00 -08:00
Ying Wang 7c05897b69 am e937ac81: Merge "Add new build flag LOCAL_DONT_DELETE_JAR_DIRS."
* commit 'e937ac814c7f4e1989509f94f7ac8ae5b28a3526':
  Add new build flag LOCAL_DONT_DELETE_JAR_DIRS.
2015-01-29 18:05:13 +00:00
Fredrik Roubert cc93f0c87c Add new build flag LOCAL_DONT_DELETE_JAR_DIRS.
Normally the build function initialize-package-file will delete all
class files and all directory entries from JAR files, but sometimes
external projects (eg. ICU4J) depend on having directory entries in
their JAR files.

This change adds the flag LOCAL_DONT_DELETE_JAR_DIRS (analogous to the
flag LOCAL_DONT_DELETE_JAR_META_INF) which when set will skip deletion
of directory entries in initialize-package-file.

Change-Id: I4464b947b7528fca23925affa95e4071915f04d4
2015-01-29 17:44:27 +00:00
Ying Wang 75705338b7 am 1c1497a7: am cb73599b: Make dangling module names in PRODUCT_FACTORY_RAMDISK_MODULES non-fatal.
* commit '1c1497a7f6c07899feae0ae57a7e2003d60045ae':
  Make dangling module names in PRODUCT_FACTORY_RAMDISK_MODULES non-fatal.
2015-01-28 00:06:17 +00:00
Ying Wang cb73599b25 Make dangling module names in PRODUCT_FACTORY_RAMDISK_MODULES non-fatal.
It's pain to maintain an inactive product's list of
PRODUCT_FACTORY_RAMDISK_MODULES or PRODUCT_FACTORY_BUNDLE_MODULES.
Just show a warning if a module name becomes dangling.

Bug: 18779515
Change-Id: I3d137ed59feb005b186ed2a3519465da3d8f45c3
2015-01-27 15:49:21 -08:00
Yabin Cui d22d6a537d am 9560d317: Merge "Kill HAVE_PTHREADS."
* commit '9560d31716319be62c97d929f6172c84e267a673':
  Kill HAVE_PTHREADS.
2015-01-27 23:12:05 +00:00
Yabin Cui 9560d31716 Merge "Kill HAVE_PTHREADS." 2015-01-27 22:59:46 +00:00
Yabin Cui 0d1f0f8e5a Kill HAVE_PTHREADS.
Bug: 19083585
Change-Id: I5be0d2f95c3c45e7f67de6a8daeb49709ef1f9e9
2015-01-27 14:34:36 -08:00
Ying Wang cf1f7bc932 am 1bc2c6af: Merge "Allow to build "winsdk-tools" alone."
* commit '1bc2c6af5b73d6d448452b8bcb75222fbc81a532':
  Allow to build "winsdk-tools" alone.
2015-01-27 22:13:25 +00:00
Ying Wang ff1fe68514 Allow to build "winsdk-tools" alone.
Allow to run "make winsdk-tools" without building the full win_sdk.

Bug: 19149444
Change-Id: If98495035f4f84dbcab7af2a74434e589bbfd4d1
2015-01-27 22:01:12 +00:00
Bill Yi d0279504c6 am 1cc3fa57: Merge "Remove platform/bootable/bootloader/legacy from pathmap"
* commit '1cc3fa57985a3b159f9c93be32201999b8cfa605':
  Remove platform/bootable/bootloader/legacy from pathmap
2015-01-27 21:59:48 +00:00
Bill Yi 5c3d75f5ea Remove platform/bootable/bootloader/legacy from pathmap
BUG:19164048
Change-Id: Ib640db9be77a859a28c533190e3b5edacf84a412
2015-01-27 13:47:05 -08:00
Ying Wang 21f78782d5 am 1b140e16: Merge "Build hostdex on only Linux."
* commit '1b140e16e1d8dd022331242fcd5a3a1e8548fa4b':
  Build hostdex on only Linux.
  Fix comma in $(if ...).
2015-01-26 19:12:18 +00:00
Ying Wang 0757768f43 Build hostdex on only Linux.
Change-Id: I9213684e4c65632c54e9929f693f4b6a24beb95a
2015-01-26 09:52:28 -08:00
Dan Albert cfc95cf435 Merge "Fix comma in $(if ...)." 2015-01-25 22:30:19 +00:00
Logan Chien e481e7d494 Fix comma in $(if ...).
Change-Id: I2f9fba5b5c0384ef12ee9e5f48fa01102436a425
2015-01-25 21:15:12 +08:00
Dan Albert f633e28168 am 172cd765: Merge "Allow coverage with clang."
* commit '172cd7653e4dfb628065349ea915329076e44e1d':
  Allow coverage with clang.
2015-01-24 23:42:11 +00:00
Dan Albert 3723af1b4e am 9ba25d6b: Merge "Enable host coverage."
* commit '9ba25d6bfd983655dc9c0584887db2b6cb3be999':
  Enable host coverage.
2015-01-24 23:42:09 +00:00