| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This results in nearly all functions with the possibility of stack
corruption getting stack canaries, because it applies to any function
taking a reference to the frame or with a local array rather than just
the functions with arrays larger than 8 bytes. It was developed for use
in Chrome (and Chrome OS) and has also been adopted by various other
distributions (Arch, Fedora, Ubuntu, etc).
The code size increase ranges from ~1.5% to ~2.5%, compared to ~0.3% to
~0.7% with the more conservative switch. The increase in the performance
loss is usually minimal. The overall size increase once everything other
than C and C++ code is taken into account is minimal, and it greatly
improves the mitigation of stack buffer overflow vulnerabilities.
https://lwn.net/Articles/584225/
Change-Id: Iccc20852db8a5e4dd9792f9da6d5e325fc59b0a5
|
|\
| |
| |
| |
| |
| | |
replicant-6.0
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
|
| |
| |
| |
| |
| |
| | |
Make cortex-a53 and cortex-a53.a57 use cortex-a7.
Change-Id: I89d5b3f044c867ec99aae319eafc33f2edf1f9f2
|
| |
| |
| |
| |
| |
| | |
export androideabi arm toolchain path
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
|
|/
|
|
|
|
|
| |
this is just an initial version
various config parts need cleanup and more testing is necessary
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For those ARMv7-A Cortex CPUs that can handle VFPv4 floating point,
We can set "-mfpu=neon-vfpv4" instead of generic "-mfpu=neon"
to gain extra performance improvements.
References :
- GCC : https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
- Cortex A15 : http://www.arm.com/products/processors/cortex-a/cortex-a15.php
- Cortex A9 : http://www.arm.com/products/processors/cortex-a/cortex-a9.php
- Cortex A8 : http://www.arm.com/products/processors/cortex-a/cortex-a8.php
- Cortex A7 : http://www.arm.com/products/processors/cortex-a/cortex-a7.php
Change-Id: I91893789ed8edabf3767e1782e494b81158332bb
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
Signed-off-by: Maxime Poulain <maxime.poulain@student.uclouvain.be>
|
|
|
|
|
|
| |
* ccache config has moved to a separate makefile in M
Change-Id: If1f426e647715f72c09f2339a61ac2a13121b477
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* This causes the check during path setup for an arm-eabi-4.9 toolchain to fail,
thus only leaving the arm-linux-androideabi- to exist.
* This is only temporary as Google is building with 4.9 and 4.8 gcc's
have been removed in their next release
Was updated to 4.9 here: https://github.com/CyanogenMod/android_build/commit/bf8346e90c5a6d5d809fa7166d50714b2b6bc30d
Toolchain check here: https://github.com/CyanogenMod/android_build/blob/cm-13.0/envsetup.sh#L189
Change-Id: I24bff10e392a6cdced1797870e523144e83d611d
Signed-off-by: Brandon McAnsh <brandon.mcansh@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
During lunch, check environment variables for ANDROID_CCACHE_DIR.
If it is specified, CCACHE_DIR is set to match. Prevents issues
with multiple versions of ccache writing to the same cache dir.
ANDROID_CCACHE_SIZE should also be specified, allowing for a distinct
cache directory size from the default. Syntax for ANDROID_CCACHE_SIZE
is the same as applied in the command: 'ccache -M$ANDROID_CCACHE_SIZE'
Change-Id: I17497a6f56347850e0fa7b8ebd4de0b5a0b13e55
|
|
|
|
|
|
|
| |
* Allows lunch and a build to start
Change-Id: I9cd4b851cf05390b80e1b8d292643e59e636fe3c
Signed-off-by: Brandon McAnsh <brandon.mcansh@gmail.com>
|
|
|
|
|
|
|
|
| |
To build on OSX with late-2015 CLI Tools, the build system must include C++
headers from a new location. Mid-2015 CLI Tools and older can still be used, so
the older location will also be kept.
Change-Id: I422d28cb41ab57fcc816538a822df8aecdf7d9d6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Support using OSX versions 10.9 and 10.10 as the compilation host.
Please note that the prebuilt darwin-x86 gcc is missing an upstream
patch that properly identifies 10.10 as newer than 10.2, which
restricts mac_sdk_versions_supported to 10.9.
- Support using Xcode Command Line Tools, waiving the requirement for
installing the full Xcode development suite for 600k worth of C++
headers.
These build modifications have been verified by successfully compiling a
cm12-hammerhead image from scratch on a OSX Yosemite 10.10.1 host with
Xcode Command Line Tools 6.1.1 installed.
Change-Id: Id1741ef583d186eb6a42093e5111431ae7b08a2c
|
|
|
|
| |
Change-Id: Id6f9c952d01d3c980115a52605d9c86038b3b5bd
|
|
|
|
| |
Change-Id: I9294a518bcdc21ccbae72eadd9f3c1a12982d028
|
|
|
|
|
|
|
| |
To be used with
http://review.cyanogenmod.org/#/c/77758/
Change-Id: I7ecc4707fa45bd7098165615c0521a12c85fb087
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Kernel makefiles that the stat on the system is GNU stat. GNU stat uses the "-c" option to specify format.
Darwin stat uses the "-f" option to specify format. This discrepency will cause kernel build breaks.
On my system, I symlink stat to GNU stat. This causes the "get-file-size" define
to fail.
The fix for this is to detect "gstat", aka GNU stat, and use that appropriately.
Change-Id: I987c155b7dc3ff14ffe6da40edf834ca34b7df75
Fix up the get-file-size function that was broken due to the prior commit that made it utilize gnu stat (gstat)
Change-Id: I24bba2bfcb509ad1ad76d2260eedd685ba45c393
|
|
|
|
|
|
| |
* enable use of shared ccache
Change-Id: Ic708a5d5169291d674b167aa2c87bf2c8adaafae
|
|
|
|
|
|
| |
This enables ccache sharing between different build tree paths.
Change-Id: I99636bdd2779a6ccf0649f027e35cf67df44b6ae
|
|
|
|
|
|
|
|
|
| |
- Don't overwrite [TARGET|HOST]_[CC|CXX] with the [CC|CXX]_WRAPPER prefix,
so that we can disable the wrapper per module.
- Disable ccache on a module when FDO is enabled.
Bug: 22612634
Change-Id: Ibc04a4742d589955066c7eceb43a0da9a2b893bc
|
|
|
|
| |
Change-Id: I3f1fb5dbde731d9c3d6db26a46bc7f0f54d8e071
|
|
|
|
|
|
|
|
| |
This reverts commit 32e1689684682aadf1a5d5af523ccafae5907572.
Now that prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9 is also updated
Change-Id: Id95c1c4cc651c434461655e62b8f23afd56b53e4
|
|
|
|
|
|
|
|
|
|
|
| |
Normally the binaries use the exsiting $ORIGIN/../lib[64] with binaries
in the bin subdirectory;
For historical reason the binaries in the SDK package don't have a bin
subdirectory. This workaround enables them to work in the exsiting SDK
directory structure.
Bug: 21301578
Change-Id: Ibebfbfb8b30e81e7bbaf13a21bb205f3f0282d24
|
|
|
|
|
|
|
| |
The gcc 4.9 devirtualization bug was fixed with a cherry pick of r212222.
BUG: 19872411
Change-Id: I6d9677f112402fe84d70da770f364392398e9cc9
|
|
|
|
|
|
|
|
|
|
| |
Also filter out gcc-only flags -Wno-clobbered and -fno-devirtualize
when compiled with clang/llvm.
BUG: 19872411
Change-Id: I6de57583be04da607f569df65e93531787dbb789
(cherry picked from AOSP commit 90036610ddfe0455553a1b46bb8adbeafde0cac1)
|
|
|
|
|
|
|
| |
This reverts commit 6399dcce598c2ac54bd87bc754028513405c049f.
Bug: http://b/20658994
(cherry picked from commit 8387d99ec3649390f815d447a44674fc9ca18823)
|
|
|
|
|
|
|
|
| |
This reverts commit d05fd6fc821db3e09c988370c6ac24c3354232f7.
Bug: http://b/20658994
Change-Id: Iccbd4846b310306ed11b87f4566b8aaadfa63ebb
(cherry picked from commit cb2b3d47addad6b7370df4b8aa77a53f98045cfb)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 9dc1a7359f2351e18f08d69ea725f884541b2f2f.
Bug: http://b/20658994
Change-Id: Ib10c764a7d06db823ee2fccfa47240e0a639d4bc
(cherry picked from commit d05fd6fc821db3e09c988370c6ac24c3354232f7)
|
|/
|
|
|
|
|
|
| |
This reverts commit 8bd30fe3cb82e50caab50e4091c5977e5e24db0e.
Bug: http://b/20658994
Change-Id: I6c31094559a12b824344802bf3993f91aee79a26
(cherry picked from commit 6399dcce598c2ac54bd87bc754028513405c049f)
|
|\
| |
| |
| |
| |
| |
| | |
enable compiler hardening flags"
* commit 'c98d6b35ba7e9381089b1b7c8b47f384e5772a4f':
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
|
|\ \
| |/
| |
| |
| |
| |
| | |
for mips64"
* commit '804219841d7f581cf78f3f68e13381b6631513a0':
Pack relocations for mips64
|
| |
| |
| |
| |
| | |
Bug: http://b/18051137
Change-Id: I063c5d6cf007658c0efe9cb1d65ed8026b3e7dae
|
|\ \
| |/
| |
| |
| |
| |
| | |
for mips"
* commit '10537b6f41342c50fc0c80bd85ff1b126054086f':
Pack relocations for mips
|
| |
| |
| |
| |
| | |
Bug: http://b/18051137
Change-Id: Id5e0adfb55273f23e1c99b4eecb318c6b8d19989
|
|\ \
| |/
| |
| |
| |
| |
| | |
for x86"
* commit '5754ad7ead23fb613f9fe4de2970283d18141ea5':
Pack relocations for x86
|
| |
| |
| |
| |
| | |
Bug: http://b/18051137
Change-Id: I3f316343e9bbd2037a9583d5b6fb41a06be153cd
|
|\ \
| |/
| |
| |
| |
| |
| | |
tables for dynamic executables"
* commit '6f2935dc1432a38e149498b6efbd43ed9aceb827':
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
|
|\ \
| |/
| |
| |
| |
| |
| | |
relocation tables for all dynamic executables""
* commit '893ed24dd7cec9b560fe46862b3635efa327ec65':
Revert "Pack relocation tables for all dynamic executables"
|
| |
| |
| |
| |
| |
| | |
This reverts commit e7a1b8a0c6d5f56e415345a0aceef3afe5ff5eff.
Change-Id: I1a2185e1c68d364941e3b3e525a8c4a7a42e0cc1
|
|\ \
| |/
| |
| |
| |
| |
| | |
tables for all dynamic executables"
* commit 'ff084258ea53c414d724ba87f89c324056def1bd':
Pack relocation tables for all dynamic executables
|
| |
| |
| |
| |
| | |
Bug: http://b/18051137
Change-Id: I277277d5f5eb450ef9b4a23cfec16d75d977eb89
|
|\ \
| |/
| |
| |
| |
| |
| | |
-fix-cortex-a53-843419""
* commit '263e22d424a80de023143c4758e1e534c726a07d':
Revert "Enable linker -fix-cortex-a53-843419"
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 54b22a5a706f6556cda6ef3de13b9b0bdc22e989.
Change-Id: I23613490030783fb6da678de5a25f37caebe5f97
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
-fix-cortex-a53-843419"
* commit '00b0f345b62065979dbebb648e4d549953577ac3':
Enable linker -fix-cortex-a53-843419
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | | |
Change-Id: Icb8a4ce4d5688847cfe536eba2139cdf7f6406f3
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
for Cortex A7, A9, A15, Krait or Denver"
* commit '55acb92d825f12469e855485b23bfcd5e2461978':
Don't use -Wl,--fix-cortex-a8 for Cortex A7, A9, A15, Krait or Denver
|