blob: 1150ecedf799838c6d04239f37c9db26286549a9 [file] [log] [blame]
# -*- makefile -*-
#
# arch/i386/MCONFIG
#
# Special rules for this architecture. Note that this is actually
# included from the main Makefile, and that pathnames should be
# accordingly.
#
# Enable this to compile with register parameters; only safe for
# gcc >= 3
ifeq ($(CONFIG_REGPARM),y)
REGPARM_OPT := -mregparm=3 -D_REGPARM=3
endif
gcc_align_option := $(call cc-option, \
-falign-functions=0 -falign-jumps=0 -falign-loops=0, \
-malign-functions=0 -malign-jumps=0 -malign-loops=0)
gcc_m32_option := $(call cc-option, -m32, )
KLIBCOPTFLAGS += -march=i386 -Os -g -fomit-frame-pointer $(gcc_align_option)
KLIBCLDFLAGS = -m elf_i386
KLIBCREQFLAGS += $(REGPARM_OPT)
KLIBCARCHREQFLAGS += $(gcc_m32_option)
KLIBCBITSIZE = 32
# Extra linkflags when building the shared version of the library
# This address needs to be reachable using normal inter-module
# calls, and work on the memory models for this architecture
# 96 MB - normal binaries start at 128 MB
KLIBCSHAREDFLAGS = -Ttext 0x06000200
# Asm includes for i386 are in the merged x86 tree
KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include