1 # Powerpc64 specific build options.
2 # this is ./sysdeps/powerpc/powerpc64/Makefile
4 # Each TOC entry takes 8 bytes and the TOC holds up to 2^16 bytes,
6 # If -fpic is not specified, the latest gcc-3.2.1 now generates
7 # different code for call stubs (without the TOC reload).
8 # Shared objects need the TOC reload so specify -fpic.
9 ifeq (yes
,$(build-shared
))
13 # These flags prevent FPU or Altivec registers from being used,
14 # for code called in contexts that is not allowed to touch those registers.
15 # Stupid GCC requires us to pass all these ridiculous switches. We need to
16 # pass the -mno-* switches as well to prevent the compiler from attempting
17 # to emit altivec or vsx instructions, especially when the registers aren't
19 no-special-regs
:= $(sort $(foreach n
,40 41 50 51 60 61 62 63 \
20 $(foreach m
,2 3 4 5 6 7 8 9, \
23 $(sort $(foreach n
,$(foreach m
,0 1 2 3 4 5 6 7 8 9,\
26 -ffixed-vrsave
-ffixed-vscr
-mno-altivec
-mno-vsx
29 sysdep_routines
+= hp-timing
30 elide-routines.os
+= hp-timing
32 # The initfini generation code doesn't work in the presence of -fPIC, so
33 # we use -fpic instead which is much better.
34 CFLAGS-initfini.s
+= -fpic
-O1
39 # help gcc inline asm code from dl-machine.h
40 +cflags += -finline-limit
=2000
44 # The assembly functions assume that fp arg regs are not trashed.
45 # Compiling with -msoft-float ensures that fp regs are not used
46 # for moving memory around.
47 CFLAGS-mcount.c
+= $(no-special-regs
)
48 sysdep_routines
+= ppc-mcount