linux-yocto/arch/xtensa/Makefile
Max Filippov a03cd7602a xtensa: don't produce FDPIC output with fdpic toolchain
The kernel doesn't use features of the FDPIC toolchain, disable FDPIC
code generation when using such toolchain and select ordinary ELF linker
emulation.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2024-01-11 18:58:47 -08:00

2.2 KiB

This file is subject to the terms and conditions of the GNU General Public

License. See the file "COPYING" in the main directory of this archive

for more details.

Copyright (C) 2001 - 2005 Tensilica Inc.

Copyright (C) 2014 Cadence Design Systems Inc.

This file is included by the global makefile so that you can add your own

architecture-specific flags and dependencies.

Core configuration.

(Use VAR=<xtensa_config> to use another default compiler.)

variant-y := $(CONFIG_XTENSA_VARIANT_NAME)

VARIANT = $(variant-y)

ifneq ($(VARIANT),) ifdef cross_compiling ifndef CROSS_COMPILE CROSS_COMPILE = xtensa_$(VARIANT)- endif endif endif

Platform configuration

platform-$(CONFIG_XTENSA_PLATFORM_XT2000) := xt2000 platform-$(CONFIG_XTENSA_PLATFORM_ISS) := iss platform-$(CONFIG_XTENSA_PLATFORM_XTFPGA) := xtfpga

temporarily until string.h is fixed

KBUILD_CFLAGS += -ffreestanding -D__linux__ KBUILD_CFLAGS += -pipe -mlongcalls -mtext-section-literals KBUILD_CFLAGS += $(call cc-option,-mforce-no-pic,) KBUILD_CFLAGS += $(call cc-option,-mno-serialize-volatile,) KBUILD_CFLAGS += $(call cc-option,-mno-fdpic,) ifneq ($(CONFIG_KERNEL_ABI_CALL0),) KBUILD_CFLAGS += -mabi=call0 KBUILD_AFLAGS += -mabi=call0 endif

KBUILD_AFLAGS += -mlongcalls -mtext-section-literals KBUILD_AFLAGS += $(call cc-option,-mno-fdpic,)

KBUILD_LDFLAGS += -m elf32xtensa

ifneq ($(CONFIG_LD_NO_RELAX),) KBUILD_LDFLAGS += --no-relax endif

CHECKFLAGS += -D$(if $(CONFIG_CPU_BIG_ENDIAN),XTENSA_EB,XTENSA_EL)

vardirs := $(patsubst %,arch/xtensa/variants/%/,$(variant-y)) plfdirs := $(patsubst %,arch/xtensa/platforms/%/,$(platform-y))

KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(vardirs) $(plfdirs))

KBUILD_DEFCONFIG := iss_defconfig

libs-y += arch/xtensa/lib/

boot := arch/xtensa/boot

all Image zImage uImage xipImage: vmlinux $(Q)$(MAKE) $(build)=$(boot) $@

archheaders: $(Q)$(MAKE) $(build)=arch/xtensa/kernel/syscalls all

define archhelp @echo '* Image - Kernel ELF image with reset vector' @echo '* zImage - Compressed kernel image (arch/xtensa/boot/images/zImage.)' @echo ' uImage - U-Boot wrapped image' @echo ' xipImage - XIP image' endef