]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/rs6000/t-ppccomm
t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
[thirdparty/gcc.git] / gcc / config / rs6000 / t-ppccomm
1 # Common support for PowerPC ELF targets (both EABI and SVR4).
2
3 LIB2FUNCS_EXTRA = tramp.S
4
5 # This one can't end up in shared libgcc
6 LIB2FUNCS_STATIC_EXTRA = eabi.S
7
8 # We want fine grained libraries, so use the new code to build the
9 # floating point emulation libraries.
10 FPBIT = fp-bit.c
11 DPBIT = dp-bit.c
12
13
14 dp-bit.c: $(srcdir)/config/fp-bit.c
15 cat $(srcdir)/config/fp-bit.c > dp-bit.c
16
17 fp-bit.c: $(srcdir)/config/fp-bit.c
18 echo '#define FLOAT' > fp-bit.c
19 cat $(srcdir)/config/fp-bit.c >> fp-bit.c
20
21 eabi.S: $(srcdir)/config/rs6000/eabi.asm
22 cat $(srcdir)/config/rs6000/eabi.asm > eabi.S
23
24 tramp.S: $(srcdir)/config/rs6000/tramp.asm
25 cat $(srcdir)/config/rs6000/tramp.asm > tramp.S
26
27 # Switch synonyms
28 MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?401 \
29 msoft-float=mcpu?403 \
30 msoft-float=mcpu?ec603e \
31 msoft-float=mcpu?801 \
32 msoft-float=mcpu?821 \
33 msoft-float=mcpu?823 \
34 msoft-float=mcpu?860
35 MULTILIB_MATCHES_ENDIAN = mlittle=mlittle-endian mbig=mbig-endian
36 MULTILIB_MATCHES_SYSV = mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi mcall-sysv=mcall-linux mcall-sysv=mcall-netbsd
37
38 LIBGCC = stmp-multilib
39 INSTALL_LIBGCC = install-multilib
40 EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
41 crtbeginS$(objext) crtendS$(objext) \
42 ecrti$(objext) ecrtn$(objext) \
43 ncrti$(objext) ncrtn$(objext)
44
45 # We build {e,n}crti.o and {e,n}crtn.o, which serve to add begin and
46 # end labels to all of the special sections used when we link using gcc.
47
48 # Assemble startup files.
49 ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm
50 cat $(srcdir)/config/rs6000/eabi-ci.asm >ecrti.S
51
52 ecrtn.S: $(srcdir)/config/rs6000/eabi-cn.asm
53 cat $(srcdir)/config/rs6000/eabi-cn.asm >ecrtn.S
54
55 ncrti.S: $(srcdir)/config/rs6000/sol-ci.asm
56 cat $(srcdir)/config/rs6000/sol-ci.asm >ncrti.S
57
58 ncrtn.S: $(srcdir)/config/rs6000/sol-cn.asm
59 cat $(srcdir)/config/rs6000/sol-cn.asm >ncrtn.S
60
61 # Build multiple copies of ?crt{i,n}.o, one for each target switch.
62 $(T)ecrti$(objext): ecrti.S
63 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrti.S -o $(T)ecrti$(objext)
64
65 $(T)ecrtn$(objext): ecrtn.S
66 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrtn.S -o $(T)ecrtn$(objext)
67
68 $(T)ncrti$(objext): ncrti.S
69 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrti.S -o $(T)ncrti$(objext)
70
71 $(T)ncrtn$(objext): ncrtn.S
72 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrtn.S -o $(T)ncrtn$(objext)
73
74 # It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
75 CRTSTUFF_T_CFLAGS = -msdata=none
76 # Make sure crt*.o are built with -fPIC even if configured with
77 # --enable-shared --disable-multilib
78 CRTSTUFF_T_CFLAGS_S = -fPIC -msdata=none