head	1.1;
branch	1.1.1;
access;
symbols
	RELENG_8_4:1.1.1.5.0.30
	RELENG_9_1_0_RELEASE:1.1.1.5
	RELENG_9_1:1.1.1.5.0.28
	RELENG_9_1_BP:1.1.1.5
	RELENG_8_3_0_RELEASE:1.1.1.5
	RELENG_8_3:1.1.1.5.0.26
	RELENG_8_3_BP:1.1.1.5
	RELENG_9_0_0_RELEASE:1.1.1.5
	RELENG_9_0:1.1.1.5.0.24
	RELENG_9_0_BP:1.1.1.5
	RELENG_9:1.1.1.5.0.22
	RELENG_9_BP:1.1.1.5
	RELENG_7_4_0_RELEASE:1.1.1.5
	RELENG_8_2_0_RELEASE:1.1.1.5
	RELENG_7_4:1.1.1.5.0.20
	RELENG_7_4_BP:1.1.1.5
	RELENG_8_2:1.1.1.5.0.18
	RELENG_8_2_BP:1.1.1.5
	RELENG_8_1_0_RELEASE:1.1.1.5
	RELENG_8_1:1.1.1.5.0.16
	RELENG_8_1_BP:1.1.1.5
	RELENG_7_3_0_RELEASE:1.1.1.5
	RELENG_7_3:1.1.1.5.0.14
	RELENG_7_3_BP:1.1.1.5
	RELENG_8_0_0_RELEASE:1.1.1.5
	RELENG_8_0:1.1.1.5.0.12
	RELENG_8_0_BP:1.1.1.5
	RELENG_8:1.1.1.5.0.10
	RELENG_8_BP:1.1.1.5
	RELENG_7_2_0_RELEASE:1.1.1.5
	RELENG_7_2:1.1.1.5.0.8
	RELENG_7_2_BP:1.1.1.5
	RELENG_7_1_0_RELEASE:1.1.1.5
	RELENG_6_4_0_RELEASE:1.1.1.4
	RELENG_7_1:1.1.1.5.0.6
	RELENG_7_1_BP:1.1.1.5
	RELENG_6_4:1.1.1.4.0.20
	RELENG_6_4_BP:1.1.1.4
	RELENG_7_0_0_RELEASE:1.1.1.5
	RELENG_6_3_0_RELEASE:1.1.1.4
	RELENG_7_0:1.1.1.5.0.4
	RELENG_7_0_BP:1.1.1.5
	RELENG_6_3:1.1.1.4.0.18
	RELENG_6_3_BP:1.1.1.4
	RELENG_7:1.1.1.5.0.2
	RELENG_7_BP:1.1.1.5
	gcc_4_2_1_20070718_SVN126787:1.1.1.5
	gcc_4_2_0_20070514_SVN124707:1.1.1.5
	RELENG_6_2_0_RELEASE:1.1.1.4
	RELENG_6_2:1.1.1.4.0.16
	RELENG_6_2_BP:1.1.1.4
	gcc_3_4_6_20060825_SVN116475:1.1.1.4
	RELENG_5_5_0_RELEASE:1.1.1.4
	RELENG_5_5:1.1.1.4.0.14
	RELENG_5_5_BP:1.1.1.4
	RELENG_6_1_0_RELEASE:1.1.1.4
	RELENG_6_1:1.1.1.4.0.12
	RELENG_6_1_BP:1.1.1.4
	RELENG_6_0_0_RELEASE:1.1.1.4
	RELENG_6_0:1.1.1.4.0.10
	RELENG_6_0_BP:1.1.1.4
	RELENG_6:1.1.1.4.0.8
	RELENG_6_BP:1.1.1.4
	gcc_3_4_4_20050518:1.1.1.4
	RELENG_5_4_0_RELEASE:1.1.1.4
	RELENG_5_4:1.1.1.4.0.6
	RELENG_5_4_BP:1.1.1.4
	RELENG_5_3_0_RELEASE:1.1.1.4
	RELENG_5_3:1.1.1.4.0.4
	RELENG_5_3_BP:1.1.1.4
	RELENG_5:1.1.1.4.0.2
	RELENG_5_BP:1.1.1.4
	gcc_3_4_2_20040728:1.1.1.4
	RELENG_5_2_1_RELEASE:1.1.1.3
	RELENG_5_2_0_RELEASE:1.1.1.3
	RELENG_5_2:1.1.1.3.0.2
	RELENG_5_2_BP:1.1.1.3
	gcc_3_3_3_20031106:1.1.1.3
	gcc_3_3_1:1.1.1.3
	gcc_3_3_1_20030711:1.1.1.3
	RELENG_5_1_0_RELEASE:1.1.1.2
	RELENG_5_1:1.1.1.2.0.4
	RELENG_5_1_BP:1.1.1.2
	gcc_3_2_2_20030205:1.1.1.2
	RELENG_5_0_0_RELEASE:1.1.1.2
	RELENG_5_0:1.1.1.2.0.2
	RELENG_5_0_BP:1.1.1.2
	gcc_3_2_1:1.1.1.2
	BEFORE_GCC_3_2_1:1.1.1.2
	gcc_3_2_anoncvs_20021009:1.1.1.2
	gcc_3_2_anoncvs_20020916:1.1.1.2
	gcc_3_2_anoncvs_20020901:1.1.1.2
	gcc_3_1_anoncvs_20020509:1.1.1.2
	gcc_cvs_20020201_0820:1.1.1.1
	FSF:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2002.02.01.18.15.27;	author obrien;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2002.02.01.18.15.27;	author obrien;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2002.05.09.20.01.38;	author obrien;	state Exp;
branches;
next	1.1.1.3;

1.1.1.3
date	2003.07.11.03.40.53;	author kan;	state Exp;
branches;
next	1.1.1.4;

1.1.1.4
date	2004.07.28.03.11.36;	author kan;	state Exp;
branches;
next	1.1.1.5;

1.1.1.5
date	2007.05.19.01.18.53;	author kan;	state Exp;
branches
	1.1.1.5.30.1;
next	;

1.1.1.5.30.1
date	2007.05.19.01.18.53;	author svnexp;	state dead;
branches;
next	1.1.1.5.30.2;

1.1.1.5.30.2
date	2013.03.28.13.00.57;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Initial revision
@
text
@# Common support for PowerPC ELF targets (both EABI and SVR4).

LIB2FUNCS_EXTRA = tramp.S

# This one can't end up in shared libgcc
LIB2FUNCS_STATIC_EXTRA = eabi.S

# We want fine grained libraries, so use the new code to build the
# floating point emulation libraries.
FPBIT = fp-bit.c
DPBIT = dp-bit.c


dp-bit.c: $(srcdir)/config/fp-bit.c
	cat $(srcdir)/config/fp-bit.c > dp-bit.c

fp-bit.c: $(srcdir)/config/fp-bit.c
	echo '#define FLOAT' > fp-bit.c
	cat $(srcdir)/config/fp-bit.c >> fp-bit.c

eabi.S: $(srcdir)/config/rs6000/eabi.asm
	cat $(srcdir)/config/rs6000/eabi.asm > eabi.S

tramp.S: $(srcdir)/config/rs6000/tramp.asm
	cat $(srcdir)/config/rs6000/tramp.asm > tramp.S

# Switch synonyms
MULTILIB_MATCHES_FLOAT	= msoft-float=mcpu?401 \
			  msoft-float=mcpu?403 \
			  msoft-float=mcpu?ec603e \
			  msoft-float=mcpu?801 \
			  msoft-float=mcpu?821 \
			  msoft-float=mcpu?823 \
			  msoft-float=mcpu?860
MULTILIB_MATCHES_ENDIAN	= mlittle=mlittle-endian mbig=mbig-endian
MULTILIB_MATCHES_SYSV	= mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi mcall-sysv=mcall-linux mcall-sysv=mcall-netbsd

LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
  crtbeginS$(objext) crtendS$(objext) \
  ecrti$(objext) ecrtn$(objext) \
  ncrti$(objext) ncrtn$(objext)

# We build {e,n}crti.o and {e,n}crtn.o, which serve to add begin and
# end labels to all of the special sections used when we link using gcc.

# Assemble startup files.
ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm
	cat $(srcdir)/config/rs6000/eabi-ci.asm >ecrti.S

ecrtn.S: $(srcdir)/config/rs6000/eabi-cn.asm
	cat $(srcdir)/config/rs6000/eabi-cn.asm >ecrtn.S

ncrti.S: $(srcdir)/config/rs6000/sol-ci.asm
	cat $(srcdir)/config/rs6000/sol-ci.asm >ncrti.S

ncrtn.S: $(srcdir)/config/rs6000/sol-cn.asm
	cat $(srcdir)/config/rs6000/sol-cn.asm >ncrtn.S

# Build multiple copies of ?crt{i,n}.o, one for each target switch.
$(T)ecrti$(objext): ecrti.S
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrti.S -o $(T)ecrti$(objext)

$(T)ecrtn$(objext): ecrtn.S
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrtn.S -o $(T)ecrtn$(objext)

$(T)ncrti$(objext): ncrti.S
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrti.S -o $(T)ncrti$(objext)

$(T)ncrtn$(objext): ncrtn.S
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrtn.S -o $(T)ncrtn$(objext)

# It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
CRTSTUFF_T_CFLAGS = -msdata=none
# Make sure crt*.o are built with -fPIC even if configured with 
# --enable-shared --disable-multilib
CRTSTUFF_T_CFLAGS_S = -fPIC -msdata=none
@


1.1.1.1
log
@Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.
@
text
@@


1.1.1.2
log
@Gcc 3.1.0 pre-release from the FSF anoncvs repo on 9-May-2002 15:57:15 EDT.
@
text
@d41 1
a41 1
  crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext) \
d43 1
a43 2
  ncrti$(objext) ncrtn$(objext) \
  crtsavres$(objext)
a60 3
crtsavres.S: $(srcdir)/config/rs6000/crtsavres.asm
	cat $(srcdir)/config/rs6000/crtsavres.asm >crtsavres.S

a72 3

$(T)crtsavres$(objext): crtsavres.S
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavres.S -o $(T)crtsavres$(objext)
@


1.1.1.3
log
@Gcc 3.3.1-pre as of 2003-07-11.
@
text
@a29 1
			  msoft-float=mcpu?405 \
@


1.1.1.4
log
@Gcc 3.4.2 20040728.
@
text
@d8 13
d28 8
d39 2
@


1.1.1.5
log
@GCC 4.2.0 release.
@
text
@d3 1
a3 1
LIB2FUNCS_EXTRA += tramp.S $(srcdir)/config/rs6000/darwin-ldouble.c
a13 8
ifneq (,$(findstring gnu,$(target)))
ifeq (,$(findstring spe,$(target)))
TARGET_LIBGCC2_CFLAGS += -mlong-double-128

SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ppc-glibc.ver
endif
endif

@


1.1.1.5.30.1
log
@file t-ppccomm was added on branch RELENG_8_4 on 2013-03-28 13:00:57 +0000
@
text
@d1 71
@


1.1.1.5.30.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 71
# Common support for PowerPC ELF targets (both EABI and SVR4).

LIB2FUNCS_EXTRA += tramp.S $(srcdir)/config/rs6000/darwin-ldouble.c

# This one can't end up in shared libgcc
LIB2FUNCS_STATIC_EXTRA = eabi.S

eabi.S: $(srcdir)/config/rs6000/eabi.asm
	cat $(srcdir)/config/rs6000/eabi.asm > eabi.S

tramp.S: $(srcdir)/config/rs6000/tramp.asm
	cat $(srcdir)/config/rs6000/tramp.asm > tramp.S

ifneq (,$(findstring gnu,$(target)))
ifeq (,$(findstring spe,$(target)))
TARGET_LIBGCC2_CFLAGS += -mlong-double-128

SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ppc-glibc.ver
endif
endif

# Switch synonyms
MULTILIB_MATCHES_ENDIAN	= mlittle=mlittle-endian mbig=mbig-endian
MULTILIB_MATCHES_SYSV	= mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi mcall-sysv=mcall-linux mcall-sysv=mcall-netbsd

EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
  crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext) \
  ecrti$(objext) ecrtn$(objext) \
  ncrti$(objext) ncrtn$(objext) \
  crtsavres$(objext)

# We build {e,n}crti.o and {e,n}crtn.o, which serve to add begin and
# end labels to all of the special sections used when we link using gcc.

# Assemble startup files.
ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm
	cat $(srcdir)/config/rs6000/eabi-ci.asm >ecrti.S

ecrtn.S: $(srcdir)/config/rs6000/eabi-cn.asm
	cat $(srcdir)/config/rs6000/eabi-cn.asm >ecrtn.S

ncrti.S: $(srcdir)/config/rs6000/sol-ci.asm
	cat $(srcdir)/config/rs6000/sol-ci.asm >ncrti.S

ncrtn.S: $(srcdir)/config/rs6000/sol-cn.asm
	cat $(srcdir)/config/rs6000/sol-cn.asm >ncrtn.S

crtsavres.S: $(srcdir)/config/rs6000/crtsavres.asm
	cat $(srcdir)/config/rs6000/crtsavres.asm >crtsavres.S

# Build multiple copies of ?crt{i,n}.o, one for each target switch.
$(T)ecrti$(objext): ecrti.S
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrti.S -o $(T)ecrti$(objext)

$(T)ecrtn$(objext): ecrtn.S
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrtn.S -o $(T)ecrtn$(objext)

$(T)ncrti$(objext): ncrti.S
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrti.S -o $(T)ncrti$(objext)

$(T)ncrtn$(objext): ncrtn.S
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrtn.S -o $(T)ncrtn$(objext)

$(T)crtsavres$(objext): crtsavres.S
	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavres.S -o $(T)crtsavres$(objext)

# It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
CRTSTUFF_T_CFLAGS = -msdata=none
# Make sure crt*.o are built with -fPIC even if configured with 
# --enable-shared --disable-multilib
CRTSTUFF_T_CFLAGS_S = -fPIC -msdata=none
@


