linux-yocto/arch/ia64/Makefile
Peter Zijlstra d49a062621 arch: Introduce CONFIG_FUNCTION_ALIGNMENT
Generic function-alignment infrastructure.

Architectures can select FUNCTION_ALIGNMENT_xxB symbols; the
FUNCTION_ALIGNMENT symbol is then set to the largest such selected
size, 0 otherwise.

From this the -falign-functions compiler argument and __ALIGN macro
are set.

This incorporates the DEBUG_FORCE_FUNCTION_ALIGN_64B knob and future
alignment requirements for x86_64 (later in this series) into a single
place.

NOTE: also removes the 0x90 filler byte from the generic __ALIGN
      primitive, that value makes no sense outside of x86.

NOTE: .balign 0 reverts to a no-op.

Requested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220915111143.719248727@infradead.org
2022-10-17 16:40:58 +02:00

2.2 KiB

ia64/Makefile

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

architecture-specific flags and dependencies.

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) 1998-2004 by David Mosberger-Tang davidm@hpl.hp.com

KBUILD_DEFCONFIG := generic_defconfig

NM := $(CROSS_COMPILE)nm -B

CHECKFLAGS += -D__ia64=1 -D__ia64__=1 -D_LP64 -D__LP64__

OBJCOPYFLAGS := --strip-all LDFLAGS_vmlinux := -static KBUILD_AFLAGS_KERNEL := -mconstant-gp EXTRA :=

cflags-y := -pipe $(EXTRA) -ffixed-r13 -mfixed-range=f12-f15,f32-f127
-frename-registers -fno-optimize-sibling-calls KBUILD_CFLAGS_KERNEL := -mconstant-gp

GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)") KBUILD_CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)")

ifeq ($(GAS_STATUS),buggy) $(error Sorry, you need a newer version of the assember, one that is built from
a source-tree that post-dates 18-Dec-2002. You can find a pre-compiled
static binary of such an assembler at:

ftp://ftp.hpl.hp.com/pub/linux-ia64/gas-030124.tar.gz) endif

quiet_cmd_gzip = GZIP $@ cmd_gzip = cat $(real-prereqs) | $(KGZIP) -n -f -9 > $@

quiet_cmd_objcopy = OBJCOPY $@ cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@

KBUILD_CFLAGS += $(cflags-y)

libs-y += arch/ia64/lib/

drivers-y += arch/ia64/pci/ arch/ia64/hp/common/

PHONY += compressed check

all: compressed unwcheck

compressed: vmlinux.gz

vmlinuz: vmlinux.gz

vmlinux.gz: vmlinux.bin FORCE $(call if_changed,gzip)

vmlinux.bin: vmlinux FORCE $(call if_changed,objcopy)

unwcheck: vmlinux -$(Q)READELF=$(READELF) $(PYTHON3) $(srctree)/arch/ia64/scripts/unwcheck.py $<

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

CLEAN_FILES += vmlinux.gz

install: KBUILD_IMAGE := vmlinux.gz install: $(call cmd,install)

define archhelp echo '* compressed - Build compressed kernel image' echo ' install - Install compressed kernel image' echo '* unwcheck - Check vmlinux for invalid unwind info' endef