head	1.18;
access;
symbols
	RELENG_8_4:1.18.0.2
	RELENG_9_1_0_RELEASE:1.16.2.2.2.2
	RELENG_9_1:1.16.2.2.0.2
	RELENG_9_1_BP:1.16.2.2
	RELENG_8_3_0_RELEASE:1.12.32.3.4.1
	RELENG_8_3:1.12.32.3.0.4
	RELENG_8_3_BP:1.12.32.3
	RELENG_9_0_0_RELEASE:1.16.2.1.2.1
	RELENG_9_0:1.16.2.1.0.2
	RELENG_9_0_BP:1.16.2.1
	RELENG_9:1.16.0.2
	RELENG_9_BP:1.16
	RELENG_7_4_0_RELEASE:1.12.20.2.2.1
	RELENG_8_2_0_RELEASE:1.12.32.3.2.1
	RELENG_7_4:1.12.20.2.0.2
	RELENG_7_4_BP:1.12.20.2
	RELENG_8_2:1.12.32.3.0.2
	RELENG_8_2_BP:1.12.32.3
	RELENG_8_1_0_RELEASE:1.12.32.2.2.1
	RELENG_8_1:1.12.32.2.0.2
	RELENG_8_1_BP:1.12.32.2
	RELENG_7_3_0_RELEASE:1.12.20.1.2.1
	RELENG_7_3:1.12.20.1.0.2
	RELENG_7_3_BP:1.12.20.1
	RELENG_8_0_0_RELEASE:1.12.32.1.2.1
	RELENG_8_0:1.12.32.1.0.2
	RELENG_8_0_BP:1.12.32.1
	RELENG_8:1.12.0.32
	RELENG_8_BP:1.12
	RELENG_7_2_0_RELEASE:1.12.30.1
	RELENG_7_2:1.12.0.30
	RELENG_7_2_BP:1.12
	RELENG_7_1_0_RELEASE:1.12.28.1
	RELENG_6_4_0_RELEASE:1.12.26.1
	RELENG_7_1:1.12.0.28
	RELENG_7_1_BP:1.12
	RELENG_6_4:1.12.0.26
	RELENG_6_4_BP:1.12
	RELENG_7_0_0_RELEASE:1.12
	RELENG_6_3_0_RELEASE:1.12
	RELENG_7_0:1.12.0.24
	RELENG_7_0_BP:1.12
	RELENG_6_3:1.12.0.22
	RELENG_6_3_BP:1.12
	RELENG_7:1.12.0.20
	RELENG_7_BP:1.12
	RELENG_6_2_0_RELEASE:1.12
	RELENG_6_2:1.12.0.18
	RELENG_6_2_BP:1.12
	RELENG_5_5_0_RELEASE:1.12
	RELENG_5_5:1.12.0.16
	RELENG_5_5_BP:1.12
	RELENG_6_1_0_RELEASE:1.12
	RELENG_6_1:1.12.0.14
	RELENG_6_1_BP:1.12
	RELENG_6_0_0_RELEASE:1.12
	RELENG_6_0:1.12.0.12
	RELENG_6_0_BP:1.12
	RELENG_6:1.12.0.10
	RELENG_6_BP:1.12
	RELENG_5_4_0_RELEASE:1.12
	RELENG_5_4:1.12.0.8
	RELENG_5_4_BP:1.12
	RELENG_5_3_0_RELEASE:1.12
	RELENG_5_3:1.12.0.6
	RELENG_5_3_BP:1.12
	RELENG_5:1.12.0.4
	RELENG_5_BP:1.12
	RELENG_5_2_1_RELEASE:1.12
	RELENG_5_2_0_RELEASE:1.12
	RELENG_5_2:1.12.0.2
	RELENG_5_2_BP:1.12
	RELENG_5_1_0_RELEASE:1.11
	RELENG_5_1:1.11.0.4
	RELENG_5_1_BP:1.11
	RELENG_5_0_0_RELEASE:1.11
	RELENG_5_0:1.11.0.2
	RELENG_5_0_BP:1.11
	PRE_SMPNG:1.2;
locks; strict;
comment	@# @;


1.18
date	2012.11.17.01.49.20;	author svnexp;	state Exp;
branches
	1.18.2.1;
next	1.17;

1.17
date	2012.04.20.21.00.39;	author dim;	state Exp;
branches;
next	1.16;

1.16
date	2011.01.13.20.44.31;	author dim;	state Exp;
branches
	1.16.2.1;
next	1.15;

1.15
date	2010.12.10.08.53.06;	author tijl;	state Exp;
branches;
next	1.14;

1.14
date	2010.03.05.13.29.05;	author uqs;	state Exp;
branches;
next	1.13;

1.13
date	2009.12.02.16.34.20;	author kib;	state Exp;
branches;
next	1.12;

1.12
date	2003.07.13.23.11.37;	author marcel;	state Exp;
branches
	1.12.10.1
	1.12.20.1
	1.12.26.1
	1.12.28.1
	1.12.30.1
	1.12.32.1;
next	1.11;

1.11
date	2002.07.29.09.40.11;	author ru;	state Exp;
branches;
next	1.10;

1.10
date	2002.05.13.15.27.58;	author ru;	state Exp;
branches;
next	1.9;

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

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

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

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

1.5
date	2002.03.29.22.43.41;	author markm;	state Exp;
branches;
next	1.4;

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

1.3
date	2000.10.28.21.26.48;	author obrien;	state Exp;
branches;
next	1.2;

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

1.1
date	2000.04.19.23.46.21;	author obrien;	state Exp;
branches;
next	;

1.18.2.1
date	2012.11.17.01.49.20;	author svnexp;	state dead;
branches;
next	1.18.2.2;

1.18.2.2
date	2013.03.28.13.02.56;	author svnexp;	state Exp;
branches;
next	;

1.16.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.16.2.1.2.1;
next	1.16.2.2;

1.16.2.2
date	2012.04.27.06.49.35;	author dim;	state Exp;
branches
	1.16.2.2.2.1;
next	1.16.2.3;

1.16.2.3
date	2012.11.17.11.36.15;	author svnexp;	state Exp;
branches;
next	;

1.16.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.16.2.1.2.2;

1.16.2.1.2.2
date	2012.11.17.08.36.15;	author svnexp;	state Exp;
branches;
next	;

1.16.2.2.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.16.2.2.2.2;

1.16.2.2.2.2
date	2012.11.17.08.47.05;	author svnexp;	state Exp;
branches;
next	;

1.12.10.1
date	2012.11.17.07.39.31;	author svnexp;	state Exp;
branches;
next	;

1.12.20.1
date	2010.01.19.20.19.52;	author kib;	state Exp;
branches
	1.12.20.1.2.1;
next	1.12.20.2;

1.12.20.2
date	2010.12.14.15.35.44;	author tijl;	state Exp;
branches
	1.12.20.2.2.1;
next	1.12.20.3;

1.12.20.3
date	2012.11.17.08.01.45;	author svnexp;	state Exp;
branches;
next	;

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

1.12.20.2.2.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.12.20.2.2.2;

1.12.20.2.2.2
date	2012.11.17.08.16.40;	author svnexp;	state Exp;
branches;
next	;

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

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

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

1.12.32.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.12.32.1.2.1;
next	1.12.32.2;

1.12.32.2
date	2009.12.27.20.39.58;	author kib;	state Exp;
branches
	1.12.32.2.2.1;
next	1.12.32.3;

1.12.32.3
date	2010.12.14.15.33.48;	author tijl;	state Exp;
branches
	1.12.32.3.2.1
	1.12.32.3.4.1;
next	1.12.32.4;

1.12.32.4
date	2012.11.17.10.36.01;	author svnexp;	state Exp;
branches;
next	;

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

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

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

1.12.32.3.4.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.12.32.3.4.2;

1.12.32.3.4.2
date	2012.11.17.08.24.41;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.18
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/lib/csu/ia64/Makefile 234502 2012-04-20 21:00:39Z dim $

.PATH: ${.CURDIR}/../common

SRCS=		crti.S crtn.S
OBJS=		${SRCS:N*.h:R:S/$/.o/g}
OBJS+=		crt1.o gcrt1.o Scrt1.o

all: ${OBJS}

CLEANFILES=	${OBJS}
CLEANFILES+=	crt1_.o gcrt1_.o Scrt1_.o
CLEANFILES+=	crtbrand.o gcrtbrand.o Scrtbrand.o
CLEANFILES+=	crtbrand.s gcrtbrand.s Scrtbrand.s

crt1_.o: crt1.S
	${CC} ${CFLAGS} -c -o ${.TARGET} ${.ALLSRC}

# See the comment in lib/csu/common/crtbrand.c for the reason crtbrand.c is not
# directly compiled to .o files.

crtbrand.s: crtbrand.c
	${CC} ${CFLAGS} -S -o ${.TARGET} ${.ALLSRC}
	sed -i "" -e '/\.note\.ABI-tag/s/progbits/note/' ${.TARGET}

crtbrand.o: crtbrand.s
	${CC} ${ACFLAGS} -c -o ${.TARGET} crtbrand.s

crt1.o: crt1_.o crtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} crt1_.o crtbrand.o

gcrt1_.o: crt1.S
	${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.ALLSRC}

gcrtbrand.s: crtbrand.c
	${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.ALLSRC}
	sed -i "" -e '/\.note\.ABI-tag/s/progbits/note/' ${.TARGET}

gcrtbrand.o: gcrtbrand.s
	${CC} ${ACFLAGS} -c -o ${.TARGET} gcrtbrand.s

gcrt1.o: gcrt1_.o gcrtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} ${.ALLSRC}

Scrt1_.o: crt1.S
	${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.ALLSRC}

Scrtbrand.s: crtbrand.c
	${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.ALLSRC}
	sed -i "" -e '/\.note\.ABI-tag/s/progbits/note/' ${.TARGET}

Scrtbrand.o: Scrtbrand.s
	${CC} ${ACFLAGS} -c -o ${.TARGET} Scrtbrand.s

Scrt1.o: Scrt1_.o Scrtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} ${.ALLSRC}

realinstall:
	${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
	    ${OBJS} ${DESTDIR}${LIBDIR}

.include <bsd.lib.mk>
@


1.18.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:02:56 +0000
@
text
@d1 62
@


1.18.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 47
# $FreeBSD: releng/8.4/lib/csu/ia64/Makefile 216433 2010-12-14 15:33:48Z tijl $

.PATH: ${.CURDIR}/../common

SRCS=		crti.S crtn.S
OBJS=		${SRCS:N*.h:R:S/$/.o/g}
OBJS+=		crt1.o gcrt1.o Scrt1.o
CFLAGS+=	-Wall -Wno-unused

all: ${OBJS}

CLEANFILES=	${OBJS}
CLEANFILES+=	crt1_.o gcrt1_.o Scrt1_.o
CLEANFILES+=	crtbrand.o gcrtbrand.o Scrtbrand.o

crt1_.o: crt1.S
	${CC} ${CFLAGS} -c -o ${.TARGET} ${.ALLSRC}

crtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -c -o ${.TARGET} ${.ALLSRC}

crt1.o: crt1_.o crtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} crt1_.o crtbrand.o

gcrt1_.o: crt1.S
	${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.ALLSRC}

gcrtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.ALLSRC}

gcrt1.o: gcrt1_.o gcrtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} ${.ALLSRC}

Scrt1_.o: crt1.S
	${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.ALLSRC}

Scrtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.ALLSRC}

Scrt1.o: Scrt1_.o Scrtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} ${.ALLSRC}

realinstall:
	${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
	    ${OBJS} ${DESTDIR}${LIBDIR}

.include <bsd.lib.mk>
@


1.17
log
@SVN rev 234502 on 2012-04-20 21:00:39Z by dim

After r217375, some startup objects under lib/csu are built in a special
way: first they are compiled to assembly, then some sed'ing is done on
the assembly, and lastly the assembly is compiled to an object file.

This last step is done using ${CC}, and not ${AS}, because when the
compiler is clang, it outputs directives that are too advanced for our
old gas.  So we use clang's integrated assembler instead.  (When the
compiler is gcc, it just calls gas, and nothing is different, except one
extra fork.)

However, in the .s to .o rules in lib/csu/$ARCH/Makefile, I still passed
CFLAGS to the compiler, instead of ACFLAGS, which are specifically for
compiling .s files.

In case you are using '-g' for debug info anywhere in your CFLAGS, it
causes the .s files to already contain debug information in the assembly
itself.  In the next step, the .s files are also compiled using '-g',
and if the compiler is clang, it complains: "error: input can't have
.file dwarf directives when -g is used to generate dwarf debug info for
assembly code".

Fix this by using ${ACFLAGS} for compiling the .s files instead.

Reported by:	jasone
MFC after:	1 week
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.16
log
@SVN rev 217375 on 2011-01-13 20:44:31Z by dim

Apply a workaround for a binutils issue with the .note.ABI-tag section
generated from lib/csu/common/crtbrand.c (which ultimately ends up in
executables and shared libraries, via crt1.o, gcrt1.o or Scrt1.o).

For all arches except sparc, gcc emits the section directive for the
abitag struct in crtbrand.c with a PROGBITS type.  However, newer
versions of binutils (after 2.16.90) require the section to be of NOTE
type, to guarantee that the .note.ABI-tag section correctly ends up in
the first page of the final executable.

Unfortunately, there is no clean way to tell gcc to use another section
type, so crtbrand.c (or the C files that include it) must be compiled in
multiple steps:

- Compile the .c file to a .s file.
- Edit the .s file to change the 'progbits' type to 'note', for the section
  directive that defines the .note.ABI-tag section.
- Compile the .s file to an object file.

These steps are done in the invididual Makefiles for each applicable arch.

Reviewed by:	kib
@
text
@d27 1
a27 1
	${CC} ${CFLAGS} -c -o ${.TARGET} crtbrand.s
d40 1
a40 1
	${CC} ${CFLAGS} -c -o ${.TARGET} gcrtbrand.s
d53 1
a53 1
	${CC} ${CFLAGS} -c -o ${.TARGET} Scrtbrand.s
@


1.16.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.16.2.2
log
@SVN rev 234726 on 2012-04-27 06:49:35Z by dim

MFC r234502:

After r217375, some startup objects under lib/csu are built in a special
way: first they are compiled to assembly, then some sed'ing is done on
the assembly, and lastly the assembly is compiled to an object file.

This last step is done using ${CC}, and not ${AS}, because when the
compiler is clang, it outputs directives that are too advanced for our
old gas.  So we use clang's integrated assembler instead.  (When the
compiler is gcc, it just calls gas, and nothing is different, except one
extra fork.)

However, in the .s to .o rules in lib/csu/$ARCH/Makefile, I still passed
CFLAGS to the compiler, instead of ACFLAGS, which are specifically for
compiling .s files.

In case you are using '-g' for debug info anywhere in your CFLAGS, it
causes the .s files to already contain debug information in the assembly
itself.  In the next step, the .s files are also compiled using '-g',
and if the compiler is clang, it complains: "error: input can't have
.file dwarf directives when -g is used to generate dwarf debug info for
assembly code".

Fix this by using ${ACFLAGS} for compiling the .s files instead.

Reported by:	jasone
@
text
@d27 1
a27 1
	${CC} ${ACFLAGS} -c -o ${.TARGET} crtbrand.s
d40 1
a40 1
	${CC} ${ACFLAGS} -c -o ${.TARGET} gcrtbrand.s
d53 1
a53 1
	${CC} ${ACFLAGS} -c -o ${.TARGET} Scrtbrand.s
@


1.16.2.3
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/lib/csu/ia64/Makefile 234726 2012-04-27 06:49:35Z dim $
@


1.16.2.2.2.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.16.2.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/lib/csu/ia64/Makefile 234726 2012-04-27 06:49:35Z dim $
@


1.16.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.16.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/lib/csu/ia64/Makefile 217375 2011-01-13 20:44:31Z dim $
@


1.15
log
@SVN rev 216351 on 2010-12-10 08:53:06Z by tijl

Add a .note.ABI-tag section to ia64 startup files by linking crtbrand.c
in crt1.o. On other architectures crtbrand.c is included from crt1.c,
but that's not a C source code file on ia64. Instead it is compiled
separately and included in crt1.o using incremental linking.

Tested by:	dim (previous version)
Approved by:	kib (mentor)
@
text
@d14 1
d19 9
a27 2
crtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -c -o ${.TARGET} ${.ALLSRC}
d35 6
a40 2
gcrtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.ALLSRC}
d48 6
a53 2
Scrtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.ALLSRC}
@


1.14
log
@SVN rev 204757 on 2010-03-05 13:29:05Z by uqs

Use default WARNS setting (of 6) for lib/csu.

PR:		bin/140089
Reviewed by:	jmallett
Approved by:	ed (co-mentor)
@
text
@d5 1
a5 1
SRCS=		crt1.S crti.S crtn.S
d7 1
a7 3
OBJS+=		Scrt1.o gcrt1.o
CFLAGS+=	-I${.CURDIR}/../common \
		-I${.CURDIR}/../../libc/include
d12 2
d15 2
a16 2
gcrt1.o: crt1.S
	${CC} ${CFLAGS} -DGCRT -c -o gcrt1.o ${.ALLSRC}
d18 23
a40 2
Scrt1.o: crt1.S
	${CC} ${CFLAGS} -fPIC -DPIC -c -o Scrt1.o ${.ALLSRC}
@


1.13
log
@SVN rev 200038 on 2009-12-02 16:34:20Z by kib

Properly support -fPIE by linking PIE binaries with specially-built
Scrt1.o instead of crt1.o, since the later is built as non-PIC.

Separate i386-elf crt1.c into the pure assembler part and C code,
supplying all data extracted by assembler stub as explicit parameters [1].
Hide and localize _start1 symbol used as an interface between asm and
C code.

In collaboration with:	kan
Inspired by:	PR i386/127387 [1]
Prodded and tested by:	rdivacky [1]
MFC after:	3 weeks
@
text
@d8 1
a8 2
CFLAGS+=	-Wall -Wno-unused \
		-I${.CURDIR}/../common \
@


1.12
log
@Rewite _start(). We cannot use a C function due to the fact that we
don't call it according to the runtime specification and especially
WRT to gp this can cause trouble. The gcc 3.3.1 import broke the
ia64 runtime because the compiler saved gp prior to us being able
to set it properly. Restoring gp after the calls would then invalidate
gp and cause segmentation faults later on.
By rewriting _start() as an assembly function, we also avoided even
more gcc dependences, by trying to use gcc specific features to work
around the problem.
This version of _start() does not reference _DYNAMIC. We register the
cleanup function when it's a non-NULL pointer. The kernel will always
pass a NULL pointer and dynamic linkers may pass a non-NULL pointer.

The machine independent code to set __progname now unfortunately is
written in assembly. So be it.
@
text
@d7 1
a7 1
OBJS+=		gcrt1.o
d19 3
@


1.12.10.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/lib/csu/ia64/Makefile 117531 2003-07-13 23:11:37Z marcel $
@


1.12.20.1
log
@SVN rev 202648 on 2010-01-19 20:19:52Z by kib

MFC r200038:
Properly support -fPIE by linking PIE binaries with specially-built
Scrt1.o instead of crt1.o.

Separate i386-elf crt1.c into the pure assembler part and C code.

Tested by:	Mykola Dzham <i levsha me>
@
text
@d7 1
a7 1
OBJS+=		Scrt1.o gcrt1.o
a18 3
Scrt1.o: crt1.S
	${CC} ${CFLAGS} -fPIC -DPIC -c -o Scrt1.o ${.ALLSRC}

@


1.12.20.2
log
@SVN rev 216435 on 2010-12-14 15:35:44Z by tijl

MFC r216351:

Add a .note.ABI-tag section to ia64 startup files by linking crtbrand.c
in crt1.o. On other architectures crtbrand.c is included from crt1.c,
but that's not a C source code file on ia64. Instead it is compiled
separately and included in crt1.o using incremental linking.

Approved by:	re (kensmith), kib (mentor)
@
text
@d5 1
a5 1
SRCS=		crti.S crtn.S
d7 4
a10 2
OBJS+=		crt1.o gcrt1.o Scrt1.o
CFLAGS+=	-Wall -Wno-unused
a14 2
CLEANFILES+=	crt1_.o gcrt1_.o Scrt1_.o
CLEANFILES+=	crtbrand.o gcrtbrand.o Scrtbrand.o
d16 2
a17 2
crt1_.o: crt1.S
	${CC} ${CFLAGS} -c -o ${.TARGET} ${.ALLSRC}
d19 2
a20 23
crtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -c -o ${.TARGET} ${.ALLSRC}

crt1.o: crt1_.o crtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} crt1_.o crtbrand.o

gcrt1_.o: crt1.S
	${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.ALLSRC}

gcrtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.ALLSRC}

gcrt1.o: gcrt1_.o gcrtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} ${.ALLSRC}

Scrt1_.o: crt1.S
	${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.ALLSRC}

Scrtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.ALLSRC}

Scrt1.o: Scrt1_.o Scrtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} ${.ALLSRC}
@


1.12.20.3
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/lib/csu/ia64/Makefile 216435 2010-12-14 15:35:44Z tijl $
@


1.12.20.2.2.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.12.20.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/lib/csu/ia64/Makefile 216435 2010-12-14 15:35:44Z tijl $
@


1.12.20.1.2.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.12.32.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.12.32.2
log
@SVN rev 201058 on 2009-12-27 20:39:58Z by kib

MFC r200038:
Properly support -fPIE by linking PIE binaries with specially-built
Scrt1.o instead of crt1.o, since the later is built as non-PIC.

Separate i386-elf crt1.c into the pure assembler part and C code,
supplying all data extracted by assembler stub as explicit parameters.
Hide and localize _start1 symbol used as an interface between asm and
C code.
@
text
@d7 1
a7 1
OBJS+=		Scrt1.o gcrt1.o
a18 3
Scrt1.o: crt1.S
	${CC} ${CFLAGS} -fPIC -DPIC -c -o Scrt1.o ${.ALLSRC}

@


1.12.32.3
log
@SVN rev 216433 on 2010-12-14 15:33:48Z by tijl

MFC r216351:

Add a .note.ABI-tag section to ia64 startup files by linking crtbrand.c
in crt1.o. On other architectures crtbrand.c is included from crt1.c,
but that's not a C source code file on ia64. Instead it is compiled
separately and included in crt1.o using incremental linking.

Approved by:	re (kensmith), kib (mentor)
@
text
@d5 1
a5 1
SRCS=		crti.S crtn.S
d7 4
a10 2
OBJS+=		crt1.o gcrt1.o Scrt1.o
CFLAGS+=	-Wall -Wno-unused
a14 2
CLEANFILES+=	crt1_.o gcrt1_.o Scrt1_.o
CLEANFILES+=	crtbrand.o gcrtbrand.o Scrtbrand.o
d16 2
a17 2
crt1_.o: crt1.S
	${CC} ${CFLAGS} -c -o ${.TARGET} ${.ALLSRC}
d19 2
a20 23
crtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -c -o ${.TARGET} ${.ALLSRC}

crt1.o: crt1_.o crtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} crt1_.o crtbrand.o

gcrt1_.o: crt1.S
	${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.ALLSRC}

gcrtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.ALLSRC}

gcrt1.o: gcrt1_.o gcrtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} ${.ALLSRC}

Scrt1_.o: crt1.S
	${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.ALLSRC}

Scrtbrand.o: crtbrand.c
	${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.ALLSRC}

Scrt1.o: Scrt1_.o Scrtbrand.o
	${LD} ${LDFLAGS} -r -o ${.TARGET} ${.ALLSRC}
@


1.12.32.4
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/lib/csu/ia64/Makefile 216433 2010-12-14 15:33:48Z tijl $
@


1.12.32.3.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.12.32.3.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/lib/csu/ia64/Makefile 216433 2010-12-14 15:33:48Z tijl $
@


1.12.32.3.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.12.32.2.2.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.12.32.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.12.30.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.12.28.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.12.26.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.11
log
@Drop support for COPY, -c has been the default mode of install(1)
for a long time now.

Approved by:	bde
@
text
@d5 1
a5 1
SRCS=		crt1.c crti.S crtn.S
d16 1
a16 1
gcrt1.o: crt1.c
@


1.10
log
@Fixed CLEANFILES after bsd.lib.mk sweep.
@
text
@d20 1
a20 1
	${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
@


1.9
log
@SOBJS are not used here for a long time, and were just
pessimising the `install'.
@
text
@d14 2
@


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
@d12 1
a12 1
all: ${OBJS} ${SOBJS}
a17 1
.for file in ${OBJS} ${SOBJS}
d19 1
a19 2
	    ${file} ${DESTDIR}${LIBDIR}/${file:S/.So$/S.o/}
.endfor
@


1.7
log
@Revert the last change.  The corresponding bsd.lib.mk changes were
already backed out.
@
text
@a10 4
NOMAN=		true
NOPIC=		true
NOPROFILE=	true
INTERNALLIB=	true
@


1.6
log
@Use the simpler NOMAN rather than NOMAN, NOPIC, NOPROFILE, INTERNALLIB.
@
text
@d11 4
a14 1
NOLIB=		true
@


1.5
log
@Do not use __progname directly (except in [gs]etprogname(3)).
Also, make an internal _getprogname() that is used only inside
libc. For libc, getprogname(3) is a weak symbol in case a
function of the same name is defined in userland.
@
text
@d11 1
a11 4
NOMAN=		true
NOPIC=		true
NOPROFILE=	true
INTERNALLIB=	true
@


1.4
log
@Update for reality and syncing with other FreeBSD platforms.
@
text
@d9 2
a10 1
		-I${.CURDIR}/../common
@


1.3
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: src/lib/csu/ia64/Makefile,v 1.2 2000/05/24 02:17:12 obrien Exp $
d5 2
a6 2
SRCS=		crt1.c crtbegin.c crtend.c
OBJS=		crt1.o crtbegin.o crtend.o
d8 2
a9 3
SOBJS=		crtbegin.So crtend.So
CFLAGS+=	-Wall -Wno-unused
CFLAGS+=	-I${.CURDIR}/../common
d17 1
a17 1
gcrt1.o:  crt1.c
@


1.2
log
@Use the new machine-independent versions of crtbegin and crtend
from the "common" directory.
@
text
@d1 1
a1 1
# $FreeBSD$
d10 1
@


1.1
log
@CSU source for IA-64.  Current we use the ../Alpha sources.
@
text
@a0 1
#
a1 1
#
d3 1
a3 1
.PATH: ${.CURDIR}/../alpha
d17 1
a17 1
gcrt1.o:	crt1.c
@

