blob: 8a7096b8cced238f72c1323676abffcf8898181c [file] [log] [blame]
# -*- makefile -*-
#
# arch/arm/MCONFIG
#
# Special rules for this architecture. Note that this is actually
# included from the main Makefile, and that pathnames should be
# accordingly.
#
CPU_ARCH ?= armv4
CPU_TUNE ?= strongarm
KLIBCOPTFLAGS += -Os -march=$(CPU_ARCH) -mtune=$(CPU_TUNE)
KLIBCBITSIZE = 32
KLIBCREQFLAGS += -fno-exceptions
KLIBCSTRIPFLAGS += -R .ARM.exidx
ifeq ($(CONFIG_KLIBC_THUMB),y)
CPU_ARCH := $(CPU_ARCH)t
KLIBCREQFLAGS += -mthumb
KLIBCLDFLAGS += --thumb-entry _start
KLIBCEMAIN = --thumb-entry main
KLIBCREQFLAGS += -mabi=aapcs-linux
KLIBCSHAREDFLAGS = -Ttext-segment 0x380000
else
# 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
KLIBCSHAREDFLAGS = -Ttext-segment 0x01800000
ifeq ($(CONFIG_AEABI),y)
KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork
else
KLIBCREQFLAGS += -mabi=apcs-gnu -mno-thumb-interwork
endif
endif