aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/rs6000/t-darwin
blob: 8b513bdb1d78b606d44b3f6da56527aea412fdbe (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

crt2.o: $(srcdir)/config/rs6000/darwin-crt2.c
	$(crt_compile) -mmacosx-version-min=10.1 -c $<

# The sources for this indicate that there are some parts that
# don't apply >= 10.4
crt3_2.o: $(srcdir)/config/darwin-crt3.c
	$(crt_compile) -mmacosx-version-min=10.1 -c $<

# The outlined register save/restore functions need to run anywhere, and
# they must be leaf functions suitable for use in an endfile.

PPC_ENDFILE_SRC = \
  $(srcdir)/config/rs6000/darwin-gpsave.S \
  $(srcdir)/config/rs6000/darwin-fpsave.S \
  $(srcdir)/config/rs6000/darwin-vecsave.S

PPC_ENDFILE_OBJS = \
 darwin-gpsave.o \
 darwin-fpsave.o \
 darwin-vecsave.o

darwin-gpsave.o: $(srcdir)/config/rs6000/darwin-gpsave.S
	$(crt_compile) -mmacosx-version-min=10.1 -c $<

darwin-fpsave.o: $(srcdir)/config/rs6000/darwin-fpsave.S
	$(crt_compile) -mmacosx-version-min=10.1 -c $<

darwin-vecsave.o: $(srcdir)/config/rs6000/darwin-vecsave.S
	$(crt_compile) -mmacosx-version-min=10.1 -c $<

# We build these into a library, so that they are only linked as needed and not
# forced into every object.

libef_ppc.a: $(PPC_ENDFILE_OBJS)
	$(AR_CREATE_FOR_TARGET) $@ $(PPC_ENDFILE_OBJS)
	$(RANLIB_FOR_TARGET) $@

dw_ppc.o: $(srcdir)/config/rs6000/darwin-world.S
	$(crt_compile) -mmacosx-version-min=10.1 -c $<

LIB2ADD = $(srcdir)/config/rs6000/darwin-tramp.S \
	  $(srcdir)/config/darwin-64.c \
	  $(srcdir)/config/rs6000/darwin-world.S

# The .S files above are designed to run on all processors, even though
# they use AltiVec instructions.
# -Wa is used because -force_cpusubtype_ALL doesn't work with -dynamiclib.

HOST_LIBGCC2_CFLAGS += -Wa,-force_cpusubtype_ALL

# Although the default for 10.4 is G3, we need the unwinder to be built
# with vector support so that the "save/rest_world" outlined functions are
# correctly invoked.
unwind-dw2_s.o: HOST_LIBGCC2_CFLAGS += -maltivec
unwind-dw2.o: HOST_LIBGCC2_CFLAGS += -maltivec

LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c