aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* arm64: support __int128 on gcc 5+Jason A. Donenfeld2018-11-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | [Upstream: fb8722735f50cd51204bfbeefa2e5e7e9ff5b2be] [Upstream: 9bfe7553fadb269e45a6e10f68b727957dff5676] Versions of gcc prior to gcc 5 emitted a __multi3 function call when dealing with TI types, resulting in failures when trying to link to libgcc, and more generally, bad performance. However, since gcc 5, the compiler supports actually emitting fast instructions, which means we can at long last enable this option and receive the speedups. The gcc commit that added proper Aarch64 support is: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=d1ae7bb994f49316f6f63e6173f2931e837a351d This commit appears to be part of the gcc 5 release. There are still a few instructions, __lshrti3, __ashlti3, and __ashrti3, which require libgcc, which is fine. Rather than linking to libgcc, we simply provide them ourselves, since they're not that complicated. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* cflags: cleanup Makefile & arm64 Makefile (-ftree-vectorize is enabled when ↵Moyster2017-12-221-1/+1
| | | | building with O3, let's keep it clean)
* arm64: enable more compressed Image formatsOlof Johansson2017-04-111-1/+4
| | | | | | | | | | | | Plumb up Makefile arguments for the already supported formats in the kbuild system: lz4, bzip2, lzma, and lzo. Note that just as with Image.gz, these images are not self-decompressing and the booting firmware still needs to handle decompression before launching the kernel image. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Will Deacon <will.deacon@arm.com>
* arm64: kbuild: make "make install" not depend on vmlinuxMasahiro Yamada2017-04-111-1/+1
| | | | | | | | | For the same reason as commit 19514fc665ff ("arm, kbuild: make "make install" not depend on vmlinux"), the install targets should never trigger the rebuild of the kernel. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
* KBUILD_CFLAGS: Some more tuningcm2016-11-111-1/+1
| | | | use -ftree-vectorize
* KBUILD_CFLAGS: Some tuningcm2016-11-111-1/+1
| | | | use cortex-a53 and arm platf proper optimized flags
* arm64: kill off the libgcc dependencyFrancisco Franco2016-11-071-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The arm64 kernel builds fine without the libgcc. Actually it should not be used at all in the kernel. The following are the reasons indicated by Russell King: Although libgcc is part of the compiler, libgcc is built with the expectation that it will be running in userland - it expects to link to a libc. That's why you can't build libgcc without having the glibc headers around. [...] Meanwhile, having the kernel build the compiler support functions that it needs ensures that (a) we know what compiler support functions are being used, (b) we know the implementation of those support functions are sane for use in the kernel, (c) we can build them with appropriate compiler flags for best performance, and (d) we remove an unnecessary dependency on the build toolchain. Signed-off-by: Kevin Hao <haokexin@gmail.com> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> (cherry picked from commit d67703a) Signed-off-by: Alex Shi <alex.shi@linaro.org> Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
* first commitMeizu OpenSource2016-08-151-0/+98