aboutsummaryrefslogtreecommitdiffstats
path: root/usr/klibc/arch/arm/MCONFIG
blob: 41f39a0e09e7d5ba309703fbb4523b5105d446d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# -*- 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
KLIBCREQFLAGS += -mabi=aapcs-linux
KLIBCSHAREDFLAGS = $(LD_IMAGE_BASE_OPT) 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 = $(LD_IMAGE_BASE_OPT) 0x01800000
ifeq ($(CONFIG_AEABI),y)
KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork
else
KLIBCREQFLAGS += -mabi=apcs-gnu -mno-thumb-interwork
endif
endif

# Kernel uses dedicated page or vDSO for signal return since 2.6.13
KLIBCEXECSTACK := n