aboutsummaryrefslogtreecommitdiffstats
path: root/cc/config/arm64_device.go
Commit message (Collapse)AuthorAgeFilesLines
* Remove workaround for cortex-a55/a75Yi Kong2018-06-191-6/+3
| | | | | | | | | Test: m checkbuild Test: boot on a55/a75 device, pass bionic tests Bug: 110235326 Change-Id: I5ab2102352a6efe1173b3097875e6e779d4a1a09 Merged-In: I5ab2102352a6efe1173b3097875e6e779d4a1a09 (cherry picked from commit 9a350e644b4e5762df5838e007a55af68449c937)
* Remove cortex-a53 linker workaround for new cpus.Christopher Ferris2018-05-151-3/+16
| | | | | | | | | | | Bug: 78133793 Test: Built target with cortex-a53 and verified that the flag is still Test: there. Test: Build target with cortex-a55/cortex-a75 and verified that the flag Test: is not there. Test: Built and booted on a taimen, ran bionic unit tests. Change-Id: Ibd7f497ecf46e5781cd0265463b0782babdf062a
* Add support for cortex-a55/cortex-a75.Christopher Ferris2018-05-111-2/+50
| | | | | | | | Bug: 78133793 Test: Builds when using cortex-a75 as a target. Change-Id: Ie3fbe40b15f4d89eeba0d630a82097122fc83b33 (cherry picked from commit 0612597a41ca425150ef33900df8239b304bf654)
* Remove gcc-specific optimizationsColin Cross2017-11-141-7/+0
| | | | | | | | | | These flags were added for gcc, but are always stripped out when compiling for clang. Since gcc is barely used, removed them. Bug: 68855788 Bug: 68947919 Test: m checkbuild Change-Id: Iae2bda9808dd9499848ce145ccdf71c4c490b80e
* Move some flags to affect all devicesColin Cross2017-11-141-3/+0
| | | | | | | | | | Move -fdata-sections and -fno-short-enums to global device flags. -fdata-sections was not previously set on x86[_64], -fno-short-enums was not previously set on mips[64]. Bug: 68855788 Test: m checkbuild Change-Id: I68e64888d5414fc022366eb2b6c5cd92c28a5542
* Move -fvisibility-inlines-hidden to global device cppflagsColin Cross2017-11-131-3/+1
| | | | | | | | | It was previously set on arm[64] and mips[64], this will cause it to be set for x86[_64] too. Bug: 68855788 Test: m checkbuild Change-Id: I75af16e7d259963ad633cc664929144332bb435d
* Consolidate ldflags that are used on all devicesColin Cross2017-11-031-7/+0
| | | | | | | | | | | | | | | | Move ldflags that are specified for all devices into deviceGlobalLdflags, and add them to linker.go: -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--build-id=md5 -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined-version Bug: 68855788 Test: m checkbuild Change-Id: I82561b4189287d7638006f9e298c5151f9930c5e
* Consolidate cflags that are set on all devicesColin Cross2017-11-031-8/+0
| | | | | | | | | | | | | | | | Move cflags that are set on all devices to deviceGlobalCflags: -fno-canonical-system-headers -ffunction-sections -funwind-tables -fstack-protector-strong -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -Wstrict-aliasing=2 -Werror=format-security Bug: 68855788 Test: m checkbuild Change-Id: Iefec689fdd2749013d0cc003b3abec674a85fb74
* Consolidate global cflagsColin Cross2017-11-031-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | Move all the flags that are used everywhere (or should be used everywhere) into cc/config/global.go: -no-canonical-prefixes -fno-exceptions -Wno-multichar -O2 -g -fno-strict-aliasing Also remove flags that are already in noOverrideGlobalCflags: -Werror=pointer-to-int-cast -Werror=int-to-pointer-cast x86 and x86_64 were specifying -fstrict-aliasing, but that was being overriden later by -fno-strict-aliasing, so remove it. ARM devices still override -fno-strict-aliasing to -fstrict-aliasing when using ARM (vs. Thumb) instruction set. Bug: 68855788 Test: m checkbuild Change-Id: Ia2b5891bdefb60f974ad92b4b84a8548c2dcc7dc
* Unified sysroot: arch-X/include directories are gone.Elliott Hughes2017-10-121-1/+1
| | | | | | Bug: N/A Test: builds Change-Id: I98fc6a1a3c0be1c90b1deb35b54f36ab16a202ac
* Pass correct emulation string to goldStephen Crane2017-08-151-1/+1
| | | | | | | | | | | | | | | | | Gold recognizes a different set of emulation strings to specify targets than the bfd linker accepts. Clang only passes bfd emulations to the linker, so we need to override these with the versions accepted by gold when using gold. Gold normally picks up the correct target from the first ELF input file if it cannot parse the emulation parameter. However when using LTO, all objects may be bitcode files, which causes gold to rely on the passed --oformat or -m parameter to determine the proper target. If gold cannot parse the emulation string passed by clang, it fails to link. Test: build LTO version of libc Change-Id: I38e78bb912fd3cc5fb7b4a762284f50ddd4f3998
* Add support for Exynos-M1Junmo Park2017-07-241-0/+11
| | | | | Change-Id: Ie57507a5d0ea9101db603ff3538c51853083a314 Signed-off-by: Junmo Park <junmoz.park@samsung.com>
* Add support for Exynos-M2.Junmo Park2017-07-221-0/+11
| | | | | Change-Id: I646f303b460556a9b36a44574f25dd992d42906c Signed-off-by: Junmo Park <junmoz.park@samsung.com>
* Add cortex-a73 support.Christopher Ferris2017-05-151-1/+4
| | | | | | | | | | | | | | Also, update flags for cortex-a53. Bug: 37647380 Test: Built target with cortex-a73 for both 32 bit/64 bit. Test: Built target with cortex-a53.cortex-a57 for both 32 bit/64 bit. Test: Ran bionic unit tests, ran art target tests. (cherry picked from commit 1d9aa26d445cd5407aea0831e6b67fb37dfc1d05) Change-Id: I3325f60add7f424f8cca53c22919fc481ef5e787
* Make use of specific Kryo targeting in ClangAlex Naidis2017-04-061-2/+5
| | | | | | | | | | | | | | | | | | | | | | | Clang supports specific CPU targeting and optimization for Kryo. This switches us to using the specific Kryo targeting when Clang is used. For other compilers, we fallback to cortex-a57 targeting. Also, move the replaceFirst function to a shared location. Bug: 36728278 Test: Built and booted sailfish, ran bionic unit tests and art tests. Test: Disassembled libc.so before this change and after and looked at Test: the differences. Mostly the results were the order of instructions Test: changing. Test: Verified with the clang person (srhines) that our clang has this support Test: and that it appears to be mostly instruction scheduling changes. Change-Id: I4ee73d8bcc1e4f5eccb162c18937811fe199b16f Signed-off-by: Alex Naidis <alex.naidis@linux.com>
* Add support for an armv8 variant for KryoAlex Naidis2017-04-041-0/+13
| | | | | | | | | | | | * Use mcpu=cortex-a57, since it is the closest to Kryo. * Clang doesn't support Kryo as a target yet. Bug: 36728278 Test: Built and booted a sailfish using Kryo. Change-Id: Ic0c9588d86fba41896e50e3f0cf0d2b310ffee93 Signed-off-by: Alex Naidis <alex.naidis@linux.com>
* Remove -Wl,--allow-shlib-undefined from arm64Colin Cross2017-03-221-3/+0
| | | | | | | Hopefully this isn't needed any more. Test: m -j checkbuild Change-Id: I8cd1ef21c37bb85a322674532b3cd6816280da67
* Dynamically generate arch structDan Willemsen2016-09-081-0/+5
| | | | | | | Now we don't need to hardcode the list of OS/Arch/Variant/Features in android/arch.go. Change-Id: I0f9cc35d55baa31f036825fdf5b9dd30d076e56e
* Add ubsan_standalone library name to the toolchain.Evgenii Stepanov2016-08-151-2/+2
| | | | | | | | | | and export the library name to make. Refactor the code a bit to avoid repeating the library name multiple times. Bug: 22033465 Test: Ran external/clang/build.py for aosp-llvm Change-Id: I25eb3858eb92e1dd493b09524d559802551b2547
* Move toolchain and global variables into separate packageColin Cross2016-08-011-0/+204
Move all of the configuration into a cc/config package Change-Id: If56fc7242062ed1ce3cb297f78a1e0ef7537373c