head	1.40;
access;
symbols
	RELENG_8_4:1.40.0.2
	RELENG_9_1_0_RELEASE:1.35.2.1.4.2
	RELENG_9_1:1.35.2.1.0.4
	RELENG_9_1_BP:1.35.2.1
	RELENG_8_3_0_RELEASE:1.32.2.2.4.1
	RELENG_8_3:1.32.2.2.0.4
	RELENG_8_3_BP:1.32.2.2
	RELENG_9_0_0_RELEASE:1.35.2.1.2.1
	RELENG_9_0:1.35.2.1.0.2
	RELENG_9_0_BP:1.35.2.1
	RELENG_9:1.35.0.2
	RELENG_9_BP:1.35
	RELENG_7_4_0_RELEASE:1.25.12.1
	RELENG_8_2_0_RELEASE:1.32.2.2.2.1
	RELENG_7_4:1.25.0.12
	RELENG_7_4_BP:1.25
	RELENG_8_2:1.32.2.2.0.2
	RELENG_8_2_BP:1.32.2.2
	RELENG_8_1_0_RELEASE:1.32.2.1.4.1
	RELENG_8_1:1.32.2.1.0.4
	RELENG_8_1_BP:1.32.2.1
	RELENG_7_3_0_RELEASE:1.25.10.1
	RELENG_7_3:1.25.0.10
	RELENG_7_3_BP:1.25
	RELENG_8_0_0_RELEASE:1.32.2.1.2.1
	RELENG_8_0:1.32.2.1.0.2
	RELENG_8_0_BP:1.32.2.1
	RELENG_8:1.32.0.2
	RELENG_8_BP:1.32
	RELENG_7_2_0_RELEASE:1.25.8.1
	RELENG_7_2:1.25.0.8
	RELENG_7_2_BP:1.25
	RELENG_7_1_0_RELEASE:1.25.6.1
	RELENG_6_4_0_RELEASE:1.24.12.1
	RELENG_7_1:1.25.0.6
	RELENG_7_1_BP:1.25
	RELENG_6_4:1.24.0.12
	RELENG_6_4_BP:1.24
	RELENG_7_0_0_RELEASE:1.25
	RELENG_6_3_0_RELEASE:1.24
	RELENG_7_0:1.25.0.4
	RELENG_7_0_BP:1.25
	RELENG_6_3:1.24.0.10
	RELENG_6_3_BP:1.24
	RELENG_7:1.25.0.2
	RELENG_7_BP:1.25
	RELENG_6_2_0_RELEASE:1.24
	RELENG_6_2:1.24.0.8
	RELENG_6_2_BP:1.24
	RELENG_5_5_0_RELEASE:1.22.2.1
	RELENG_5_5:1.22.2.1.0.4
	RELENG_5_5_BP:1.22.2.1
	RELENG_6_1_0_RELEASE:1.24
	RELENG_6_1:1.24.0.6
	RELENG_6_1_BP:1.24
	RELENG_6_0_0_RELEASE:1.24
	RELENG_6_0:1.24.0.4
	RELENG_6_0_BP:1.24
	RELENG_6:1.24.0.2
	RELENG_6_BP:1.24
	RELENG_5_4_0_RELEASE:1.22.2.1
	RELENG_5_4:1.22.2.1.0.2
	RELENG_5_4_BP:1.22.2.1
	RELENG_4_11_0_RELEASE:1.1.2.8
	RELENG_4_11:1.1.2.8.0.10
	RELENG_4_11_BP:1.1.2.8
	RELENG_5_3_0_RELEASE:1.22
	RELENG_5_3:1.22.0.4
	RELENG_5_3_BP:1.22
	RELENG_5:1.22.0.2
	RELENG_5_BP:1.22
	RELENG_4_10_0_RELEASE:1.1.2.8
	RELENG_4_10:1.1.2.8.0.8
	RELENG_4_10_BP:1.1.2.8
	RELENG_5_2_1_RELEASE:1.20
	RELENG_5_2_0_RELEASE:1.20
	RELENG_5_2:1.20.0.2
	RELENG_5_2_BP:1.20
	RELENG_4_9_0_RELEASE:1.1.2.8
	RELENG_4_9:1.1.2.8.0.6
	RELENG_4_9_BP:1.1.2.8
	RELENG_5_1_0_RELEASE:1.16
	RELENG_5_1:1.16.0.2
	RELENG_5_1_BP:1.16
	RELENG_4_8_0_RELEASE:1.1.2.8
	RELENG_4_8:1.1.2.8.0.4
	RELENG_4_8_BP:1.1.2.8
	RELENG_5_0_0_RELEASE:1.15
	RELENG_5_0:1.15.0.2
	RELENG_5_0_BP:1.15
	RELENG_4_7_0_RELEASE:1.1.2.8
	RELENG_4_7:1.1.2.8.0.2
	RELENG_4_7_BP:1.1.2.8
	RELENG_4_6_2_RELEASE:1.1.2.5
	RELENG_4_6_1_RELEASE:1.1.2.5
	RELENG_4_6_0_RELEASE:1.1.2.5
	RELENG_4_6:1.1.2.5.0.2
	RELENG_4_6_BP:1.1.2.5
	RELENG_4_5_0_RELEASE:1.1.2.4
	RELENG_4_5:1.1.2.4.0.6
	RELENG_4_5_BP:1.1.2.4
	WIP_GCC31:1.3.0.2
	WIP_GCC31_BP:1.3
	RELENG_4_4_0_RELEASE:1.1.2.4
	RELENG_4_4:1.1.2.4.0.4
	RELENG_4_4_BP:1.1.2.4
	RELENG_4_3_0_RELEASE:1.1.2.4
	RELENG_4_3:1.1.2.4.0.2
	RELENG_4_3_BP:1.1.2.4
	BEFORE_GCC_2_95_3:1.1.2.4
	BEFORE_GCC_2_95_3_TEST3:1.2
	RELENG_4_2_0_RELEASE:1.1.2.4
	RELENG_4:1.1.0.2;
locks; strict;
comment	@# @;


1.40
date	2013.01.18.00.34.55;	author svnexp;	state Exp;
branches
	1.40.2.1;
next	1.39;

1.39
date	2012.11.17.01.49.07;	author svnexp;	state Exp;
branches;
next	1.38;

1.38
date	2012.05.17.20.38.01;	author marcel;	state Exp;
branches;
next	1.37;

1.37
date	2012.04.23.06.33.27;	author dim;	state Exp;
branches;
next	1.36;

1.36
date	2012.04.16.21.36.55;	author dim;	state Exp;
branches;
next	1.35;

1.35
date	2010.08.23.22.24.11;	author imp;	state Exp;
branches
	1.35.2.1;
next	1.34;

1.34
date	2010.07.10.02.29.22;	author nwhitehorn;	state Exp;
branches;
next	1.33;

1.33
date	2010.06.18.11.09.51;	author kib;	state Exp;
branches;
next	1.32;

1.32
date	2009.02.21.15.04.31;	author ru;	state Exp;
branches
	1.32.2.1;
next	1.31;

1.31
date	2008.09.28.19.17.54;	author marcel;	state Exp;
branches;
next	1.30;

1.30
date	2008.09.26.15.00.18;	author marcel;	state Exp;
branches;
next	1.29;

1.29
date	2008.06.25.21.33.28;	author ru;	state Exp;
branches;
next	1.28;

1.28
date	2008.01.24.07.43.09;	author ru;	state Exp;
branches;
next	1.27;

1.27
date	2007.10.13.05.50.43;	author ru;	state Exp;
branches;
next	1.26;

1.26
date	2007.10.12.18.14.41;	author obrien;	state Exp;
branches;
next	1.25;

1.25
date	2007.05.19.04.25.55;	author kan;	state Exp;
branches
	1.25.2.1
	1.25.6.1
	1.25.8.1
	1.25.10.1
	1.25.12.1;
next	1.24;

1.24
date	2004.09.10.06.48.04;	author ru;	state Exp;
branches
	1.24.2.1
	1.24.12.1;
next	1.23;

1.23
date	2004.09.09.20.47.58;	author obrien;	state Exp;
branches;
next	1.22;

1.22
date	2004.07.28.05.27.18;	author kan;	state Exp;
branches
	1.22.2.1;
next	1.21;

1.21
date	2004.03.06.07.34.51;	author ru;	state Exp;
branches;
next	1.20;

1.20
date	2003.07.13.02.41.48;	author kan;	state Exp;
branches;
next	1.19;

1.19
date	2003.07.11.05.27.23;	author kan;	state Exp;
branches;
next	1.18;

1.18
date	2003.06.02.02.29.26;	author obrien;	state Exp;
branches;
next	1.17;

1.17
date	2003.06.01.22.18.05;	author obrien;	state Exp;
branches;
next	1.16;

1.16
date	2003.02.27.09.19.31;	author ru;	state Exp;
branches;
next	1.15;

1.15
date	2002.07.29.09.40.07;	author ru;	state Exp;
branches;
next	1.14;

1.14
date	2002.05.26.17.16.21;	author obrien;	state Exp;
branches;
next	1.13;

1.13
date	2002.05.26.17.09.31;	author obrien;	state Exp;
branches;
next	1.12;

1.12
date	2002.05.17.07.55.08;	author peter;	state Exp;
branches;
next	1.11;

1.11
date	2002.05.17.03.04.47;	author obrien;	state Exp;
branches;
next	1.10;

1.10
date	2002.05.14.01.00.25;	author obrien;	state Exp;
branches;
next	1.9;

1.9
date	2002.05.13.15.27.57;	author ru;	state Exp;
branches;
next	1.8;

1.8
date	2002.05.13.10.53.22;	author ru;	state Exp;
branches;
next	1.7;

1.7
date	2002.05.12.16.35.34;	author ru;	state Exp;
branches;
next	1.6;

1.6
date	2002.05.12.13.49.14;	author obrien;	state Exp;
branches;
next	1.5;

1.5
date	2002.05.10.08.54.41;	author obrien;	state Exp;
branches;
next	1.4;

1.4
date	2002.04.05.08.53.35;	author obrien;	state Exp;
branches;
next	1.3;

1.3
date	2001.10.04.14.13.16;	author ru;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2000.10.31.01.06.28;	author obrien;	state Exp;
branches;
next	1.1;

1.1
date	2000.10.28.21.26.46;	author obrien;	state Exp;
branches
	1.1.2.1;
next	;

1.40.2.1
date	2013.01.18.00.34.55;	author svnexp;	state dead;
branches;
next	1.40.2.2;

1.40.2.2
date	2013.03.28.13.02.46;	author svnexp;	state Exp;
branches;
next	;

1.35.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.35.2.1.2.1
	1.35.2.1.4.1;
next	1.35.2.2;

1.35.2.2
date	2012.11.17.11.36.12;	author svnexp;	state Exp;
branches;
next	1.35.2.3;

1.35.2.3
date	2013.12.25.01.01.45;	author svnexp;	state Exp;
branches;
next	1.35.2.4;

1.35.2.4
date	2013.12.30.21.01.46;	author svnexp;	state Exp;
branches;
next	;

1.35.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.35.2.1.2.2;

1.35.2.1.2.2
date	2012.11.17.08.36.12;	author svnexp;	state Exp;
branches;
next	;

1.35.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.35.2.1.4.2;

1.35.2.1.4.2
date	2012.11.17.08.47.02;	author svnexp;	state Exp;
branches;
next	;

1.32.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.32.2.1.2.1
	1.32.2.1.4.1;
next	1.32.2.2;

1.32.2.2
date	2010.07.02.09.17.18;	author kib;	state Exp;
branches
	1.32.2.2.2.1
	1.32.2.2.4.1;
next	1.32.2.3;

1.32.2.3
date	2012.11.17.10.35.58;	author svnexp;	state Exp;
branches;
next	;

1.32.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.32.2.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.32.2.2.2.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.32.2.2.4.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.32.2.2.4.2;

1.32.2.2.4.2
date	2012.11.17.08.24.39;	author svnexp;	state Exp;
branches;
next	;

1.25.2.1
date	2012.11.17.08.01.26;	author svnexp;	state Exp;
branches;
next	;

1.25.6.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.25.8.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.25.10.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.25.12.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.25.12.2;

1.25.12.2
date	2012.11.17.08.16.38;	author svnexp;	state Exp;
branches;
next	;

1.24.2.1
date	2012.11.17.07.39.12;	author svnexp;	state Exp;
branches;
next	;

1.24.12.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.22.2.1
date	2005.03.02.04.05.10;	author obrien;	state Exp;
branches;
next	;

1.3.2.1
date	2001.12.18.03.02.47;	author obrien;	state Exp;
branches;
next	1.3.2.2;

1.3.2.2
date	2002.04.05.08.54.28;	author obrien;	state Exp;
branches;
next	1.3.2.3;

1.3.2.3
date	2002.04.05.09.02.52;	author obrien;	state Exp;
branches;
next	1.3.2.4;

1.3.2.4
date	2002.04.06.19.13.25;	author obrien;	state Exp;
branches;
next	1.3.2.5;

1.3.2.5
date	2002.05.07.00.08.30;	author obrien;	state Exp;
branches;
next	;

1.1.2.1
date	2000.10.30.20.32.23;	author obrien;	state Exp;
branches;
next	1.1.2.2;

1.1.2.2
date	2000.10.30.22.09.56;	author obrien;	state Exp;
branches;
next	1.1.2.3;

1.1.2.3
date	2000.10.31.01.07.43;	author obrien;	state Exp;
branches;
next	1.1.2.4;

1.1.2.4
date	2000.10.31.01.46.39;	author obrien;	state Exp;
branches;
next	1.1.2.5;

1.1.2.5
date	2002.02.20.15.51.33;	author ru;	state Exp;
branches;
next	1.1.2.6;

1.1.2.6
date	2002.06.20.23.13.29;	author obrien;	state Exp;
branches;
next	1.1.2.7;

1.1.2.7
date	2002.07.19.18.46.22;	author ru;	state Exp;
branches;
next	1.1.2.8;

1.1.2.8
date	2002.08.07.16.31.43;	author ru;	state Exp;
branches;
next	1.1.2.9;

1.1.2.9
date	2012.11.17.07.22.51;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.40
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/245539
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@# $FreeBSD: head/gnu/lib/csu/Makefile 245539 2013-01-17 05:56:28Z andrew $

.include <bsd.own.mk>
MK_SSP=		no

GCCDIR=	${.CURDIR}/../../../contrib/gcc
GCCLIB=	${.CURDIR}/../../../contrib/gcclibs
CCDIR=	${.CURDIR}/../../usr.bin/cc
.include "${CCDIR}/Makefile.tgt"

.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}

SRCS=		crtstuff.c tconfig.h tm.h options.h
OBJS=		crtbegin.o crtend.o crtbeginT.o
SOBJS=		crtbeginS.o crtendS.o
CSTD?=		gnu89
CFLAGS+=	-DIN_GCC -DHAVE_LD_EH_FRAME_HDR -DDT_CONFIG -D__GLIBC__=3
CFLAGS+=	-finhibit-size-directive -fno-inline-functions \
		-fno-exceptions -fno-zero-initialized-in-bss \
		-fno-zero-initialized-in-bss -fno-toplevel-reorder \
		-fno-asynchronous-unwind-tables -fno-omit-frame-pointer
CFLAGS+=	-I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. \
		-I${CCDIR}/cc_tools
CRTS_CFLAGS=	-DCRTSTUFFS_O -DSHARED ${PICFLAG}
MKDEP=		-DCRT_BEGIN

.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
CFLAGS+=	-DTARGET_ARM_EABI
.endif

.if ${MACHINE_CPUARCH} == "ia64"
BEGINSRC=	crtbegin.asm
ENDSRC=		crtend.asm
CFLAGS+=	-x assembler-with-cpp	# Ugly hack
CFLAGS+=	-include osreldate.h
.undef SRCS				# hack for 'make depend'
.endif
.if ${MACHINE_CPUARCH} == "powerpc"
TGTOBJS=	crtsavres.o
SRCS+=		crtsavres.asm
.endif
.if ${MACHINE_CPUARCH} == "sparc64"
TGTOBJS=	crtfastmath.o
SRCS+=		crtfastmath.c
.endif
BEGINSRC?=	crtstuff.c
ENDSRC?=	crtstuff.c

all: ${OBJS} ${SOBJS} ${TGTOBJS}
${OBJS} ${SOBJS}: ${SRCS:M*.h}

CLEANFILES=	${OBJS} ${SOBJS} ${TGTOBJS}

crtbegin.o:	${BEGINSRC}
	${CC} ${CFLAGS} -g0 -DCRT_BEGIN \
		-c -o ${.TARGET} ${.ALLSRC:N*.h}

crtbeginT.o:	${BEGINSRC}
	${CC} ${CFLAGS} -g0 -DCRT_BEGIN -DCRTSTUFFT_O \
		-c -o ${.TARGET} ${.ALLSRC:N*.h}

crtbeginS.o:	${BEGINSRC}
	${CC} ${CFLAGS} -g0 -DCRT_BEGIN ${CRTS_CFLAGS} \
		-c -o ${.TARGET} ${.ALLSRC:N*.h}

crtend.o:	${ENDSRC}
	${CC} ${CFLAGS} -g0 -DCRT_END \
		-c -o ${.TARGET} ${.ALLSRC:N*.h}

crtendS.o:	${ENDSRC}
	${CC} ${CFLAGS} -g0 -DCRT_END ${CRTS_CFLAGS} \
		-c -o ${.TARGET} ${.ALLSRC:N*.h}

CLEANFILES+=	tm.h tconfig.h options.h optionlist cs-tconfig.h cs-tm.h
tm.h tconfig.h options.h: ${CCDIR}/cc_tools/Makefile
	${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}

realinstall:
.for file in ${OBJS} ${SOBJS} ${TGTOBJS}
	${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
	    ${file} ${DESTDIR}${LIBDIR}/${file}
.endfor

.include <bsd.lib.mk>
@


1.40.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:02:46 +0000
@
text
@d1 84
@


1.40.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 80
# $FreeBSD: releng/8.4/gnu/lib/csu/Makefile 209641 2010-07-02 09:17:18Z kib $

.include <bsd.own.mk>
MK_SSP=		no

GCCDIR=	${.CURDIR}/../../../contrib/gcc
GCCLIB=	${.CURDIR}/../../../contrib/gcclibs
CCDIR=	${.CURDIR}/../../usr.bin/cc
.include "${CCDIR}/Makefile.tgt"

.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}

SRCS=		crtstuff.c tconfig.h tm.h options.h
OBJS=		crtbegin.o crtend.o crtbeginT.o
SOBJS=		crtbegin.So crtend.So
CSTD?=		gnu89
CFLAGS+=	-DIN_GCC -DHAVE_LD_EH_FRAME_HDR -DDT_CONFIG -D__GLIBC__=3
CFLAGS+=	-finhibit-size-directive -fno-inline-functions \
		-fno-exceptions -fno-zero-initialized-in-bss \
		-fno-zero-initialized-in-bss -fno-toplevel-reorder \
		-fno-asynchronous-unwind-tables -fno-omit-frame-pointer
CFLAGS+=	-I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. \
		-I${CCDIR}/cc_tools
CRTS_CFLAGS=	-DCRTSTUFFS_O -DSHARED ${PICFLAG}
MKDEP=		-DCRT_BEGIN

.if ${MACHINE_ARCH} == "ia64"
BEGINSRC=	crtbegin.asm
ENDSRC=		crtend.asm
CFLAGS+=	-x assembler-with-cpp	# Ugly hack
CFLAGS+=	-include osreldate.h
.undef SRCS				# hack for 'make depend'
.endif
.if ${MACHINE_ARCH} == "powerpc"
TGTOBJS=	crtsavres.o
SRCS+=		crtsavres.asm
.endif
.if ${MACHINE_ARCH} == "sparc64"
TGTOBJS=	crtfastmath.o
SRCS+=		crtfastmath.c
.endif
BEGINSRC?=	crtstuff.c
ENDSRC?=	crtstuff.c

all: ${OBJS} ${SOBJS} ${TGTOBJS}
${OBJS} ${SOBJS}: ${SRCS:M*.h}

CLEANFILES=	${OBJS} ${SOBJS} ${TGTOBJS}

crtbegin.o:	${BEGINSRC}
	${CC} ${CFLAGS} -g0 -DCRT_BEGIN \
		-c -o ${.TARGET} ${.ALLSRC:N*.h}

crtbeginT.o:	${BEGINSRC}
	${CC} ${CFLAGS} -g0 -DCRT_BEGIN -DCRTSTUFFT_O \
		-c -o ${.TARGET} ${.ALLSRC:N*.h}

crtbegin.So:	${BEGINSRC}
	${CC} ${CFLAGS} -g0 -DCRT_BEGIN ${CRTS_CFLAGS} \
		-c -o ${.TARGET} ${.ALLSRC:N*.h}

crtend.o:	${ENDSRC}
	${CC} ${CFLAGS} -g0 -DCRT_END \
		-c -o ${.TARGET} ${.ALLSRC:N*.h}

crtend.So:	${ENDSRC}
	${CC} ${CFLAGS} -g0 -DCRT_END ${CRTS_CFLAGS} \
		-c -o ${.TARGET} ${.ALLSRC:N*.h}

CLEANFILES+=	tm.h tconfig.h options.h optionlist cs-tconfig.h cs-tm.h
tm.h tconfig.h options.h: ${CCDIR}/cc_tools/Makefile
	${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}

realinstall:
.for file in ${OBJS} ${SOBJS} ${TGTOBJS}
	${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
	    ${file} ${DESTDIR}${LIBDIR}/${file:S/.So$/S.o/}
.endfor

.include <bsd.lib.mk>
@


1.39
log
@Switching exporter and resync
@
text
@d1 1
a1 1
# $FreeBSD: head/gnu/lib/csu/Makefile 235566 2012-05-17 20:38:01Z marcel $
d27 4
@


1.38
log
@SVN rev 235566 on 2012-05-17 20:38:01Z by marcel

Build the "S" objects with the same name they get installed under.
That is, build crtbeginS.o and crtendS.o instead of crtbegin.So and
crtend.So. Remove the name substitution during install.

Obtained from:	Juniper Networks, Inc.
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.37
log
@SVN rev 234596 on 2012-04-23 06:33:27Z by dim

Revert r234356 for now, as it leads to run-time problems on 32-bit
PowerPC.  Note this will break world.

Reported by:	andreast
Pointy hat to:	dim
@
text
@d15 1
a15 1
SOBJS=		crtbegin.So crtend.So
d58 1
a58 1
crtbegin.So:	${BEGINSRC}
d66 1
a66 1
crtend.So:	${ENDSRC}
d77 1
a77 1
	    ${file} ${DESTDIR}${LIBDIR}/${file:S/.So$/S.o/}
@


1.36
log
@SVN rev 234356 on 2012-04-16 21:36:55Z by dim

Work around an issue on 32-bit PowerPC, where clang executable can get
too big, causing 'relocation truncated to fit' errors at link time.

Reviewed by:	nwhitehorn
@
text
@a36 1
CFLAGS+=	-mlongcall
@


1.35
log
@SVN rev 211725 on 2010-08-23 22:24:11Z by imp

MFtbemd:

Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want
to test of all the CPUs of a given family conform.
@
text
@d37 1
@


1.35.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.35.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/gnu/lib/csu/Makefile 211725 2010-08-23 22:24:11Z imp $
@


1.35.2.3
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/259851
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/gnu/lib/csu/Makefile 259851 2013-12-25 00:40:42Z dim $
d18 4
a21 6
.if ${COMPILER_TYPE} == "gcc"
CFLAGS+=	-finhibit-size-directive -fno-toplevel-reorder
.endif
CFLAGS+=	-fno-inline-functions -fno-exceptions \
		-fno-zero-initialized-in-bss -fno-asynchronous-unwind-tables \
		-fno-omit-frame-pointer
@


1.35.2.4
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/260096
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/gnu/lib/csu/Makefile 260096 2013-12-30 20:15:46Z dim $
d18 3
a20 1
CFLAGS.gcc+=	-finhibit-size-directive -fno-toplevel-reorder
@


1.35.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.35.2.1.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/gnu/lib/csu/Makefile 211725 2010-08-23 22:24:11Z imp $
@


1.35.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.35.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/gnu/lib/csu/Makefile 211725 2010-08-23 22:24:11Z imp $
@


1.34
log
@SVN rev 209867 on 2010-07-10 02:29:22Z by nwhitehorn

Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes
a variety of bugs in binutils related to handling of 64-bit PPC ELF,
provides a GCC configuration for 64-bit PowerPC on FreeBSD, and
associated build systems tweaks.

Obtained from:	projects/ppc64
@
text
@d27 1
a27 1
.if ${MACHINE_ARCH} == "ia64"
d34 1
a34 1
.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64"
d38 1
a38 1
.if ${MACHINE_ARCH} == "sparc64"
@


1.33
log
@SVN rev 209294 on 2010-06-18 11:09:51Z by kib

Often reported issue with newer ld is:
error in /usr/lib/crtendS.o(.eh_frame); no .eh_frame_hdr table will be created.

The issue is that crtend is compiled with unwind table, and also it
places the special CIE into the .eh_frame indicating the end of section,
that is located before generated unwind table. New ld has assertion that
verifies that closing CIE is indeed the last CIE, causing the crypting
message to be issued, and refusing to generate dwarf unwind.

Add -fno-asynchronous-unwind-tables to disable unwind table generation
for crtbegin/crtend. While there, disable omitting the frame pointer [1].

Requested by:	kan [1]
Reviewed by:	kan
MFC after:	2 weeks
@
text
@d34 1
a34 1
.if ${MACHINE_ARCH} == "powerpc"
@


1.32
log
@SVN rev 188895 on 2009-02-21 15:04:31Z by ru

Fix build when WITH_SSP is set explicitly.

Submitted by:	Jeremie Le Hen
@
text
@d20 2
a21 1
		-fno-zero-initialized-in-bss -fno-toplevel-reorder
@


1.32.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.32.2.2
log
@SVN rev 209641 on 2010-07-02 09:17:18Z by kib

MFC r209294:
Add -fno-asynchronous-unwind-tables to disable unwind table generation
for crtbegin/crtend. While there, disable omitting the frame pointer.
@
text
@d20 1
a20 2
		-fno-zero-initialized-in-bss -fno-toplevel-reorder \
		-fno-asynchronous-unwind-tables -fno-omit-frame-pointer
@


1.32.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/gnu/lib/csu/Makefile 209641 2010-07-02 09:17:18Z kib $
@


1.32.2.2.4.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.32.2.2.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/gnu/lib/csu/Makefile 209641 2010-07-02 09:17:18Z kib $
@


1.32.2.2.2.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.32.2.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.32.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.31
log
@SVN rev 183440 on 2008-09-28 19:17:54Z by marcel

Revert previous commit. The prototype has been moved to unistd.h
@
text
@d3 3
a24 1
WITHOUT_SSP=
@


1.30
log
@SVN rev 183384 on 2008-09-26 15:00:18Z by marcel

Add -D_OSRELDATE_H to CFLAGS to prevent the declaration of
getosreldate() in assembler source files. We still get the
definition of __FreeBSD_version this way, because it's
outside the standard multiple-inclusion protection trick.

All this is specific to ia64.
@
text
@d28 1
a28 1
CFLAGS+=	-D_OSRELDATE_H -include osreldate.h
@


1.29
log
@SVN rev 180012 on 2008-06-25 21:33:28Z by ru

Enable GCC stack protection (aka Propolice) for userland:
- It is opt-out for now so as to give it maximum testing, but it may be
  turned opt-in for stable branches depending on the consensus.  You
  can turn it off with WITHOUT_SSP.
- WITHOUT_SSP was previously used to disable the build of GNU libssp.
  It is harmless to steal the knob as SSP symbols have been provided
  by libc for a long time, GNU libssp should not have been much used.
- SSP is disabled in a few corners such as system bootstrap programs
  (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves.
- It should be safe to use -fstack-protector-all to build world, however
  libc will be automatically downgraded to -fstack-protector because it
  breaks rtld otherwise.
- This option is unavailable on ia64.

Enable GCC stack protection (aka Propolice) for kernel:
- It is opt-out for now so as to give it maximum testing.
- Do not compile your kernel with -fstack-protector-all, it won't work.

Submitted by:	Jeremie Le Hen <jeremie@@le-hen.org>
@
text
@d28 1
a28 1
CFLAGS+=	-include osreldate.h
@


1.28
log
@Remove one more alpha leftover.
@
text
@d22 1
@


1.27
log
@Back out last commit -- it breaks sparc64 build which has
more than one .c file in SRCS.
@
text
@d34 1
a34 1
.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "sparc64"
@


1.26
log
@Minor tweak to finding BEG/END source.
@
text
@d38 2
a39 2
BEGINSRC?=	${SRCS:M*.c}
ENDSRC?=	${SRCS:M*.c}
@


1.25
log
@Update bmake glue to build GCC 4.2.

Also:
        Switch FreeBSD to use libgcc_s.so.1.

        Use dl_iterate_phdr to locate shared objects' exception frame
        info instead of depending on older register_frame_info machinery.
        This allows us to avoid depending on libgcc_s.so.1 in binaries
        that do not use exception handling directly. As an additional
        benefit it breaks circular libc <=> libgcc_s.so.1 dependency too.

        Build newly added libgomp.so.1 library, the runtime support
        bits for OpenMP.

        Build LGPLed libssp library. Our libc provides our own
        BSD-licensed SSP callbacks implementation, so this library
        is only built to benefit applications that have hadcoded
        knowledge of libssp.so and libssp_nonshared.a. When linked
        in from command line, these libraries override libc
        implementation.
@
text
@d38 2
a39 2
BEGINSRC?=	crtstuff.c
ENDSRC?=	crtstuff.c
@


1.25.2.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/gnu/lib/csu/Makefile 169718 2007-05-19 04:25:59Z kan $
@


1.25.12.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.25.12.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/gnu/lib/csu/Makefile 169718 2007-05-19 04:25:59Z kan $
@


1.25.10.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.25.8.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.25.6.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.24
log
@Fix a problem mentioned in the previous revision in a different,
non-intrusive way.  This should also fix the PowerPC build that
broke due to this change.
@
text
@d4 1
d10 2
a11 2
SRCS=		crtstuff.c tconfig.h tm.h
OBJS=		crtbegin.o crtend.o
d14 1
a14 1
CFLAGS+=	-DIN_GCC -DHAVE_LD_EH_FRAME_HDR
d17 2
a18 2
		-fno-omit-frame-pointer -fno-unit-at-a-time
CFLAGS+=	-I${GCCDIR}/config -I${GCCDIR} -I. \
d50 4
d66 2
a67 2
CLEANFILES+=	tm.h tconfig.h
tm.h tconfig.h: ${CCDIR}/cc_tools/Makefile
@


1.24.2.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/gnu/lib/csu/Makefile 135029 2004-09-10 06:48:04Z ru $
@


1.24.12.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.23
log
@Add the .h files to the .o dependency lists so the .h's are created before
trying to build the .o's.
@
text
@d37 2
a38 2
BEGINSRC?=	${SRCS}
ENDSRC?=	${SRCS}
d41 1
a41 1
${OBJS} ${SOBJS}: tm.h
@


1.22
log
@Bmake glue for GCC 3.4.2-prerelease.
@
text
@d37 2
a38 2
BEGINSRC?=	crtstuff.c
ENDSRC?=	crtstuff.c
@


1.22.2.1
log
@MFC: rev 1.24: tweak adding the .h to the .o dependency lists.
@
text
@d41 1
a41 1
${OBJS} ${SOBJS}: ${SRCS:M*.h}
@


1.21
log
@Just pass -DCRT_BEGIN as an option to mkdep(1), no need to override
the entire command.
@
text
@d9 1
a9 1
SRCS=		crtstuff.c tconfig.h
d16 1
a16 1
		-fno-omit-frame-pointer
d41 1
a41 1
${OBJS} ${SOBJS}: tconfig.h
d61 2
a62 2
CLEANFILES+=	tconfig.h
tconfig.h: ${CCDIR}/cc_tools/Makefile
@


1.20
log
@Including dynamically generated osreldate.h wasn't such a good
idea after all.

Fix cross-builds and ia64 builds. gnu/lib/csu/Makefile is modified to
pre-include osreldate.h and gnu/usr.bin/cc/cc_tools/auto-host.h
will avoid including sys/param.h if __FreeBSD_version is already defined.
@
text
@d20 1
a20 1
MKDEPCMD=	CC="${CC}" MKDEP_CPP_OPTS="-M -DCRT_BEGIN" mkdep
@


1.19
log
@Change CFLAGS to more closely follow options used when GCC is built
from stock FSF sources.
@
text
@d26 1
@


1.18
log
@Use ?= before someone brings it up.
@
text
@d15 2
a16 1
		-fno-exceptions -fno-omit-frame-pointer
@


1.17
log
@crtstuff needs isn't compilable with C99 on Sparc64, so set CSTD to gnu89.
@
text
@d12 1
a12 1
CSTD=		gnu89
@


1.16
log
@Only cross-tools may use TARGET_ARCH/TARGET, everyone else
should use the normal MACHINE_ARCH/MACHINE instead.
@
text
@d12 1
@


1.15
log
@Drop support for COPY, -c has been the default mode of install(1)
for a long time now.

Approved by:	bde
@
text
@d20 1
a20 1
.if ${TARGET_ARCH} == "ia64"
d26 1
a26 1
.if ${TARGET_ARCH} == "powerpc"
d30 1
a30 1
.if ${TARGET_ARCH} == "alpha" || ${TARGET_ARCH} == "sparc64"
@


1.14
log
@Alpha has crtfastmath also.
@
text
@d64 1
a64 1
	${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
@


1.13
log
@Rev 1.12 broke `make all' w/o a previous `make depends'.
@
text
@d30 1
a30 1
.if ${TARGET_ARCH} == "sparc64"
@


1.12
log
@Put on peril-sensitive sunglasses and risk touching gcc related build glue
again.  Try and deal with platforms that provide their own crtbegin/end asm
files (ia64 for example).  crtstuff.c does not actually work on ia64 since
libgcc.a doesn't have a few key support functions when built on ia64 so it
is compulsory to use crtbegin.asm and crtend.asm.

Reviewed by:	obrien
@
text
@d38 1
d44 1
a44 1
		-c -o ${.TARGET} ${.ALLSRC}
d48 1
a48 1
		-c -o ${.TARGET} ${.ALLSRC}
d52 1
a52 1
		-c -o ${.TARGET} ${.ALLSRC}
d56 1
a56 1
		-c -o ${.TARGET} ${.ALLSRC}
@


1.11
log
@GCC 3.1 on PowerPC also has the crtsavres C Run Time file.
@
text
@a3 2
.PATH: ${GCCDIR}

d7 2
d17 1
a17 1
CRTS_CFLAGS=	-DCRTSTUFFS_O ${PICFLAG}
d20 6
a26 1
.PATH: ${GCCDIR}/config/${GCC_CPU}
a30 1
.PATH: ${GCCDIR}/config/${GCC_CPU}
d34 2
d41 1
a41 3
crtbegin.o crtbegin.So crtend.o crtend.So: ${SRCS}

crtbegin.o:
d43 1
a43 1
		-c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
d45 1
a45 1
crtbegin.So:
d47 1
a47 1
		-c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
d49 1
a49 1
crtend.o:
d51 1
a51 1
		-c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
d53 1
a53 1
crtend.So:
d55 1
a55 1
		-c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
@


1.10
log
@Quote {CC} so ccache can be used.
@
text
@d20 5
@


1.9
log
@Fixed CLEANFILES after bsd.lib.mk sweep.
@
text
@d18 1
a18 1
MKDEPCMD=	CC=${CC} MKDEP_CPP_OPTS="-M -DCRT_BEGIN" mkdep
@


1.8
log
@Major cleanup of bsd.lib.mk.

Get rid of the INTERNALSTATICLIB knob and just use plain INTERNALLIB.
INTERNALLIB now means to build static library only and don't install
anything.  Added a NOINSTALLLIB knob for libpam/modules.  To not
build any library at all, just do not set LIB.
@
text
@d28 2
d48 1
a48 1
CLEANFILES=	tconfig.h
@


1.7
log
@NOLIB is gone; put INTERNALLIB back for now.
@
text
@a2 2
INTERNALLIB=	true

@


1.6
log
@There is no more NOLIB.
@
text
@d3 2
@


1.5
log
@Bmake bits for Gcc 3.1.

Partially made possible by:	Wilko.Bulte@@compaq.com
@
text
@a18 1
NOLIB=		true
@


1.4
log
@Style reorg.
@
text
@d3 2
a4 1
GCCDIR=	${.CURDIR}/../../../contrib/gcc.295
d6 2
a7 8
.if ${MACHINE_ARCH} == "alpha"
.PATH: ${GCCDIR}/config/alpha
SRCS=		crtbegin.s crtend.s
UGLYHACK=	-x assembler
.else
.PATH: ${GCCDIR}
SRCS=		crtstuff.c tm.h
.endif
d9 1
d12 2
a13 2
CFLAGS+=	-I${GCCDIR}/config -I. -DIN_GCC \
		-finhibit-size-directive -fno-inline-functions \
d15 5
a19 1
INTERNALLIB=	true
d21 5
a25 1
CRTS_CFLAGS=	-DCRTSTUFFS_O ${PICFLAG}
d27 1
a27 1
all: ${OBJS} ${SOBJS}
a28 9
.if ${MACHINE_ARCH} == "alpha"
crtbegin.o crtbegin.So:	crtbegin.s
crtend.o crtend.So:	crtend.s
.for PART in begin end
CLEANFILES+=	crt${PART}.s
crt${PART}.s:  crt${PART}.asm
	ln -sf ${.ALLSRC} ${.TARGET}
.endfor
.else
a29 1
.endif
d33 1
a33 1
		-c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
d37 1
a37 1
		-c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
d41 1
a41 1
		-c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
d45 1
a45 1
		-c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
d47 3
a49 12
CLEANFILES+=	tm.h
#	KEEP THIS IN SYNC with src/gnu/usr.bin/cc/cc_tools/Makefile !!
tm.h:
	echo '#include "${MACHINE_ARCH}/${MACHINE_ARCH}.h"'	> ${.TARGET}
.if ${MACHINE_ARCH} == "i386"
	echo '#include "${MACHINE_ARCH}/att.h"'			>> ${.TARGET}
.endif
	echo '#include <freebsd.h>'				>> ${.TARGET}
	echo '#include "${MACHINE_ARCH}/freebsd.h"'		>> ${.TARGET}
.if ${MACHINE_ARCH} == "i386"
	echo '#include "${MACHINE_ARCH}/perform.h"'		>> ${.TARGET}
.endif
d52 1
a52 1
.for file in ${OBJS} ${SOBJS}
@


1.3
log
@Removed mentions of TARGET_ARCH from non-cross places.
@
text
@d1 1
a1 1
# $FreeBSD: src/gnu/lib/csu/Makefile,v 1.2 2000/10/31 01:06:28 obrien Exp $
a18 3
NOMAN=		true
NOPIC=		true
NOPROFILE=	true
a19 1
CLEANFILES+=	tm.h
d34 1
a34 1
crtbegin.o crtbegin.So crtend.o crtend.So:	crtstuff.c tm.h
d53 1
@


1.3.2.1
log
@Working changes for GCC 3.0.2.
@
text
@d1 1
a1 1
# $FreeBSD$
d3 1
a3 1
GCCDIR=		${.CURDIR}/../../../contrib/gcc
d5 1
a5 3
TARGET_ARCH?=	${MACHINE_ARCH}

.if ${TARGET_ARCH} == "alpha"
d16 1
a16 3
CFLAGS+=	-I${GCCDIR}/config -I${GCCDIR} -I. \
		-I${.CURDIR}/../../usr.bin/cc/cc_tools -I../../usr.bin/cc/cc_tools \
		-DIN_GCC \
d29 1
a29 1
.if ${TARGET_ARCH} == "alpha"
d59 1
a59 2
	echo '#include "gansidecl.h"'			> ${.TARGET}
	echo '#include "${MACHINE_ARCH}/${MACHINE_ARCH}.h"'	>> ${.TARGET}
d61 1
a61 6
	echo '#include "${MACHINE_ARCH}/att.h"'		>> ${.TARGET}
.endif
	echo '#include <freebsd-native.h>'		>> ${.TARGET}
	echo '#include <freebsd.h>'			>> ${.TARGET}
.if exists(${MACHINE_ARCH}/config/${MACHINE_ARCH}/elf.h)
	echo '#include "${MACHINE_ARCH}/elf.h"'		>> ${.TARGET}
d63 2
a64 1
	echo '#include "${MACHINE_ARCH}/freebsd.h"'	>> ${.TARGET}
d66 1
a66 1
	echo '#include "${MACHINE_ARCH}/perform.h"'	>> ${.TARGET}
a67 5
	echo '#include "defaults.h"'			>> ${.TARGET}
	echo '#ifndef GENERATOR_FILE'			>> ${.TARGET}
	echo '#include "insn-codes.h"'			>> ${.TARGET}
	echo '#include "insn-flags.h"'			>> ${.TARGET}
	echo '#endif'					>> ${.TARGET}
@


1.3.2.2
log
@MFC: rev 1.4 (style reorg)
@
text
@d23 3
d27 1
d42 1
a42 1
crtbegin.o crtbegin.So crtend.o crtend.So: ${SRCS}
a60 1
CLEANFILES+=	tm.h
@


1.3.2.3
log
@Update for GCC 3.1.
(Alpha now uses crtstuff rather than the ASM verisons!)
@
text
@d3 9
a11 1
GCCDIR=	${.CURDIR}/../../../contrib/gcc
d13 2
a14 2

SRCS=		crtstuff.c tconfig.h
d18 4
a21 2
CFLAGS+=	-DIN_GCC -DHAVE_LD_EH_FRAME_HDR
CFLAGS+=	-finhibit-size-directive -fno-inline-functions \
d23 2
a24 2
CFLAGS+=	-I${GCCDIR}/config -I${GCCDIR} -I. \
		-I${.CURDIR}/../../usr.bin/cc/cc_tools
a25 2
MKDEPCMD=	CC=${CC} MKDEP_CPP_OPTS="-M -DCRT_BEGIN" mkdep
INTERNALLIB=	true
d29 9
d39 1
d43 1
a43 1
		-c -o ${.TARGET} ${.ALLSRC:N*.h}
d47 1
a47 1
		-c -o ${.TARGET} ${.ALLSRC:N*.h}
d51 1
a51 1
		-c -o ${.TARGET} ${.ALLSRC:N*.h}
d55 1
a55 1
		-c -o ${.TARGET} ${.ALLSRC:N*.h}
d57 22
a78 3
CLEANFILES=	tconfig.h
tconfig.h: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile
	${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} ${.TARGET}
@


1.3.2.4
log
@Deal with new TarGeT-specific CRT files.
(sparc64 introduced the first)
@
text
@d6 1
a6 2
CCDIR=	${.CURDIR}/../../usr.bin/cc
.include "${CCDIR}/Makefile.tgt"
a7 1
SRCS=		crtstuff.c tconfig.h
d14 1
a14 1
		-I${CCDIR}/cc_tools
d19 1
a19 6
.if ${TARGET_ARCH} == "sparc64"
.PATH: ${GCCDIR}/config/${GCC_CPU}
TGTOBJS=		crtfastmath.o
.endif

all: ${OBJS} ${SOBJS} ${TGTOBJS}
d40 1
a40 1
tconfig.h: ${CCDIR}/cc_tools/Makefile
d44 1
a44 1
.for file in ${OBJS} ${SOBJS} ${TGTOBJS}
@


1.3.2.5
log
@Fix to work on sparc64 (which has an extra crt .o file).
@
text
@d19 1
a19 1
NOLIB=		true
d23 1
a23 2
TGTOBJS=	crtfastmath.o
SRCS+=		crtfastmath.c
d32 1
a32 1
		-c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
d36 1
a36 1
		-c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
d40 1
a40 1
		-c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
d44 1
a44 1
		-c -o ${.TARGET} ${.ALLSRC:M*crtstuff*}
d48 1
a48 1
	${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}
@


1.2
log
@GCC uses .asm files on the Alpha for crt{begin,end}.o rather than
crtstuff.c as they do for other platforms.

Moral support from:	jdp
@
text
@d1 1
a1 1
# $FreeBSD: src/gnu/lib/csu/Makefile,v 1.1 2000/10/28 21:26:46 obrien Exp $
d5 1
a5 3
TARGET_ARCH?=	${MACHINE_ARCH}

.if ${TARGET_ARCH} == "alpha"
d29 1
a29 1
.if ${TARGET_ARCH} == "alpha"
@


1.1
log
@* Bring back the guts of crt{i,n}.S.  This allows C++ exceptions to work
when using the egcs and gcc-devel ports, along with GCC built from stock
public FSF sources.  With out this change, FreeBSD will be removed from
the list of systems GCC 3.0 must be evaluated on before release.  With
the effort some of us put into getting FreeBSD on this list, we should
not turn this effort into a waste, else we might not be worth fighting
for in the future.  (note that Alpha and IA-64 versions of crt{i,n}.S
are needed)

* Switch from our own crt{begin,in} to those created from GCC's crtstuff.c.
This will allow us to switch to DWARF2 exceptions in the future, along with
staying in sync with any future GCC requirements.

* Break out our ELF branding bits into a seperate file.  Currently this
is now included by our crt1.c files (since this functionality was part of
our native crtbegin.c).  Later crtbrand.o will be merged in the creation
of crti.o.
@
text
@d1 1
a1 1
# $FreeBSD$
d4 8
d13 2
a15 1
SRCS=		crtstuff.c tm.h
d31 13
a43 1
crtbegin.o:	crtstuff.c tm.h
d45 1
a45 1
		-c -o ${.TARGET} ${GCCDIR}/crtstuff.c
d47 1
a47 1
crtbegin.So:	crtstuff.c tm.h
d49 1
a49 1
		-c -o ${.TARGET} ${GCCDIR}/crtstuff.c
d51 1
a51 1
crtend.o:	crtstuff.c tm.h
d53 1
a53 1
		-c -o ${.TARGET} ${GCCDIR}/crtstuff.c
d55 1
a55 1
crtend.So:	crtstuff.c tm.h
d57 1
a57 1
		-c -o ${.TARGET} ${GCCDIR}/crtstuff.c
@


1.1.2.1
log
@MFC.

* Bring back the guts of crt{i,n}.S.  This allows C++ exceptions to work
when using the egcs and gcc-devel ports, along with GCC built from stock
public FSF sources.  With out this change, FreeBSD will be removed from
the list of systems GCC 3.0 must be evaluated on before release.

* Switch from our own crt{begin,in} to those created from GCC's crtstuff.c.

* Break out our ELF branding bits into a seperate file.  Currently this
is now included by our crt1.c files (since this functionality was part of
our native crtbegin.c).  Later crtbrand.o will be merged in the creation
of crti.o.
@
text
@a3 1

d6 2
a7 3
SRCS=		crtbegin.c crtend.c tm.h
OBJS=		${SRCS:N*.h:R:S/$/.o/g}
#OBJS+=		gcrt1.o
d9 3
a11 5
CFLAGS+=	-elf -Wall 
CFLAGS+=	-fkeep-inline-functions -finhibit-size-directive -fno-exceptions
CFLAGS+=	-I${GCCDIR}/config -I${GCCDIR} -I.
CFLAGS+=	-O0
LDFLAGS+=	-elf
d16 3
a18 1
CLEANFILES+=	${SRCS}
d22 15
a36 9
gcrt1.o:	crt1.c
	${CC} ${CFLAGS} -DGCRT -c -o gcrt1.o ${.CURDIR}/crt1.c

crtbegin.c: crtstuff.c ${.CURDIR}/../../../lib/csu/common/crtbrand.c
	cat ${.ALLSRC} > ${.TARGET}

#crtbegin.c crtend.c: crtstuff.c
crtend.c: crtstuff.c
	ln -sf ${.ALLSRC} ${.TARGET}
d38 1
a38 1
#	KEEP THIS IN SYNC with src/gcc/usr.bin/cc/cc_tools/Makefile !!
@


1.1.2.2
log
@Grrr. wrong Makefile, the path to the GCC bits is different than in -CURRENT.
@
text
@d1 1
a1 1
# $FreeBSD: src/gnu/lib/csu/Makefile,v 1.1.2.1 2000/10/30 20:32:23 obrien Exp $
d3 1
a3 1
GCCDIR=	${.CURDIR}/../../../contrib/gcc
@


1.1.2.3
log
@MFC: rev 1.2 (use crt{begin,end}.asm rather than crtstuff.c on Alpha)
@
text
@d1 1
a1 1
# $FreeBSD$
d3 1
a3 1
GCCDIR=	${.CURDIR}/../../../contrib/gcc.295
a4 7
TARGET_ARCH?=	${MACHINE_ARCH}

.if ${TARGET_ARCH} == "alpha"
.PATH: ${GCCDIR}/config/alpha
SRCS=		crtbegin.s crtend.s
UGLYHACK=	-x assembler
.else
a5 2
SRCS=		crtstuff.c tm.h
.endif
d7 3
a9 1
OBJS=		crtbegin.o crtend.o
d11 5
a15 3
CFLAGS+=	-I${GCCDIR}/config -I. -DIN_GCC \
		-finhibit-size-directive -fno-inline-functions \
		-fno-exceptions -fno-omit-frame-pointer
d20 3
a22 1
CLEANFILES+=	tm.h
d24 2
a25 1
CRTS_CFLAGS=	-DCRTSTUFFS_O ${PICFLAG}
d27 2
a28 1
all: ${OBJS} ${SOBJS}
d30 2
a31 6
.if ${TARGET_ARCH} == "alpha"
crtbegin.o crtbegin.So:	crtbegin.s
crtend.o crtend.So:	crtend.s
.for PART in begin end
CLEANFILES+=	crt${PART}.s
crt${PART}.s:  crt${PART}.asm
a32 20
.endfor
.else
crtbegin.o crtbegin.So crtend.o crtend.So:	crtstuff.c tm.h
.endif

crtbegin.o:
	${CC} ${CFLAGS} -g0 -DCRT_BEGIN \
		-c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}

crtbegin.So:
	${CC} ${CFLAGS} -g0 -DCRT_BEGIN ${CRTS_CFLAGS} \
		-c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}

crtend.o:
	${CC} ${CFLAGS} -g0 -DCRT_END \
		-c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}

crtend.So:
	${CC} ${CFLAGS} -g0 -DCRT_END ${CRTS_CFLAGS} \
		-c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h}
d34 1
a34 1
#	KEEP THIS IN SYNC with src/gnu/usr.bin/cc/cc_tools/Makefile !!
@


1.1.2.4
log
@Grr. I did it again!  The path to the GCC bits is different than in -CURRENT.
@
text
@d1 1
a1 1
# $FreeBSD: src/gnu/lib/csu/Makefile,v 1.1.2.3 2000/10/31 01:07:43 obrien Exp $
d3 1
a3 1
GCCDIR=	${.CURDIR}/../../../contrib/gcc
@


1.1.2.5
log
@MFC: Removed mentions of TARGET_ARCH from non cross-tools.
@
text
@d1 1
a1 1
# $FreeBSD$
d5 3
a7 1
.if ${MACHINE_ARCH} == "alpha"
d31 1
a31 1
.if ${MACHINE_ARCH} == "alpha"
@


1.1.2.6
log
@MFC: update to Gcc 2.95.4
@
text
@d38 1
a38 1
crtbegin.o crtbegin.So crtend.o crtend.So: ${SRCS}
a56 1
CLEANFILES+=	tm.h
@


1.1.2.7
log
@MFC: new bsd.lib.mk API.
@
text
@d19 4
a27 2

CLEANFILES+=	${OBJS} ${SOBJS}
@


1.1.2.8
log
@MFC: Drop support for COPY.
@
text
@d70 1
a70 1
	${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
@


1.1.2.9
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/4/gnu/lib/csu/Makefile 101469 2002-08-07 16:32:02Z ru $
@


