diff options
| author | Francisco Franco <franciscofranco.1990@gmail.com> | 2016-10-22 00:41:15 +0000 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2016-11-07 13:44:41 +0100 |
| commit | ff1dd992ba2cd4e67dd6755fa055a5fd2b05b45f (patch) | |
| tree | 84607e4fed0b70fed0c9d04717e7c79aec4491f8 | |
| parent | 8f8847a1e936e631ba59ccbb3fc43dc7f1737dca (diff) | |
arm64: kill off the libgcc dependency
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>
| -rwxr-xr-x | arch/arm64/Makefile | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index 43869bdb6..2477743d9 100755 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -15,8 +15,6 @@ CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET) OBJCOPYFLAGS :=-O binary -R .note -R .note.gnu.build-id -R .comment -S GZFLAGS :=-9 -LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) - ifeq ($(CHINAUNICOM_CUSTOMIZE),true) cflags-$(CONFIG_ARCH_MT6753) += -DMEIZU_OP_CUSTOMIZE endif @@ -45,7 +43,6 @@ export TEXT_OFFSET GZFLAGS core-y += arch/arm64/kernel/ arch/arm64/mm/ core-$(CONFIG_CRYPTO) += arch/arm64/crypto/ libs-y := arch/arm64/lib/ $(libs-y) -libs-y += $(LIBGCC) # Default target when executing plain make ifeq ($(CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE),y) |
