4ee006e012ad376e99d4c2a1e225be9f396fc9eb |
|
09-Sep-2014 |
Alexander Ivchenko <alexander.ivchenko@intel.com> |
Refine TARGET_GLOBAL_CFLAGS for x86 and x86_64: Remove -msse2 for x86 (-mssse3 should be provided by the compiler). Remove -fPIC (compiler provides by default). Remove -fno-inline-functions-called-once. Change-Id: Ibb29934224c4eedfff926dc72c3b6342c1861ac9 (cherry picked from commit 388dce3192b6cecf7424e9d745c3147cc7335c24)
|
04cf31597021af3cd045dd9c50d94a87d0394023 |
|
05-Aug-2014 |
Dan Albert <danalbert@google.com> |
Inhibit implicit -Bsymolic in -shared. Bug: 16853291 Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c (cherry picked from commit b6bb71b85d506dcc4763290d72c4168afd541f7d)
|
908ab54fda172baa9a646259fafd8af35290f0a6 |
|
06-Aug-2014 |
Dan Albert <danalbert@google.com> |
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 4803ce2696950f8c27c83de4fe46ae196f35af16)
|
5f5c48f0f1b6bef252410575d9225507e5608c0b |
|
31-Jul-2014 |
Dehao Chen <dehao@google.com> |
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
|
25671e15cc1b199ca693f95864ab93a63909a526 |
|
23-Jul-2014 |
Dehao Chen <dehao@google.com> |
Refactor FDO support code to ensure arm64 can also be built with FDO. Change-Id: I752c9f411b0a046a15c72b4837efc1fb0503b470
|
f6771f631b814189d83b9b16cfa73d1466f932af |
|
15-Jul-2014 |
Ed Heyl <edheyl@google.com> |
reconcile aosp (8689b90bcfdc92c94475901935b5f6efae0c9abc) after branching. Please do not merge. Change-Id: I0e4c55cc5a04d4593c3cd200c08c48d18c08a161
|
e68ec719039406bfcc6cd8b1cab4890afbeb66a8 |
|
02-Jul-2014 |
Ying Wang <wangying@google.com> |
[DO NOT MERGE] Workaround to fix klp-modular-dev-plus-aosp build. Change-Id: I8042b045f20b870de84ea7c4c060c3cbe1cdfe69
|
50031de36ee77128b00e1ea77bcbb5a48628cfa3 |
|
13-Jun-2014 |
Dan Albert <danalbert@google.com> |
Remove -Bsymbolic from builds. This is causing issues when tools like asan try to wrap calls like malloc. See the referenced bug for more details. Bug: 15432753 Change-Id: I15e8eab5b773afd02dc14c78500cf8246a617718
|
0c87f3d733f289978dd2fa6fd4df324a52f0a4f4 |
|
29-May-2014 |
Andrew Hsieh <andrewhsieh@google.com> |
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
|
4c952d72b7aca4801e0ee4070cf54e3de57b98b5 |
|
29-May-2014 |
Andrew Hsieh <andrewhsieh@google.com> |
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
|
d90de32951835818a12b5fbb29871722ec1a7b1d |
|
24-May-2014 |
Ying Wang <wangying@google.com> |
Exclude libstdc++ and libgcc if libc++ is requested. Bug: 15174002 Change-Id: I24fe428c3520f76cd61f0660b59ba18a1f2d2dad
|
48f239c94faca140427afc9aa06cf356b1b6b0de |
|
09-May-2014 |
Andrew Hsieh <andrewhsieh@google.com> |
Disable canonical prefixes of system headers GCC know a few pre-defined paths (relative to its location) to search for headers, libraries, program, etc. By default GCC prefixes its own path(argv[0]) and calls realpath() which result in absolute path with all symlink, . and .. removed. It's usually good to have canonicalised paths, but absolute paths in *.d file can cause unnecessary relinking when stale entries in ccache cache hit Add -no-canonical-prefixes (gcc>=4.6) and -fno-canonical-system-headers (gcc>4.6) to disable realpath() on prefixed paths Change-Id: I58d739e61fb013015fb05a9c98b2132b307f915a
|
de36cd72e8e5a154c1fedf63e1ea83af9d5288aa |
|
07-May-2014 |
Ying Wang <wangying@google.com> |
Apply LOCAL_LDLIBS to target build rules too. Use LOCAL_LDLIBS to link against prebuilt libraries (such as NDK libraries). Previously LOCAL_LDLIBS only applies to host modules and the behaviour confuses users. Change-Id: I515546d7b59ef54e8ef09050eb58ec63534c9291
|
2c8e95528c450008c79795b4539f735444264d6e |
|
24-Apr-2014 |
Elliott Hughes <enh@google.com> |
Leave 'linux' defined on x86/x86-64, like arm. Change-Id: I53013a45c19a643a985de3f339b8b3f8f4dc39d2
|
4de6fa4069407607813dfdd1993114c79194d337 |
|
11-Apr-2014 |
Ben Cheng <bccheng@google.com> |
Decouple platform compiler and NDK library versioning. TARGET_GCC_VERSION: select compiler from prebuilts/gcc/... TARGET_NDK_GCC_VERSION: select libraries from prebuilts/ndk/... Change-Id: I4422a42cdc97aa92b40798014cba82c3c123bbd2
|
ce1c596e1507295f3037e9fa7bf163fb2ab95a11 |
|
29-Mar-2014 |
Ying Wang <wangying@google.com> |
Remove the unnecessary indirection of TARGET_STRIP_COMMAND Now all archs use the same strip command which can be put just in transform-to-stripped. Change-Id: Ief79697d47ea142fc9e63e63a7e2dace9e839165
|
a6e2f9322c47ac02546aa436341fa42afd0000c5 |
|
18-Mar-2014 |
Christopher Ferris <cferris@google.com> |
Add a method to leave the symbol table in a library. When LOCAL_STRIP_MODULE := keep_symbols is set, then the normal strip rules will be modified so that only the .debug_* sections are removed. The original symbol table is left alone. This allows the compilation of certain libraries so that libbacktrace library can provide meaningful names to functions. Bug: 12958251 Change-Id: I82bdc304a463012e29086325ccb51163464cb4a9
|
9fb3526648a08d8d8c1e6325aeb3c6500bcd44c2 |
|
22-Feb-2014 |
Ying Wang <wangying@google.com> |
Make -rpath-link work with multilib. Change-Id: If69ea6ed6cdbb657ed4005f8217d653e29626783
|
b47c863ec7d7b0d6806d7ea85887c662893a2c70 |
|
19-Feb-2014 |
C. Sean Young <csyoung@google.com> |
Strip all symbols on x86 Strip all of the non-dynamic symbols on x86 targets, instead of just the debug symbols. Change-Id: Id799a6a8c8b0e8bf70977328e42e5efa23762f25
|
4aa263f2bea8ba98755096efef95fb32be2d409c |
|
19-Feb-2014 |
Colin Cross <ccross@android.com> |
x86: set -msse2 for all builds All supported x86 processors have SSE2. Change-Id: Ib4a0511c456fe3185b0b902390860ad557aeedcf
|
310324d28a5f64094a2bd047d683b43cf7aaa81d |
|
17-Feb-2014 |
Qiming Shi <qiming.shi@intel.com> |
Fix x86 config file to support 2nd ARCH build Change-Id: I5f6091c555b9e742303f294b7c07a981ae5c6026 Signed-off-by: Qiming Shi <qiming.shi@intel.com>
|
6d5dd2367ae19357a92e545652c10ba02928b103 |
|
13-Feb-2014 |
Stephen Hines <srhines@google.com> |
Fix incorrect x86 build rules. combo/TARGET_x86*.mk mistakenly added TARGET_GLOBAL_CFLAGS to their linker command lines. This results in clang builds not working properly, since they strip some unknown flags from TARGET_GLOBAL_CFLAGS. Change-Id: I60a1ff5df70305323134435e4ae107ea7acfe8ea
|
171e940c7a565e651cf7d0f2edb84d9d92df7f39 |
|
28-Jan-2014 |
Elliott Hughes <enh@google.com> |
Fix KERNEL_HEADERS_ARCH for mips and x86. arm and arm64 have distinct headers, but mips and mip64, and x86 and x86_64 use headers that work for both widths. So where arm/arm64 need to handle the second architecture case specially, all we need to do for the others is hard-code the name. (x86_64.mk already hard-codes x86; we need to change x86.mk for the case where we're building the 32-bit binaries for a mixed system. mips64.mk doesn't exist yet, but when it does, it'll hard-code just plain "mips" too.) Change-Id: Ia6b9f77b4eb2c78729b454045875c409e0ea8197
|
2f8dcdd96114274d9c689caebd546d01176e3c6b |
|
28-Jan-2014 |
Elliott Hughes <enh@google.com> |
Remove libthread_db from the default include path. This should never have been on the default include path. The NDK statically links its own libthread_db, so I'm removing bionic's unused copy from devices. Bug: 11882807 Change-Id: I49a67fe0902cc4bc178360f6c993959774d74e3a
|
1d274d26869bfe6881d503b2d24f87cc40cf2727 |
|
27-Dec-2013 |
Ying Wang <wangying@google.com> |
Load compiler environment for a second arch. This is the first step to build 32-bit libraries in a 64-bit product. It will work like this: 1) In the product's BoardConfig.mk, define: TARGET_2ND_ARCH, TARGET_2ND_ARCH_VARIANT, TARGET_2ND_CPU_VARIANT. The build system uses those variables to set up an additional compiler environment for the second arch. 2) When parsing Android.mks, the build system sets up rules to build a module for both the 1st arch and the 2nd arch, unless it's explicitly asked to skip so. Android.mk will be adapted if there is additional rule of generating source files. The build system will accept arch-specific LOCAL_ variables, such as LOCAL_CFLAGS_arm, LOCAL_CFLAGS_armv7-a-neon, LOCAL_CFLAGS_cortex-a15, LOCAL_CFLAGS_aarch64 etc. Modules use such variables to set up build for various archs at the same time. 3) Install binary of the 2nd arch by adding "<module_name>:32" to PRODUCT_PACKAGES. All 2nd-arch libraries linked in by "<module_name>:32" will be installed automatically. Bug: 11654773 Change-Id: I2df63cd5463a07bf5358bee2a109f8fb9590fe30 Conflicts: core/combo/TARGET_linux-arm.mk
|
e1d44c3b4acef1319c34514e8d4ee78127b895ef |
|
27-Dec-2013 |
Ying Wang <wangying@google.com> |
Load compiler environment for a second arch. This is the first step to build 32-bit libraries in a 64-bit product. It will work like this: 1) In the product's BoardConfig.mk, define: TARGET_2ND_ARCH, TARGET_2ND_ARCH_VARIANT, TARGET_2ND_CPU_VARIANT. The build system uses those variables to set up an additional compiler environment for the second arch. 2) When parsing Android.mks, the build system sets up rules to build a module for both the 1st arch and the 2nd arch, unless it's explicitly asked to skip so. Android.mk will be adapted if there is additional rule of generating source files. The build system will accept arch-specific LOCAL_ variables, such as LOCAL_CFLAGS_arm, LOCAL_CFLAGS_armv7-a-neon, LOCAL_CFLAGS_cortex-a15, LOCAL_CFLAGS_aarch64 etc. Modules use such variables to set up build for various archs at the same time. 3) Install binary of the 2nd arch by adding "<module_name>:32" to PRODUCT_PACKAGES. All 2nd-arch libraries linked in by "<module_name>:32" will be installed automatically. Bug: 11654773 Change-Id: I2df63cd5463a07bf5358bee2a109f8fb9590fe30
|
dddb566eba8cd666b6f3b70067e77acb4e1656de |
|
11-Jan-2014 |
Elliott Hughes <enh@google.com> |
Remove obsolete CUSTOM_KERNEL_HEADERS. Change-Id: Id260dd351b90f065eee56e231d4c341b18c1b27f
|
e5df095b76baf5b7e3cbbeeed307ba214d90ec2c |
|
26-Nov-2013 |
Elliott Hughes <enh@google.com> |
Switch x86 over to uapi-only. Bug: 11559337 Change-Id: I95aa40ec2094acdaef1d4b4d9f0dd6278cf558d1
|
2d9dc899626072bef785ac0f471d5fbb19d8bf82 |
|
20-Nov-2013 |
Elliott Hughes <enh@google.com> |
Switch x86 to uapi headers. We still need the 'aux' hack, but this is a good step forward. Bug: 11559337 Change-Id: Ib3d79317293e1cd3d2620c38e6b472a5994ee554
|
8baaca5f97330a358de5633843af2b8bc51a28b1 |
|
15-Nov-2013 |
Andrew Hsieh <andrewhsieh@google.com> |
Switch AOSP X86/MIPS compiler to gcc4.8 Change-Id: Ifeee2c7d696c8a8e96e52c6ca51434260bdae5f8
|
46ed4aa58b9674aadf75b4c35d0394831bbe6bad |
|
24-Oct-2013 |
Nick Kralevich <nnk@google.com> |
x86: turn on -Wl,--fatal-warnings In 4f2f16da143fede94a1124ee79efccee78442b90, we added -Wl,--warn-shared-textrel to TARGET_GLOBAL_LDFLAGS. This generated a warning whenever we created a shared library with a text relocation. At the time, we wrote: ===== Emit a warning when the static linker detects a shared library has text relocations. Text relocations make it harder to share pages across processes, and make it harder to use certain memory protection features in, for example, SELinux. This warning will turn into an error in a future change (via --fatal-warnings) ===== All code which uses text relocations has either been fixed, or we've temporarily worked around the issue so the code can still compile. Enable --fatal-warnings. Bug: 11353056 Change-Id: I2f2c65352166ef0a96f54858de1556f0290fe306
|
f0a48555744ce9ae74ae34df8cb061aa0d0cf9d3 |
|
10-Oct-2013 |
Pavel Chupin <pavel.v.chupin@intel.com> |
Cleanup x86 and x86_64 flags -mandroid, -D__ANDROID__ is on by the toolchain; -msse3 moved to llvm_config, it seems it's required only there; __cxa_atexit is provided by libc now; USE_SSE2 should not be used anywhere, it's always true; remove -mstackreallign and -mfpmath=sse as useless for x86_64; Change-Id: Ib7739f6522c375c09de10d22616c48a493841c4c Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
fde3c164208a4e4aebc10bb56e56580f1219114f |
|
08-Oct-2013 |
Pavel Chupin <pavel.v.chupin@intel.com> |
Remove explicit passing of dynamic loader name We should trust toolchain on that. Change-Id: I20dd882d167cc84c262aef245ea2d86c17bc1785 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
d3f00c162b39406725b6200315a1e4f2a5f34ae1 |
|
04-Oct-2013 |
Elliott Hughes <enh@google.com> |
Remove useless x86 options that were always hardcoded on. ARCH_X86_HAVE_MMX, ARCH_X86_HAVE_SSE, ARCH_X86_HAVE_SSE2, and ARCH_X86_HAVE_SSE3 were all always on. There are no longer any makefiles or code that are conditional on any of these, so let's just remove them rather than encourage anyone to mess with knobs that don't work. Change-Id: I5ee095e8041eecff4554ad4801894fbfca69093f
|
d5dcd57d522fe855e1d1f7a1e21b979f16821b4f |
|
27-Sep-2013 |
Andrew Hsieh <andrewhsieh@google.com> |
Switch default GCC to 4.8 for X86/MIPS Change-Id: Ic40c2cf25c701dda468c1d1cc0058b94a308f2cd
|
fd82a49e04adb5513977acd0f616ddac421c715b |
|
26-Nov-2012 |
Pavel Chupin <pavel.v.chupin@intel.com> |
x86_64: Adding new target Add x86_64 Android builds. Compiler is expected to be able to understand -m64 code generation option. Change-Id: I99e7337c5a5766afc5e528a481bd21631ff44dd5 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
ae5c0ab2726ed4b9ca7b08f9b29e3393aa0a5d40 |
|
28-Sep-2011 |
Negreanu Marius Adrian <adrian.m.negreanu@intel.com> |
Extend x86 to have different arch variants Author: Negreanu Marius Adrian <adrian.m.negreanu@intel.com> Author: Andrew Boie <andrew.p.boie@intel.com> Author: Daniel Leung <daniel.leung@intel.com> Currently, x86 target only has generic i686 and x86-atom as arch variants. This patch adds the ability to have more than two arch variants. Defining a new arch variant is similiar to ARM targets, by adding a new file in core/combo/arch/x86. These files also define what capabilities the targeting CPU has (e.g. having SSE2, SSE3, etc.). We define arch variants for Sandy Bridge, Ivy Bridge, Haswell; upcoming arches can be easily added to this set with future patches. Change-Id: Iafbce10d205e860738db4a216ff603f9a84d7311 Signed-off-by: Daniel Leung <daniel.leung@intel.com> Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
|
c1a5664ea3882800dfc538a9591828f9c429f6d7 |
|
23-Aug-2013 |
Pavel Chupin <pavel.v.chupin@intel.com> |
Switch x86 default compiler to multilib version Switch from gcc-4.7 32-bit only to gcc-4.7 multilib (32/x32/64) compiler. Tested x86 image build on Linux and Darwin. This bionic patch is required: https://android-review.googlesource.com/#/c/64183 Change-Id: Ifc2c6c5d6a4a1b71a00a87af072bb7f67b1c284d Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
f4723fa49b6e61f727b6321a4006ee8ba3f393b9 |
|
15-Aug-2013 |
Ying Wang <wangying@google.com> |
No need to filter out AndroidConfig.h for unbundled build for now we have all AndroidConfig.hs in the build project. Change-Id: Id713fecba1378fad81688f5937f61c779b618ac2
|
6ecf0ef7447adbc1bd2f8b591f62d37bd8164255 |
|
08-Aug-2013 |
synergydev <synergye@codefi.re> |
FDO: support linux-x86 target Change-Id: I4a3a1d298176da109df316cf9128f19e77490bc9
|
fb45baa7e7f7909fb58460194476e8f7ffd23cde |
|
29-Apr-2013 |
Nick Kralevich <nnk@google.com> |
x86/mips: enable _FORTIFY_SOURCE=2 Enable _FORTIFY_SOURCE=2 for x86 and MIPS. Currently, this change is a no-op, as Android's libc doesn't support _FORTIFY_SOURCE > 1, yet. The ARM change was made in 316f720b91f879c4e3972d6d595535de0ac707b2 Change-Id: Iafe90beadf9b6a41ea294b7107cf4f18141acf3a
|
8725b941b007adfdcb54e7c3aed4b1c21f4dc5ad |
|
07-Mar-2013 |
Andrew Hsieh <andrewhsieh@google.com> |
Duplicate libgcc.a in front of *so Also see 6c7bc550adb917157a9f53ebf8898110e37294b2 Change-Id: Iade6cd6b40cd4840a148098e1d8fc7a0c97e2f66
|
098a5968fabfa3b5f07f1041a97432a66ecb485a |
|
21-Dec-2012 |
Andrew Hsieh <andrewhsieh@google.com> |
Switch to GCC 4.7 for X86 and MIPS Change-Id: I1c2021a15f53e064baf69084894c114289ef7c54
|
ec4caba79cf805a21a7d705cb35ecd89bb598a7f |
|
13-Dec-2012 |
Ben Cheng <bccheng@google.com> |
Enable lunch command to pick up new toolchain version. Otherwise the previously exported value will be sticky and the value defined in the TARGET makefile is ignored. Change-Id: Icdacb8c46034b8a24a9875b7596b31d00861512a
|
914f7fd938ed8b1a9abcea57325010d464cdc55e |
|
13-Dec-2012 |
Ben Cheng <bccheng@google.com> |
Enable lunch command to pick up new toolchain version. Otherwise the previously exported value will be sticky and the value defined in the TARGET makefile is ignored. Change-Id: I13b9cca2d288f7ab09104c57e7cad9f23de2548a
|
054ffd2e7c3da585ab223518569e7436858ba5e0 |
|
11-Dec-2012 |
Ben Cheng <bccheng@google.com> |
Define TARGET_GCC_VERSION in target specific make files. So that GCC refresh can be performed in a target specific way. Change-Id: I867e8b8fd671bef8c5af300e657a6da4fface032
|
40febcad47d22c234b9dcc14391ccd936b895f8c |
|
08-Dec-2012 |
Nick Kralevich <nnk@google.com> |
x86: enable FORTIFY_SOURCE Enable FORTIFY_SOURCE for Android x86. This adds certain security protections to Android programs, checking for common programming mistakes and buffer overflows. FORTIFY_SOURCE protections have been enabled for ARM since a46c480e43cc61d0190569684f0a1e53a5da75b6 (Jun 4th 2012) Change-Id: Idae6f93d37ddae605088867cd3029f12632456e1
|
06b63baedc769863f87ac0b789ac320b3cb0dc2a |
|
22-Oct-2012 |
Andrew Hsieh <andrewhsieh@google.com> |
Add TARGET_GCC_VERSION Default to 4.6, but can overwritten to something else in prebuilts/gcc/$os/$arch/$arch-linux-android*-$ver Change-Id: I16f99d642b8ff8e831d392261a0c536041107051
|
4f2f16da143fede94a1124ee79efccee78442b90 |
|
19-Oct-2012 |
Nick Kralevich <nnk@google.com> |
x86: add --warn-shared-textrel Emit a warning when the static linker detects a shared library has text relocations. Text relocations make it harder to share pages across processes, and make it harder to use certain memory protection features in, for example, SELinux. This warning will turn into an error in a future change (via --fatal-warnings) Change-Id: I2d169c7ce3600d02e25591f3ec15aba363730298 References: http://www.akkadia.org/drepper/textrelocs.html
|
57ddcb1bbce7a980e677dfd212ce76229fe33f55 |
|
26-Sep-2012 |
Ying Wang <wangying@google.com> |
Support to build executables against the NDK Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you include $(BUILD_EXECUTABLE). Cherry-picked from master. Bug: 7170098 Change-Id: Ib35a294bd6aa4e969d46ecd8ebab8ca5d843e24b
|
91fd1231c3254bc9d0642e5a646b5657bdaedffa |
|
26-Sep-2012 |
Ying Wang <wangying@google.com> |
Support to build executables against the NDK Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you include $(BUILD_EXECUTABLE). Bug: 7170098 Change-Id: I4cebeae3355e79a4d2f2f5549ef0613ced77e3f0
|
c6ffc00b9fa7898564139558a025d865bac37a38 |
|
26-Sep-2012 |
Ying Wang <wangying@google.com> |
Support to build executables against the NDK Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you include $(BUILD_EXECUTABLE). Bug: 7170098 Change-Id: I4cebeae3355e79a4d2f2f5549ef0613ced77e3f0
|
c2fb2391f459ad4ea2ce939dac02b4f4e33b9739 |
|
29-Aug-2012 |
Andrew Hsieh <andrewhsieh@google.com> |
Enable stack-protector for x86 Change-Id: I7a169075ca49ab831c37625d416c1d4b026bfec3
|
b205b461537ab2f935bdf84a3083b26360026f44 |
|
27-Aug-2012 |
Pavel Chupin <pavel.v.chupin@intel.com> |
Use gold linker on x86 Patch removes fallback -fuse-ld=bfd for x86 target and --copy-dt-needed-entries which is not supported by gold linker. Change-Id: Ie5603f98e3f2f9d4f81678c718e39b130a75d057 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
da4bf4251451d2da8883d636849b65fcc368a575 |
|
17-Aug-2012 |
Ying Wang <wangying@google.com> |
Don't include system/core/include/arch/<arch>/Android.mk for apps-only build. Bug: 6994483 Change-Id: I76c4d96264cf94a79d59fdeb52bb37c07a9458dd
|
f116e9bc84411c4923ef42c3cdd4378de0610d1d |
|
25-Jul-2012 |
Andrew Hsieh <andrewhsieh@google.com> |
Add -fuse-ld=bfd to x86 target Add -fuse-ld=bfd because ld.gold doesn't support "--copy-dt-needed-entries". Change-Id: I4e78967a076b3d093dd55366f7a54f0c9f9a45d1
|
bae121afcda8ffdca9cc03030f790121af251cea |
|
25-Jul-2012 |
Andrew Hsieh <andrewhsieh@google.com> |
Add -fuse-ld=bfd to x86 target Add -fuse-ld=bfd because ld.gold doesn't support "--copy-dt-needed-entries". Change-Id: Ie6fa0a2ddfc57b650552c8cf0891f738a5be0dda
|
c3192b316474df4f01b635a50b8696f7821b781b |
|
16-Feb-2012 |
Bruce Beare <bruce.j.beare@intel.com> |
x86: Clean up atom vs/ non-atom compiler flags, enable SSSE3 Change-Id: I0576514621affefea86a14d419f428761a60e067 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
|
52b63178d9e7da82301ecbc7d673154242b1c9a6 |
|
07-Feb-2012 |
Bruce Beare <bruce.j.beare@intel.com> |
gcc 4.6 requires --copy-dt-needed-entries Change-Id: Icc62106e0f2e96f4cd871bb4b3c46c7ca83cabec Author: Bruce Beare <bruce.j.beare@intel.com> Reviewed-by: Lu, Hongjiu <hongjiu.lu@intel.com>
|
b968c85edf69025e7efc5886229f16982a9165f1 |
|
21-May-2012 |
Andrew Hsieh <andrewhsieh@google.com> |
Set generic_x86/BoardConfig.mk TARGET_ARCH_VARIANT to x86 Change TARGET_ARCH_VARIANT from x86-atom to x86, for the reason that atom-specific instruciton like "movbe" isn't "generic" to x86 Android devices and x86 host running emulator-x86, which may crash non-atom host in VT because "movbe" isn't supported natively. Also revert previous fix in TARGET_linux-x86.mk which conservatively disable "movbe" across the board Change-Id: Ief93a3585566ffae558fcdc29741e6213a048d7d
|
112a674798c58052ddce94418e34f3e5a084ed1a |
|
18-May-2012 |
Andrew Hsieh <andrewhsieh@google.com> |
Add -mno-movbe to disable "movbe" instruction from code-gen Intruction "movbe" (move data after swapping bytes) is only available in Intel atom. Disable it for more general x86 devices and x86 hosts which run emulator-x86. Although emulator-x86 can support "movbe", most of the time we want to run emulator-x86 with VT support for speed (with KVM in Linux, or HAXM in Windows/MacOSX). The presence of "movbe" can crash emulator-x86 in VT because non-atom host doesn't have it natively. Change-Id: I86e037900ddcb8d544f92b8d8464c8627347e560
|
b1a4e4e89e9989b292938c800d234ab1007b848c |
|
16-May-2012 |
Ying Wang <wangying@google.com> |
Delete the misleading var TARGET_OUT_STATIC_LIBRARIES. Which can be replaced by TARGET_OUT_INTERMEDIATE_LIBRARIES. Change-Id: I965ff1ebe70fc3113c19e4896277c876dcedb6a5
|
402d7f3654cc3ad58b1df5d2ba12e908b57f861b |
|
29-Apr-2012 |
H.J. Lu <hongjiu.lu@intel.com> |
Use i686-linux-android-4.6 for x86 build Change-Id: Ibbb0a899f147013503d6830bb93050c5ae588539 Author: "H.J. Lu" <hongjiu.lu@intel.com>
|
ecb1a565849b40ab7aa45b7fe71e24e29a059376 |
|
09-May-2012 |
Nick Kralevich <nnk@google.com> |
x86: compile everything with relro / bind_now Enable relro / bind_now when compiling Android applications. This marks certain regions of memory as read-only after linking, making memory corruption security vulnerabilities are harder to exploit. See: * http://www.akkadia.org/drepper/nonselsec.pdf (section 6) * http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html relro support has been enabled for ARM since 233d460f21d372f964f8078b8b0d5fd17af7c6b6. This change enables it for x86. Change-Id: Ib90704f2fecffcfdc3587607112804faa0e16385
|
61c37e7a4f929a79efb8abf4489bac0c1ffec8ff |
|
20-Jan-2012 |
Kito Cheng <kito@0xlab.org> |
Update build rule for executable with PRIVATE_ALL_WHOLE_STATIC_LIBRARIES Change-Id: I9ff53f51dcb57511a24765bdf6a61c000a7ce977 Signed-off-by: Kito Cheng <kito@0xlab.org>
|
a50ef1c12441d9eccfa75409c1392befaf2abed5 |
|
21-Apr-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Switch to new locations of toolchains Change-Id: I15a8be11b3d0f1985ffd97dd51a1af18e1ce7b67
|
ea91f0a40ee114588204b9912345d3d8305ee190 |
|
09-Jan-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Reference x86 toolchain in its new location Change-Id: I990b03107d1596a87a8d4cea6973735c60db4c64
|
c7a10ddd3115a40de10b34d7dbfe92134ce7ae8f |
|
06-Jan-2012 |
Ying Wang <wangying@google.com> |
Include toolchain makefile based on the current config. So we can have the same set of module names in different host arch / toolchain version combinations. Change-Id: Iec66584bf3de92aedd71a59f9dbe74b6ed025b2e
|
6371da10f85471d9530e53367027078d305fe832 |
|
13-Dec-2011 |
David 'Digit' Turner <digit@google.com> |
x86: Refine the way we configure the x86 build. This is the result of a recent conversation around the x86 ABI and its relationship with how we build platform images. Briefly: - We want to use feature-based macros like ARCH_X86_HAVE_$FEATURE instead of relying on explicit compiler macros like -DUSE_$FEATURE - We want to allow for other x86-based arch variants, e.g. if someone wants to build Android for a CPU that doesn't support the NDK x86 ABI. However, we need to ensure these are not tagged compatible by mistake (see check at the end of TARGET_linux-x86.mk) - There are several flags which use is dubious now that we have a dedicated toolchain to build all the x86 stuff. Comment them as 'to be considered for removal'. We'll do the proper checks later. Change-Id: I7768d7c34d73e274cbf4c09ae831b55280d6bb58
|
3343b27c534fb4ea238f2feaa0d9346840ee2f92 |
|
09-Dec-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
x86: The default ATOM BSP flags need to be in sync with the NDK ABI Change-Id: Ic741e1795c655ace1e33ae6708219f2708358090 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
|
d9d2e7a42c18a997ae47e4174713b5e2942044b5 |
|
04-Nov-2011 |
Nick Kralevich <nnk@google.com> |
x86: enable PIE for dynamically linked executables Compile all x86 programs on Android with -fPIE and -pie. This enables PIE (Position Independent Executables), which helps protect Android applications from exploitation due to memory management bugs. Note 1: PIE *static* executables are not supported at this time and require additional linker changes. Note 2: This change compliments 026a85b129e4540a4d8d40aace47aa0c69f609da, which was the exact same change, except for ARM. Testing: Rebuilt the tree completely from scratch, and verified that the system boots and basic functionality works in the emulator. Change-Id: I990064c37da3d857e663b27f31fee05f689a2824
|
aa1c321a58e3dcce72c144d7404ce7cef413586e |
|
02-Aug-2011 |
Chih-Wei Huang <cwhuang@linux.org.tw> |
x86: remove obsolete comments Change-Id: Ifb12892c17a50f85c7700d6413ea295a4dad7047
|
e33ba4c49ed461d608c65eb4e09d31ca81d167ff |
|
12-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Remove the simulator target from all makefiles. Bug: 5010576 Change-Id: Ie814f4c8d3aa1e7cc7f5735822ab25542f36cf62
|
63152fd929265b73195492e64b29352e1d068287 |
|
08-Jul-2010 |
Bruce Beare <brucex.j.beare@intel.com> |
x86: Add proper gcc-4.4.3 x86 toolchain support. This patch combines 7 AOSP patches to add proper support to build x86 platform images using the 4.4.3 toolchain. The Orig-Changed-Id fields below correspond to the change ids of the original changes in the AOSP master branch history. Define __ANDROID__ for x86 to be on par with ARM build requirements Orig-Change-Id: I79c8f29af1f20b694f22a39f848216022809a5c6 Signed-off-by: Bruce Beare <brucex.j.beare@intel.com> Enables x86-atom as a valid TARGET_ARCH_VARIANT for the simulator build. Orig-Change-Id: Idbceb6c7d4117fbecd35e4261330e6405666189e IA: enable SSE fpmath, Separate ARCH_VARIANT and ARCH makefile settings Change-Id: I9ba661d68a3b375c21eb6b56442d8ba66a5369b3 Orig-Change-Id: I60b8121c92b39a60b513bc2496a1e0a21015c586 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> x86: Use GCC 4.4.3 Orig-Change-Id: I083c1afcbb98cfeb48d7bcb7681e5c34db52e767 Author: H.J. Lu <hjl.tools@gmail.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> x86: the -mbionic flag is needed for IA builds. Orig-Change-Id: I00c75f37d7ea46b9f8ad3d7b2ff7094477ff0916 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> x86: Disable stack-protector until bionic is fixed Orig-Change-Id: I2862de5c1b02490197704f4578a8a91d0565eef0 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Clean up of X86 build flags Orig-Change-Id: Ife75c32cd49b32345712dee28fa5f2283069a90e Signed-off-by: Mark D Horn <mark.d.horn@intel.com> Author: Bruce Beare <bruce.j.beare@intel.com> x86: Enable -fstack-protector Orig-Change-Id: I1fe10159b7a29452ecfc6ba328164948cf9950d6 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
|
c101e27d547ee218337b2600e8158dedd0a064af |
|
31-May-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
Refactor Stripper. Allow a stripper other than SOSLIM to be specified Orig-Change-Id: I61137f5bb123dc5f610af9928ed3debdf85ba74d Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
|
8f77c9ded3b64764ebe6f2cb1be45a2de0b7bec9 |
|
21-Jun-2011 |
Evgeniy Stepanov <eugenis@google.com> |
Add .gnu_debuglink when stripping DSOs. This is used by debug tools to find symbols for the stripped binary. Adds ~70 bytes to each DSO, ~25000 bytes total, which is about 0.01% of the system image. This change only affects -eng and -userdebug builds, and does not affect -user. Change-Id: I0c92a9e09fbc97184dea66813923568cbcc2a3fe
|
3c22287c1b5560570173237acfd4e99d33266eb1 |
|
07-Jun-2011 |
Martijn Coenen <maco@google.com> |
Revert "x86: Enable -fstack-protector" This reverts commit e397dcccbb1bb2ed52b4d6febaee8fb900154b3e.
|
e397dcccbb1bb2ed52b4d6febaee8fb900154b3e |
|
04-May-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
x86: Enable -fstack-protector Change-Id: I1fe10159b7a29452ecfc6ba328164948cf9950d6 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
|
5812d7b4694d36b728ff142588861f82abffa49c |
|
26-Apr-2011 |
Mark D Horn <mark.d.horn@intel.com> |
Clean up of X86 build flags Review and clean-up of both compiler and linker flags to ensure proper usage and consistency for images, toolchain, SDK, and NDK. Change-Id: Ife75c32cd49b32345712dee28fa5f2283069a90e Signed-off-by: Mark D Horn <mark.d.horn@intel.com> Author: Bruce Beare <bruce.j.beare@intel.com>
|
fcdabd4bdbb347399e77d2fd4b1aefd6281d75f8 |
|
25-Apr-2011 |
Ying Wang <wangying@google.com> |
Add LOCAL_GROUP_STATIC_LIBRARIES Set LOCAL_GROUP_STATIC_LIBRARIES := true to group the static libraries, in case we need gcc flags "-Wl,--start-group" and "-Wl,--end-group" to fix circular references. Change-Id: I03c4901670112fcdd2bb0fe660b6924e5776fcf8
|
6ddd4ead924ac27c7e6655badeb6521dafd0a1ea |
|
01-Apr-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
x86: Disable stack-protector until bionic is fixed Change-Id: I2862de5c1b02490197704f4578a8a91d0565eef0 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
|
2e8283d9bcb3a4d92868b36f523e8dce2a851ddc |
|
01-Feb-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
x86: the -mbionic flag is needed for IA builds. Change-Id: I00c75f37d7ea46b9f8ad3d7b2ff7094477ff0916 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
|
a17b91faa405acb3a162e9db4cf50b5addd231ae |
|
27-Jan-2011 |
Bruce Beare <bruce.j.beare@intel.com> |
x86: Use GCC 4.4.3 Change-Id: I083c1afcbb98cfeb48d7bcb7681e5c34db52e767 Author: H.J. Lu <hjl.tools@gmail.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
|
bd528a82a24e2230ea797ffc7d9a20d4d917747e |
|
16-Feb-2011 |
Jeff Brown <jeffbrown@google.com> |
Build system tweaks for Valgrind. Added LOCAL_NO_CRT to enable building executables that do not link to the C runtime library. Removed support for LOCAL_MODULE_SUBDIR since it was broken and unused. (Was going to use it but ended up using LOCAL_MODULE_PATH instead.) Change-Id: Ifed4ffe17003d90370c711ea6606e2b75e841dee
|
703e7c6d50a5bddf0fb057a1a26618e2f7138c31 |
|
05-Feb-2011 |
Jeff Brown <jeffbrown@google.com> |
Build system tweaks for Valgrind. Added LOCAL_NO_CRT to enable building executables that do not link to the C runtime library. Removed support for LOCAL_MODULE_SUBDIR since it was broken and unused. (Was going to use it but ended up using LOCAL_MODULE_PATH instead.) Change-Id: I3b6f5ab7e5ae6aaa7119899adccece2b4ab1cbb3
|
3a7e4ccad9c910ac798a8c324f7718d137bd7692 |
|
28-Jan-2011 |
Ying Wang <wangying@google.com> |
Unify use of $(hide). Change-Id: Ib7e17bbb4682caecce5812e63de872b676403d64
|
f5653d1cee10cd8995217e0831678a3610544b20 |
|
28-Jan-2011 |
Ying Wang <wangying@google.com> |
Regularize use of PRIVATE_CXX. Change-Id: Ifc628c67b5fa142cec59187f89f2d39df81160b9
|
80e6cce93e36787be9123f9b5dc91da1a0d2f472 |
|
25-Jan-2011 |
Ying Wang <wangying@google.com> |
Correct misuse of target/host vars. Change-Id: Ide41aeddc44ca05d85a36035c2d55ea453cfd216
|
ccec9c45d946d4a6fb3275469e39c4d7d203d9ab |
|
14-Oct-2010 |
Bruce Beare <bruce.j.beare@intel.com> |
IA: enable SSE fpmath, Separate ARCH_VARIANT and ARCH makefile settings Change-Id: I60b8121c92b39a60b513bc2496a1e0a21015c586 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
|
a4716b26187217ce8c4ad8f021080605a39943c6 |
|
02-Aug-2010 |
Johnnie Birch <johnnie.l.birch.jr@intel.com> |
Enables x86-atom as a valid TARGET_ARCH_VARIANT for the simulator build. Change-Id: Idbceb6c7d4117fbecd35e4261330e6405666189e
|
2467fe24f0c447fcd59831ea1faecdf526889dea |
|
26-Jul-2010 |
Chih-Wei Huang <cwhuang@linux.org.tw> |
Add atom optimization flags To enable the optimization, set TARGET_ARCH_VARIANT := x86-atom. Change-Id: I6b7798944bb8262bd83a76712419d8a77d3c34e9
|
1a08100fa9d92c25de32ba4d13fd3958bbcab894 |
|
13-Jul-2010 |
Ying Wang <wangying@google.com> |
Support to build native libraries with prebuilt NDK Bug: http://b/issue?id=2811253 Change-Id: Iabd4ab8b3d7236dffe89f1939e1142e882944026
|
fe2ef85d5d41cfa28c9fe8ef86da3dbaaeec1aba |
|
08-Jul-2010 |
Bruce Beare <brucex.j.beare@intel.com> |
Define __ANDROID__ for x86 to be on par with ARM build requirements Change-Id: I79c8f29af1f20b694f22a39f848216022809a5c6 Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
|
45ac4341515f7ff4d483cfb8e2fba8d3c2cb1f6e |
|
24-Jun-2010 |
Bruce Beare <brucex.j.beare@intel.com> |
Refactor Stripper. Allow a stripper other than SOSLIM to be specified Change-Id: I61137f5bb123dc5f610af9928ed3debdf85ba74d Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
|
99e087bc82c11d5909785acc7333176952a14032 |
|
08-Mar-2010 |
Andy McFadden <fadden@android.com> |
Added -lpthread to target LDFLAGS for sim-eng. This adds "-lpthread" to TARGET_GLOBAL_LDFLAGS when TARGET_SIMULATOR is true. This is much easier than inserting it into individual makefiles as needed. Has no effect on other builds. Should fix the sim-eng build breakage in libcameraservice. Change-Id: I4dcd7d54b93d1be1622b8ce78a1662d28ca9f9f2
|
ef26218762945f6043d5c515ab601189ca7cc865 |
|
26-Feb-2010 |
Andy McFadden <fadden@android.com> |
Tweak default x86 target arch variant. Simply set the arch variant for sim-eng to be "x86".
|
16e95bb99df4515ad37d73562bffb1a9fd21c162 |
|
24-Feb-2010 |
Andy McFadden <fadden@android.com> |
Build the target side of the simulator as 32-bit. This detail got lost in my previous cleanup change 9b4a812. Also add a comment explaining why the host side of the simulator needs to be built in 64-bit (wxWidgets). Change-Id: I2a867f7f80b43d53e73348b19f6ae834600295f9
|
9b4a81237be29b0aae50d1e370b63a07ea2b88b9 |
|
23-Feb-2010 |
Jean-Baptiste Queru <jbq@google.com> |
Get rid of $(combo_target) The only OS-ARCH combo that would have benefited from it is linux-x86, but it explicitly used separate configurations for the HOST_ and TARGET_ side of things. This makes is clear which files are related to the HOST_ configuration and which ones are related to the TARGET_ configuration, and expands $(combo_target) to the only possible/reasonable value that it could have had in every file. This also cleans up the simulator, by moving it in a single place in TARGET_linux_x86 (since the only part that's special is to use HOST_ settings even when building TARGET_ modules). Change-Id: I2420eeb8cfe539f5807ec99cb3177ffb9f2476d5
|