Commit graph

5177 commits

Author SHA1 Message Date
Dan Albert
04cf315970 Inhibit implicit -Bsymolic in -shared.
Bug: 16853291

Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
(cherry picked from commit b6bb71b85d)
2014-08-08 08:15:19 -07:00
Dan Albert
908ab54fda Fix uses of -fPIC and -fPIE.
We've been using -fPIC and -fPIE together in the global cflags all this
time. These options are incompatible. The only reason we haven't been
hit by this before is because of the forced -Bsymbolic in GCC. To fix
this, pass -fpic when compiling objects for shared libraries and -fpie
when compiling objects for executables. For static libraries, also use
-fpic. We have to do this because static libraries might be included in
either a shared library or an executable. Code compiled with -fpie
cannot be included in a shared library, but code compiled with -fpic
may be included in an executable.

We've also been using -fpic and -fPIC together. These are different
options, and only the latter will take effect.
http://stackoverflow.com/a/967010

The final thing this fixes is that we had -f(PIC|PIE) flags being passed
to link commands. These are compile time flags, and don't do anything at
link time.

Bug: 16823325
Change-Id: Ic76f47e63dc2c81b7e1a8058bae1b3dc8565d606
(cherry picked from commit 4803ce2696)
2014-08-08 08:15:14 -07:00
Brian Carlstrom
cced082f5d Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [build]
This will allow us to conditionally change the compiler-filter based on other properties.

Bug: 15165413

(cherry picked from commit 4d30e5e260)

Change-Id: I84e8038c6536291e6775f39b33556b8169fdf292
2014-08-06 17:50:39 -07:00
Alex Light
c6b7676719 Make system use patchoat to relocate during runtime.
Change DexPreOpt to include patch information of all compiled files so
we can relocate at runtime.

Bug: 15358152

(cherry picked from commit ce090d3f45)

Change-Id: I75a1eec3a38d6bce1f678c510d57849f8dfa04fa
2014-08-06 13:48:04 -07:00
Dehao Chen
f15ad97a07 Merge "Change profile use path to the newly created project." into lmp-dev 2014-08-05 00:34:22 +00:00
Dehao Chen
da26f200bd Change profile use path to the newly created project.
Change-Id: I3221a3b18e16d6a50cbc561c9cae1d1ab3999090
2014-08-05 15:32:41 -07:00
Colin Cross
8381b98869 Merge "Revert "HACK: report CPU abi as 2nd arch if present"" into lmp-dev 2014-08-05 17:41:31 +00:00
Colin Cross
ef77e517f7 Revert "HACK: report CPU abi as 2nd arch if present"
This reverts commits 8179d4dcf6,
00c67a0568, and
d00c0a2e20.

Bug: 15933961
2014-08-05 11:01:54 -07:00
Duane Sand
02f285208c [MIPSR6] Add mips64r6 and mips32r6 targets
Add mips64r6 target and corresponding mips32r6 target.
Defaults remain as mips64r2 and mips32r2.

Apply -FP64A codegen subsetting to mips32r6 only.
Access FR=0 odd-numbered 32-bit float regs only via
double-prec even-numbered regs, not by single-prec ops.

(cherry picked from commit 6bab974cdc)

Change-Id: I447337ce56c15e86cec505d68a6b45294fc3ba77
2014-08-05 12:39:28 -07:00
Duane Sand
1d04a53ba3 [MIPS64] Enable mips64 clang
(cherry picked from commit 41ca444637)

Change-Id: I0b141c58c88fe86e3a59844f53acc9a0e0a5271c
2014-08-05 12:38:31 -07:00
Duane Sand
3c4fcd8451 [MIPS] Unite mipsel and mips64el 4.9 gcc toolchains
Use 4.9 mips64el toolchain for both 64- and 32-bit builds.
Tell ld when 32-bit links are required.
Override 4.9's changed defaults for mips floating point
register use, to get same assembler rules as 4.8 and earlier.

Also: drop unused  soft-fp build targets, cleanout redundant
compiler options, and remove extraneous Android.mk file.

(cherry picked from commit 6670e24aed)

Change-Id: I34d2f8fc6113c9d1670e3acff1aff48634b9fe1b
2014-08-05 12:28:44 -07:00
Doug Zongker
285dd13885 Merge "store images in target-files" into lmp-dev 2014-07-31 21:38:33 +00:00
Doug Zongker
3c84f56948 store images in target-files
Store sparse images in the target-files, and use those (when they're
available) for building block OTAs.

- New script add_img_to_target_files is added to make the images and
  add them to the IMAGES/ subdir in the target-files.  It gets run
  from the Makefile when building a target-files.

- img_from_target_files becomes mostly vestigial: it creates the
  img.zip by just copying the images out of the target-files.  (It
  still knows how to build images for use on older target-files.)

- ota_from_target_files uses images from the target-files in
  preference to rebuilding images from the source files.

- sign_apk_target_files builds images and includes them in its output
  target files (even if the input target-files didn't have them).

Bug: 16488065
Change-Id: I444e0d722d636978209467ffc01750a585c6db75
2014-07-31 11:06:30 -07:00
Ying Wang
4dfb5580c2 Merge "Don't apply PRODUCT_AAPT_PREF_CONFIG if LOCAL_PACKAGE_SPLITS is set" into lmp-dev 2014-07-30 20:38:44 +00:00
Ying Wang
934008f9d5 Don't apply PRODUCT_AAPT_PREF_CONFIG if LOCAL_PACKAGE_SPLITS is set
Bug: 16319961
Change-Id: I8ea308c94ff58eaccd8854ab98e11238b993f867
2014-07-30 13:40:14 -07:00
Ying Wang
b169fb7822 Revert "Revert "Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to clang.""
This reverts commit a4f84fdfed.
Added "export CCACHE_CPP2 := true" to work around ccache bug with clang.
See:
http://petereisentraut.blogspot.com/2011/09/ccache-and-clang-part-2.html

Change-Id: I2b1fa8fd59c3a113c4028a92a1d16018133c9792
2014-07-30 10:14:37 -07:00
Dehao Chen
e43c96c332 Merge "Update the FDO support:" into lmp-dev 2014-07-29 21:36:00 +00:00
Dehao Chen
5f5c48f0f1 Update the FDO support:
* Explicitly check BUILD_FDO_INSTRUMENT and BUILD_FDO_OPTIMIZE with true
* Remove unnecessary target_libgcov
* Update the profile collection path on device so that most app can have write access

Change-Id: I5c1915a12ea37b2cb3c76a27e7104e47ad636928
2014-07-30 16:54:55 -07:00
Yohann Roussel
355520e35e Merge "Fix doc target for multidex support library." into lmp-dev 2014-07-24 15:36:05 +00:00
Yohann Roussel
85cacbe0e0 Fix doc target for multidex support library.
(cherry picked from commit 5679e356d2)

Change-Id: I2e97f59796046d94c9b03dbc89ec1d2153b54ce1
2014-07-25 17:14:35 +02:00
Stephen Hines
e9bf1bdac6 Merge "Default to "prescott" as our baseline i686 host build architecture." into lmp-dev 2014-07-24 22:43:15 +00:00
Przemyslaw Szczepaniak
ac6a9195ca Switch NDK arm64 libraries to 4.9.
Change-Id: Iffc30e34b798896d9259ca1dfc3ff2d21683d6a4
(cherry picked from commit 5895dd13a7)
2014-07-25 13:44:34 +00:00
Stephen Hines
76bd60b7da Default to "prescott" as our baseline i686 host build architecture.
Bug: 16408818

Change-Id: I41760605bf9f4589859afd20cc96ccbedb6fe82c
2014-07-25 00:42:14 -07:00
Ying Wang
6aef047362 Support to set up TARGET_COPY_OUT_VENDOR in board config.
We first define TARGET_COPY_OUT_VENDOR as a placeholder. In product
config makefiiles we actually get the placeholders in
PRODUCT_COPY_FILES. A device can set up TARGET_COPY_OUT_VENDOR in its
BoardConfig.mk. We substitute the placeholder with the real
TARGET_COPY_OUT_VENDOR value after loading the BoardConfig.mk.
With this change, we can support building vendor stuff to
system.img (the default) or a separate vendor.img.

Bug: 16515152
Change-Id: I5b601d7a8b34fe032a1bac02aa5c204a3765691d
2014-07-23 22:26:32 -07:00
Dehao Chen
1cd4638594 Merge "Refactor FDO support code to ensure arm64 can also be built with FDO." into lmp-dev 2014-07-23 18:44:51 +00:00
Dehao Chen
25671e15cc Refactor FDO support code to ensure arm64 can also be built with FDO.
Change-Id: I752c9f411b0a046a15c72b4837efc1fb0503b470
2014-07-23 16:23:46 -07:00
Ying Wang
e799869823 Merge "Support to install prebuilt split APKs with LOCAL_PACKAGE_SPLITS" into lmp-dev 2014-07-23 18:56:15 +00:00
Ying Wang
00fe587974 Support to install prebuilt split APKs with LOCAL_PACKAGE_SPLITS
In prebuilt app module, you can use LOCAL_PACKAGE_SPLITS to specify a
list of prebuilt split apks. The build system will sign and zipalign the
apks and install them with the same file names.
Note that you need to put all the source split apks in the same folder.

Bug: 16319961
Change-Id: Id2b6d743c1edc5e436007ec11acece1748adad45
2014-07-23 14:38:02 -07:00
Ying Wang
0d660660db Merge "Improve rules of split apks." into lmp-dev 2014-07-23 18:56:15 +00:00
Ying Wang
7f625aad03 Improve rules of split apks.
- Better messaging if the expected split apk isn't generated by the aapt
  command in the base apk rule; Remove the built base apk, so make will
  rerun aapt after the user changes the splitting parameters.
- Use cleaner static pattern rules instead of running $(foreach) with
  $(eval).

Bug: 16319961
Change-Id: If6ae302e1a39d2e0db8f784d4e1cf292ec855281
2014-07-23 16:38:06 -07:00
Ying Wang
84c26b6949 Delete .swp file added by accident.
Also added .swp to .gitignore.

Change-Id: I51700f55230facde2e46574aa039d45ae5b29cdf
2014-07-22 17:42:35 -07:00
Ying Wang
1425e2d8c0 Support LOCAL_PACKAGE_SPLITS.
Support LOCAL_PACKAGE_SPLITS, which accepts a list of resource lables
and generates multiple apks. The build system sets up rules to sign and
zipalign the split apks.

Bug: 16319961
Change-Id: I344b3d1c7eb158c6d0df879093d666a89870aadd
2014-07-22 17:37:11 -07:00
Yohann Roussel
c324a62425 Put only src in FRAMEWORKS_SUPPORT_JAVA_SRC_DIRS for multidex
This keeps only the real sources in doc target and fixes some error
messages caused by trying to generate docs of the tests.

(cherry picked from commit 100aba5374)

Change-Id: I39f3ede95ae68777ca5e3db4ab5c6ebeefc86ac6
2014-07-23 16:07:20 +02:00
Daniel Rosenberg
337bbf89d9 Merge "Create a vendor build.prop for verifying versions" into lmp-dev 2014-07-22 16:21:19 +00:00
Daniel Rosenberg
40b61ca768 Create a vendor build.prop for verifying versions
The vendor build.prop contains the fingerprint for the build, and
timestamps. It allows you to tell if the vendor partition matches
the system partition.

Change-Id: Icf261571e82823928b2562e66e48fbcb0da55801
Signed-off-by: Daniel Rosenberg <drosen@google.com>
2014-07-22 15:00:59 -07:00
Ying Wang
efb935800b Support "LOCAL_SDK_VERSION := system_current"
A module can declare "LOCAL_SDK_VERSION := system_current" to build
against the android system stubs generated from source.
For now this is only supported in platform build.

Change-Id: I1e9bbd159886bc0ea3a02b1dc4cbcb1a56e9cb15
2014-07-19 17:00:50 -07:00
Ying Wang
50367cc77d Trim down BUILD_FINGERPRINT.
Bug: 15593959
Change-Id: I90161045b5d5f2df726a4f69740f0875c8bfc69f

Conflicts:
	core/build_id.mk
2014-07-19 09:37:52 -07:00
Ying Wang
2ce3d5c4ae Update rule of APPS_ZIP to use the new paths of apks.
Bug: 16319961
Change-Id: I9fc93f329a34e404beaf3fa212772b731a7020ff
2014-07-18 19:15:15 -07:00
Ying Wang
af9757e849 New installation path for apks and their JNIs.
Apk's path is changed to <parent_dir>/MyApp/MyApp.apk;
JNI path is changed to <parent_dir>/MyApp/lib/<arch_name>/libfoo.so.
Symlinks of JNIs are changed accordingly.

Bug: 16319961
Change-Id: Ib3b2309c95fa9aea27837fcc29e28d990b04747b
2014-07-18 16:26:24 -07:00
Sebastien Hertz
3389b9e887 Merge "Vary non-image Xmx for dex2oat on MIPS." into lmp-dev 2014-07-17 19:51:18 +00:00
Ian Rogers
bb6593243f Vary non-image Xmx for dex2oat on MIPS.
The image Xmx is already fixed at 64m. The issue is in the non boot image case.

(cherry picked from commit 87f0d006f2)

Change-Id: Id4a6d9e8edf00505198c3f3dd599cb7b7f06363a
2014-07-22 18:36:25 +02:00
Tsu Chiang Chuang
64a0607262 Merge "Include cts-junit target for cts tests." into lmp-dev 2014-07-22 16:29:55 +00:00
Tsu Chiang Chuang
c73d200ca5 Include cts-junit target for cts tests.
(cherry picked from commit 1949a41e70)

Change-Id: Ic1d05f0eb1ceb1ac732b57ba1322acd17758b8d3
2014-07-21 22:23:18 -07:00
Ying Wang
0ea63e0cbd Merge "Remove framework2" into lmp-dev 2014-07-19 22:40:06 +00:00
Ying Wang
14c975b830 Remove framework2
We don't need fraemwork2 split with the multidex framework.jar.

Change-Id: Ifc595b3679946d8958a9282360c7da9bc18e8adc
2014-07-21 14:42:29 -07:00
Ying Wang
2f7b92c90a The order of SDK version matters.
Because some places assumes the last item is the latest public SDK
version number.

Change-Id: I0ac83ab204dcabec0b9399db1bebc77322808074
2014-07-21 13:44:06 -07:00
Sebastien Hertz
2715dc678a Merge "Fix the MIPS build." into lmp-dev 2014-07-17 19:51:18 +00:00
Ian Rogers
16de128da1 Fix the MIPS build.
Use an override for the dex2oat Xmx value when cross-compiling.
Bug: 16221224

(cherry picked from commit 7d70f830bc)

Change-Id: Ic13b471c74325e8145a0a9c93a417355505e484a
2014-07-22 09:46:37 +02:00
Ying Wang
ab4a98a85d Remove unnecessary dependency of the sdk target.
ALL_GENERATED_SOURCES forces to build heavy things already covered by
build cache.

Change-Id: I362bc450b9e303120d12ee8d53d75e86ef71e58f
2014-07-21 16:06:21 -07:00
Ying Wang
4221873693 Delete vendor and oem staging directory in "make installclean".
Change-Id: If3211772ea37d4c249c2dc5cc69bd9f48a39b6e3
2014-07-18 09:56:13 -07:00