summaryrefslogtreecommitdiffstats
path: root/usr/klibc/arch/arm64/MCONFIG
blob: b90568ecfcfa65cd0f77150df852bf726ee280b5 (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
# -*- makefile -*-
#
# arch/arm64/MCONFIG
#
# Special rules for this architecture.  Note that this is actually
# included from the main Makefile, and that pathnames should be
# accordingly.
#

CPU_ARCH ?= armv8-a
CPU_TUNE ?= generic

KLIBCOPTFLAGS += -g -Os -march=$(CPU_ARCH) -mtune=$(CPU_TUNE)
KLIBCBITSIZE  = 64
KLIBCREQFLAGS += -fno-exceptions -mgeneral-regs-only
KLIBCLDFLAGS  = $(LD_IMAGE_BASE_OPT) 0x00400000

# 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

# On arm64, binaries are normally loaded at 4MB. Place klibc.so
# a little before that at 2MB to prevent overlap.
KLIBCSHAREDFLAGS = $(LD_IMAGE_BASE_OPT) 0x0200000

# Kernel has never used stack trampolines
KLIBCEXECSTACK := n