]>
Commit | Line | Data |
---|---|---|
1 | # SPDX-License-Identifier: GPL-2.0 | |
2 | # Makefile for the Hexagon arch | |
3 | ||
4 | KBUILD_DEFCONFIG = comet_defconfig | |
5 | ||
6 | # Do not use GP-relative jumps | |
7 | KBUILD_CFLAGS += -G0 | |
8 | LDFLAGS_vmlinux += -G0 | |
9 | ||
10 | # Do not use single-byte enums; these will overflow. | |
11 | KBUILD_CFLAGS += -fno-short-enums | |
12 | ||
13 | # We must use long-calls: | |
14 | KBUILD_CFLAGS += -mlong-calls | |
15 | ||
16 | # Modules must use either long-calls, or use pic/plt. | |
17 | # Use long-calls for now, it's easier. And faster. | |
18 | # KBUILD_CFLAGS_MODULE += -fPIC | |
19 | # KBUILD_LDFLAGS_MODULE += -shared | |
20 | KBUILD_CFLAGS_MODULE += -mlong-calls | |
21 | ||
22 | cflags-y += $(call cc-option,-mv${CONFIG_HEXAGON_ARCH_VERSION}) | |
23 | aflags-y += $(call cc-option,-mv${CONFIG_HEXAGON_ARCH_VERSION}) | |
24 | ldflags-y += $(call cc-option,-mv${CONFIG_HEXAGON_ARCH_VERSION}) | |
25 | ||
26 | KBUILD_CFLAGS += $(cflags-y) | |
27 | KBUILD_AFLAGS += $(aflags-y) | |
28 | KBUILD_LDFLAGS += $(ldflags-y) | |
29 | ||
30 | # Thread-info register will be r19. This value is not configureable; | |
31 | # it is hard-coded in several files. | |
32 | TIR_NAME := r19 | |
33 | KBUILD_CFLAGS += -ffixed-$(TIR_NAME) -DTHREADINFO_REG=$(TIR_NAME) -D__linux__ | |
34 | KBUILD_AFLAGS += -DTHREADINFO_REG=$(TIR_NAME) | |
35 | ||
36 | head-y := arch/hexagon/kernel/head.o |