summaryrefslogtreecommitdiffstats
path: root/core/combo
Commit message (Collapse)AuthorAgeFilesLines
* HAVE_OPEN_MEMSTREAM is no longer used.Elliott Hughes2014-08-208-40/+0
| | | | | Bug: 17164505 Change-Id: I8055e52019d8cdea957d0fb8cbd46ca9b52564e1
* Remove unused entries from AndroidConfig.h.Elliott Hughes2014-08-188-170/+0
| | | | | | | We should probably try to remove these files completely, but this at least takes care of the stuff that's completely obsolete. Change-Id: Ic71b7b491c119963068294e258dc6afe5a45b40d
* Remove HAVE_GETTID.Elliott Hughes2014-08-187-36/+0
| | | | | Bug: 17048545 Change-Id: Ib5b72ecb451a26cb393147a44601566400ca1dd6
* Consistent use of USE_MINGWYing Wang2014-08-072-2/+2
| | | | Change-Id: I05e212e5a99639d0196006b9c2ec35072c54f399
* Inhibit implicit -Bsymolic in -shared.Dan Albert2014-08-076-6/+6
| | | | | | Bug: 16853291 Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
* Fix uses of -fPIC and -fPIE.Dan Albert2014-08-076-10/+7
| | | | | | | | | | | | | | | | | | | | | | | 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
* Update host linux toolchain to gcc 4.8David 'Digit' Turner2014-07-312-4/+4
| | | | | | | This patch ensures the build system uses the prebuilt gcc-4.8 toolchain when building host Linux binaries, instead of the gcc-4.6 one. Change-Id: I7b449650714ba4314a780827e0243f2af40ec82c
* Merge "[MIPSR6] Add mips64r6 and mips32r6 targets"Elliott Hughes2014-07-302-0/+19
|\
| * [MIPSR6] Add mips64r6 and mips32r6 targetsDuane Sand2014-07-242-0/+19
| | | | | | | | | | | | | | | | | | | | | | 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. Change-Id: I1740a6c658304b6c41242be58d68753e6f171658
* | Merge "[MIPS] Unite mipsel and mips64el 4.9 gcc toolchains"Elliott Hughes2014-07-2312-130/+21
|\ \ | |/
| * [MIPS] Unite mipsel and mips64el 4.9 gcc toolchainsDuane Sand2014-07-2312-130/+21
| | | | | | | | | | | | | | | | | | | | | | | | 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. Change-Id: I86f1075266349edb2b08a7709b9f5472d8cfda32
* | Merge "Use hermetic host toolchains."Ying Wang2014-07-294-18/+0
|\ \
| * | Use hermetic host toolchains.Ying Wang2014-07-284-18/+0
| | | | | | | | | | | | Change-Id: I6bb72b5728d1075be9645f8473dcf3db759fa66a
* | | Revert "Revert "Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to clang.""Ying Wang2014-07-291-0/+4
|/ / | | | | | | | | | | | | | | | | This reverts commit a4f84fdfed9a805d69b37de997512cd0616b3ff8. 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
* | Merge "[MIPS64] Enable mips64 clang"Ying Wang2014-07-231-3/+0
|\ \ | |/
| * [MIPS64] Enable mips64 clangDuane Sand2014-07-231-3/+0
| | | | | | | | Change-Id: I737f40ff1d4c71c21bea5159d1b0acee89fe32a2
* | Refactor FDO support code to ensure arm64 can also be built with FDO.Dehao Chen2014-07-237-145/+47
| | | | | | | | Change-Id: I752c9f411b0a046a15c72b4837efc1fb0503b470
* | Default to "prescott" as our baseline i686 host build architecture.Stephen Hines2014-07-181-1/+1
|/ | | | | | Bug: 16408818 Change-Id: I41760605bf9f4589859afd20cc96ccbedb6fe82c
* Merge "Fix PIC default to be -fPIC"Nick Kralevich2014-07-102-2/+2
|\
| * Fix PIC default to be -fPICPavel Chupin2014-07-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -fPIC is more restrictive than -fPIE, but when "-fPIC -fPIE" used together the latter overrides. It may lead to issues when building DSO where -fPIC and not -fPIE is required. For executables -fPIE -pie shoudld be added and it's fine to override -fPIC as it is done now. The reason why we don't have these issues so far is probably related to -Bsymbolic added by default. But any attempt to remove it reveals these problems: https://android-review.googlesource.com/#/c/98061/ Change-Id: If0f10628b7cc41e564221a7a37298f7d65f859a8 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* | More consistent use of 64-bit build variable.Ying Wang2014-07-086-12/+0
| | | | | | | | | | | | | | | | Set up TARGET_IS_64_BIT and HOST_IS_64_BIT early so we don't need 2 mechanisms to judge if it's 64-bit build; Remove the unnecessary 32-bit host variables. Change-Id: I08d6d4d9ea70f91135fe2ee05463fb9a0d1cee42
* | Merge "Remove -Bsymbolic from builds."Dan Albert2014-07-086-6/+2
|\ \
| * | Remove -Bsymbolic from builds.Dan Albert2014-06-136-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Add -Wl,--fatal-warnings to x86_64.Elliott Hughes2014-06-301-0/+1
| |/ |/| | | | | | | Bug: 11358761 Change-Id: I0c86a2ce3f95e89cc6c6eed65f3595922a90f45f
* | Remove unused hosts.Elliott Hughes2014-06-162-676/+0
| | | | | | | | | | | | Nobody is using freebsd-x86 or linux-ppc. Change-Id: I4e19fd32d92b39ad574001e7046e37ccd2300a2e
* | Remove useless stuff from "AndroidConfig.h".Elliott Hughes2014-06-128-97/+2
|/ | | | | | | | The futex wrappers and memcmp16 are no longer available to anyone. No one was checking for the existence of the SA_NOCLDWAIT constant, and even if they wanted to, they could just check directly. Change-Id: If8ac6c2617b76b23a2450f58fc03453f7f82a61f
* Reenable ccache.Ying Wang2014-06-061-2/+6
| | | | | | | The previous commit 994c84fb virtually disabled ccache, due to the deferred evaluation of CC_WRAPPER/CXX_WRAPPER. Change-Id: Ie0d70a23a55190bd9b24b72edc9158b6976e1d5d
* Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to the compiler.Primiano Tucci2014-06-022-8/+22
| | | | | | | | | This is to make it possible to wrap the compiler invocations with custom wrappers (e.g., distcc/goma) by setting the CC_WRAPPER, CXX_WRAPPER, JAVAC_WRAPPER variables in the build environment (without having to know in advance the path to the compiler) Change-Id: Ide800c24f0c2ebbb1cfb358bd8f99ec8a9d41253
* Merge "Add -shared to clang LDFLAGS."Stephen Hines2014-05-304-0/+4
|\
| * Add -shared to clang LDFLAGS.Tim Murray2014-05-294-0/+4
| | | | | | | | | | | | TOT clang doesn't do the right thing with regards to -pie without this. Change-Id: Ic14cfb25d96359eb18899c09ebaf1d311e937d01
* | arm64: restore relro/nowNick Kralevich2014-05-301-2/+2
| | | | | | | | | | | | | | The bug which required this option has been fixed. Bug: 11434996 Change-Id: I7ab7e2e8ba7b993281902832d01b3ee3ba9e06ef
* | Add -latomic to all target buildsAndrew Hsieh2014-05-296-0/+30
|/ | | | | | | | | | | | | 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
* Merge "Revert "Fix for duplicate names in whole static libs""Dan Albert2014-05-271-1/+1
|\
| * Revert "Fix for duplicate names in whole static libs"Dan Albert2014-05-271-1/+1
| | | | | | | | | | | | This reverts commit 0e5ce8be34446278a3404ea2a4afc01f20f86c5a. Change-Id: I68b776cb915fd7be8299ddb2899907046dddadf3
* | Merge "Fix for duplicate names in whole static libs"Dan Albert2014-05-271-1/+1
|\ \ | |/
| * Fix for duplicate names in whole static libsDan Albert2014-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | _extract-and-include-single-(host|target)-whole-static-lib was written such that only the first file of a given name would be extracted and included into the new library. This patch iterates over each identically named archive member, extracts them individually, and adds them to the new archive. Bug: 15110069 Change-Id: Ia08c7be6f40bfc8403908a8808898ada479099b1
* | Exclude libstdc++ and libgcc if libc++ is requested.Ying Wang2014-05-236-26/+26
|/ | | | | Bug: 15174002 Change-Id: I24fe428c3520f76cd61f0660b59ba18a1f2d2dad
* Use aarch64-linux-android-4.9 for arm64 build (attempt #4)Ben Cheng2014-05-191-6/+5
| | | | | | | | | | | | | | | | GCC: 4.9 (which supports -fstack-protector) Binutils: 2.24 (which supports gc-sections) GDB: 7.7 NDK libraries are still picked up from prebuilts/ndk/*/4.8/* GCC has been patched to disable codegen for calling __cxa_throw_bad_array_new_length. Source code has been sync'ed against the 2014-05-14 snapshot which contains many important fixes (devirtualization, codegen, ...). Change-Id: I43229360ad0132193d5208cb0d1acba55084853c
* Fix the missing 2nd arch prefix.Ying Wang2014-05-161-1/+1
| | | | | Bug: 13751317 Change-Id: Ie5a323a0a89245576dbc91271d3178574942627d
* Support host multilib buildYing Wang2014-05-148-146/+346
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change basically ported our target multilib to the host side. It supports 2 host build modes: x86 and x86_64 multilib build. For now you need to set "BUILD_HOST_64bit=true" to switch to x86_64 multilib build. Later we'll default to x86_64 build and have a flag to force 32-bit only build, which may be needed by SDK build. In host module definition, like in target ones, you can use the following LOCAL variables to set up multilib configuration: LOCAL_MULTILIB: can be "both", "first", "32" or "64". It also supports the same set of arch or 32-vs-64 specific LOCAL variables. By default, it builds only for the first arch. To keep path compatibility, in x86_64 build files are still output to out/host/linux-x86; Both 32-bit and 64-bit executables are in out/host/linux-86/bin; In x86_64 build 32-bit shared libraries are installed to out/host/linux-x86/lib32 and 64-bit shared libraries are installed to out/host/linux-x86/lib; 32-bit object files are output to out/host/linux-x86/obj32 and 64-bit object files are output to out/host/linux-x86/obj. Bug: 13751317 Change-Id: I6044f83b7db369a33e05209e8c588eb6dc83409f
* Merge "Define __USE_MINGW_ANSI_STDIO for windows build"Andrew Hsieh2014-05-131-1/+1
|\
| * Define __USE_MINGW_ANSI_STDIO for windows buildAndrew Hsieh2014-05-091-1/+1
| | | | | | | | | | | | | | | | Some printf/scanf functions in Windows aren't C99 compatible. Define __USE_MINGW_ANSI_STDIO for mingw compiler to use it's own set of replacement libraries which are more C99-like. Change-Id: I51dfa582971ec0487409067e8bb7fe3a44577b93
* | Merge "Disable canonical prefixes of system headers"Andrew Hsieh2014-05-097-2/+15
|\ \
| * | Disable canonical prefixes of system headersAndrew Hsieh2014-05-097-2/+15
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | javac: rename common_flags to avoid conflictionsNick Reuter2014-05-081-4/+4
|/ | | | | | | | * Currently the flag conflicts with one seen in hardware/qcom rename to avoid issues. Change-Id: I876fcd6a254f349dc5260509bcddb0367a7d49d8 Signed-off-by: Nick Reuter <nreuter85@gmail.com>
* Apply LOCAL_LDLIBS to target build rules too.Ying Wang2014-05-076-12/+24
| | | | | | | | | 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
* add silvermont x86 architectureAndrew Boie2014-04-302-0/+37
| | | | | | | | | This is used for Baytrail targets. Change-Id: I5a2fa6dbb8217a326ee09f5ea434885718ab3f0c Signed-off-by: Andrew Boie <andrew.p.boie@intel.com> Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com> Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
* Merge "Leave 'linux' defined on x86/x86-64, like arm."Elliott Hughes2014-04-242-2/+0
|\
| * Leave 'linux' defined on x86/x86-64, like arm.Elliott Hughes2014-04-232-2/+0
| | | | | | | | Change-Id: I53013a45c19a643a985de3f339b8b3f8f4dc39d2
* | Leave 'linux' defined on mips/mips64, like arm.Elliott Hughes2014-04-232-2/+2
|/ | | | Change-Id: Idf1e781c34d45d1e20b7e5542d79201ae93668fe