head	1.49;
access;
symbols
	RELENG_8_4:1.49.0.2
	RELENG_9_1_0_RELEASE:1.48.2.1.4.2
	RELENG_9_1:1.48.2.1.0.4
	RELENG_9_1_BP:1.48.2.1
	RELENG_8_3_0_RELEASE:1.40.2.1.8.1
	RELENG_8_3:1.40.2.1.0.8
	RELENG_8_3_BP:1.40.2.1
	RELENG_9_0_0_RELEASE:1.48.2.1.2.1
	RELENG_9_0:1.48.2.1.0.2
	RELENG_9_0_BP:1.48.2.1
	RELENG_9:1.48.0.2
	RELENG_9_BP:1.48
	RELENG_7_4_0_RELEASE:1.28.2.1.6.1
	RELENG_8_2_0_RELEASE:1.40.2.1.6.1
	RELENG_7_4:1.28.2.1.0.6
	RELENG_7_4_BP:1.28.2.1
	RELENG_8_2:1.40.2.1.0.6
	RELENG_8_2_BP:1.40.2.1
	RELENG_8_1_0_RELEASE:1.40.2.1.4.1
	RELENG_8_1:1.40.2.1.0.4
	RELENG_8_1_BP:1.40.2.1
	RELENG_7_3_0_RELEASE:1.28.2.1.4.1
	RELENG_7_3:1.28.2.1.0.4
	RELENG_7_3_BP:1.28.2.1
	RELENG_8_0_0_RELEASE:1.40.2.1.2.1
	RELENG_8_0:1.40.2.1.0.2
	RELENG_8_0_BP:1.40.2.1
	RELENG_8:1.40.0.2
	RELENG_8_BP:1.40
	RELENG_7_2_0_RELEASE:1.28.2.1.2.1
	RELENG_7_2:1.28.2.1.0.2
	RELENG_7_2_BP:1.28.2.1
	RELENG_7_1_0_RELEASE:1.28.6.1
	RELENG_6_4_0_RELEASE:1.13.2.2.8.1
	RELENG_7_1:1.28.0.6
	RELENG_7_1_BP:1.28
	RELENG_6_4:1.13.2.2.0.8
	RELENG_6_4_BP:1.13.2.2
	RELENG_7_0_0_RELEASE:1.28
	RELENG_6_3_0_RELEASE:1.13.2.2
	RELENG_7_0:1.28.0.4
	RELENG_7_0_BP:1.28
	RELENG_6_3:1.13.2.2.0.6
	RELENG_6_3_BP:1.13.2.2
	RELENG_7:1.28.0.2
	RELENG_7_BP:1.28
	RELENG_6_2_0_RELEASE:1.13.2.2
	RELENG_6_2:1.13.2.2.0.4
	RELENG_6_2_BP:1.13.2.2
	RELENG_5_5_0_RELEASE:1.7.2.1
	RELENG_5_5:1.7.2.1.0.4
	RELENG_5_5_BP:1.7.2.1
	RELENG_6_1_0_RELEASE:1.13.2.2
	RELENG_6_1:1.13.2.2.0.2
	RELENG_6_1_BP:1.13.2.2
	RELENG_6_0_0_RELEASE:1.13.2.1
	RELENG_6_0:1.13.2.1.0.2
	RELENG_6_0_BP:1.13.2.1
	RELENG_6:1.13.0.2
	RELENG_6_BP:1.13
	RELENG_5_4_0_RELEASE:1.7.2.1
	RELENG_5_4:1.7.2.1.0.2
	RELENG_5_4_BP:1.7.2.1
	RELENG_5_3_0_RELEASE:1.7
	RELENG_5_3:1.7.0.4
	RELENG_5_3_BP:1.7
	RELENG_5:1.7.0.2
	RELENG_5_BP:1.7
	RELENG_5_2_1_RELEASE:1.6
	RELENG_5_2_0_RELEASE:1.6
	RELENG_5_2:1.6.0.2
	RELENG_5_2_BP:1.6
	RELENG_5_1_0_RELEASE:1.3
	RELENG_5_1:1.3.0.2
	RELENG_5_1_BP:1.3;
locks; strict;
comment	@# @;


1.49
date	2012.11.17.01.50.02;	author svnexp;	state Exp;
branches
	1.49.2.1;
next	1.48;

1.48
date	2010.10.08.01.53.33;	author davidxu;	state Exp;
branches
	1.48.2.1;
next	1.47;

1.47
date	2010.10.08.01.47.14;	author davidxu;	state Exp;
branches;
next	1.46;

1.46
date	2010.09.25.01.57.47;	author davidxu;	state Exp;
branches;
next	1.45;

1.45
date	2010.09.15.02.56.32;	author davidxu;	state Exp;
branches;
next	1.44;

1.44
date	2010.09.13.01.43.10;	author imp;	state Exp;
branches;
next	1.43;

1.43
date	2010.08.24.20.50.08;	author nwhitehorn;	state Exp;
branches;
next	1.42;

1.42
date	2009.11.28.14.34.28;	author kib;	state Exp;
branches;
next	1.41;

1.41
date	2009.11.26.14.01.14;	author kib;	state Exp;
branches;
next	1.40;

1.40
date	2009.03.31.02.50.18;	author davidxu;	state Exp;
branches
	1.40.2.1;
next	1.39;

1.39
date	2009.03.09.02.34.02;	author davidxu;	state Exp;
branches;
next	1.38;

1.38
date	2009.02.24.16.23.34;	author ru;	state Exp;
branches;
next	1.37;

1.37
date	2009.02.21.15.04.31;	author ru;	state Exp;
branches;
next	1.36;

1.36
date	2009.02.13.16.51.36;	author jkim;	state Exp;
branches;
next	1.35;

1.35
date	2008.06.25.21.33.28;	author ru;	state Exp;
branches;
next	1.34;

1.34
date	2008.03.29.17.44.38;	author ru;	state Exp;
branches;
next	1.33;

1.33
date	2008.03.25.13.28.12;	author ru;	state Exp;
branches;
next	1.32;

1.32
date	2008.02.06.20.25.00;	author des;	state Exp;
branches;
next	1.31;

1.31
date	2008.01.18.04.29.36;	author davidxu;	state Exp;
branches;
next	1.30;

1.30
date	2007.11.21.05.29.57;	author davidxu;	state Exp;
branches;
next	1.29;

1.29
date	2007.11.20.02.07.29;	author jb;	state Exp;
branches;
next	1.28;

1.28
date	2007.10.09.23.31.10;	author obrien;	state Exp;
branches
	1.28.2.1
	1.28.6.1;
next	1.27;

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

1.26
date	2007.06.08.02.21.13;	author davidxu;	state Exp;
branches;
next	1.25;

1.25
date	2007.05.21.02.49.07;	author deischen;	state Exp;
branches;
next	1.24;

1.24
date	2007.05.18.12.25.48;	author ru;	state Exp;
branches;
next	1.23;

1.23
date	2007.05.17.04.54.35;	author deischen;	state Exp;
branches;
next	1.22;

1.22
date	2007.05.13.14.12.39;	author deischen;	state Exp;
branches;
next	1.21;

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

1.20
date	2006.08.22.07.51.06;	author ru;	state Exp;
branches;
next	1.19;

1.19
date	2006.04.12.19.42.20;	author ru;	state Exp;
branches;
next	1.18;

1.18
date	2006.03.27.05.58.58;	author davidxu;	state Exp;
branches;
next	1.17;

1.17
date	2006.03.18.21.37.04;	author ru;	state Exp;
branches;
next	1.16;

1.16
date	2006.01.11.06.10.05;	author davidxu;	state Exp;
branches;
next	1.15;

1.15
date	2005.10.27.10.21.23;	author davidxu;	state Exp;
branches;
next	1.14;

1.14
date	2005.07.22.17.19.03;	author kensmith;	state Exp;
branches;
next	1.13;

1.13
date	2005.06.11.15.27.56;	author rwatson;	state Exp;
branches
	1.13.2.1;
next	1.12;

1.12
date	2005.04.23.02.48.58;	author davidxu;	state Exp;
branches;
next	1.11;

1.11
date	2005.04.12.03.00.28;	author davidxu;	state Exp;
branches;
next	1.10;

1.10
date	2005.04.06.13.48.11;	author davidxu;	state Exp;
branches;
next	1.9;

1.9
date	2005.04.02.01.19.56;	author davidxu;	state Exp;
branches;
next	1.8;

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

1.7
date	2004.08.15.21.51.18;	author dfr;	state Exp;
branches
	1.7.2.1;
next	1.6;

1.6
date	2003.09.27.23.27.19;	author marcel;	state Exp;
branches;
next	1.5;

1.5
date	2003.07.01.15.07.01;	author ru;	state Exp;
branches;
next	1.4;

1.4
date	2003.06.27.18.07.47;	author marcel;	state Exp;
branches;
next	1.3;

1.3
date	2003.05.23.09.48.20;	author mtm;	state Exp;
branches;
next	1.2;

1.2
date	2003.04.01.07.07.38;	author jeff;	state Exp;
branches;
next	1.1;

1.1
date	2003.04.01.03.46.28;	author jeff;	state Exp;
branches;
next	;

1.49.2.1
date	2012.11.17.01.50.02;	author svnexp;	state dead;
branches;
next	1.49.2.2;

1.49.2.2
date	2013.03.28.13.03.21;	author svnexp;	state Exp;
branches;
next	;

1.48.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.48.2.1.2.1
	1.48.2.1.4.1;
next	1.48.2.2;

1.48.2.2
date	2012.11.17.11.36.26;	author svnexp;	state Exp;
branches;
next	;

1.48.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.48.2.1.2.2;

1.48.2.1.2.2
date	2012.11.17.08.36.26;	author svnexp;	state Exp;
branches;
next	;

1.48.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.48.2.1.4.2;

1.48.2.1.4.2
date	2012.11.17.08.47.16;	author svnexp;	state Exp;
branches;
next	;

1.40.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.40.2.1.2.1
	1.40.2.1.4.1
	1.40.2.1.6.1
	1.40.2.1.8.1;
next	1.40.2.2;

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

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

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

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

1.40.2.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.40.2.1.8.2;

1.40.2.1.8.2
date	2012.11.17.08.24.51;	author svnexp;	state Exp;
branches;
next	;

1.28.2.1
date	2009.03.24.20.57.10;	author kib;	state Exp;
branches
	1.28.2.1.2.1
	1.28.2.1.4.1
	1.28.2.1.6.1;
next	1.28.2.2;

1.28.2.2
date	2012.11.17.08.03.01;	author svnexp;	state Exp;
branches;
next	;

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

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

1.28.2.1.6.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.28.2.1.6.2;

1.28.2.1.6.2
date	2012.11.17.08.16.50;	author svnexp;	state Exp;
branches;
next	;

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

1.13.2.1
date	2005.07.22.17.29.08;	author kensmith;	state Exp;
branches;
next	1.13.2.2;

1.13.2.2
date	2006.01.16.05.36.29;	author davidxu;	state Exp;
branches
	1.13.2.2.8.1;
next	1.13.2.3;

1.13.2.3
date	2012.11.17.07.40.38;	author svnexp;	state Exp;
branches;
next	;

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

1.7.2.1
date	2005.02.13.07.23.15;	author obrien;	state Exp;
branches;
next	;


desc
@@


1.49
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/lib/libthr/Makefile 213541 2010-10-08 01:53:33Z davidxu $
#
# All library objects contain FreeBSD revision strings by default; they may be
# excluded as a space-saving measure.  To produce a library that does
# not contain these strings, add -DSTRIP_FBSDID (see <sys/cdefs.h>) to CFLAGS
# below.  Note, there are no IDs for syscall stubs whose sources are generated.
# To included legacy CSRG sccsid strings, add -DLIBC_SCCS and -DSYSLIBC_SCCS
# (for system call stubs) to CFLAGS below.  -DSYSLIBC_SCCS affects just the
# system call stubs.

SHLIBDIR?= /lib

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

LIB=thr
SHLIB_MAJOR= 3
WARNS?=	3
CFLAGS+=-DPTHREAD_KERNEL
CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \
	-I${.CURDIR}/../../include
CFLAGS+=-I${.CURDIR}/arch/${MACHINE_CPUARCH}/include
CFLAGS+=-I${.CURDIR}/sys
CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf
CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_CPUARCH}
CFLAGS+=-I${.CURDIR}/../libthread_db
CFLAGS+=-Winline

.ifndef NO_THREAD_UNWIND_STACK
CFLAGS+=-fexceptions
CFLAGS+=-D_PTHREAD_FORCED_UNWIND
.endif

LDFLAGS+=-Wl,-znodelete

VERSION_DEF=${.CURDIR}/../libc/Versions.def
SYMBOL_MAPS=${.CURDIR}/pthread.map

MAN=	libthr.3

# enable extra internal consistancy checks
CFLAGS+=-D_PTHREADS_INVARIANTS
#CFLAGS+=-g

PRECIOUSLIB=

.PATH: ${.CURDIR}/arch/${MACHINE_CPUARCH}/${MACHINE_CPUARCH}

.include "${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc"
.include "${.CURDIR}/sys/Makefile.inc"
.include "${.CURDIR}/thread/Makefile.inc"

.if ${MK_INSTALLLIB} != "no"
SYMLINKS+=lib${LIB}.a ${LIBDIR}/libpthread.a
.endif
.if !defined(NO_PIC)
SYMLINKS+=lib${LIB}.so ${LIBDIR}/libpthread.so
.endif
.if ${MK_PROFILE} != "no"
SYMLINKS+=lib${LIB}_p.a ${LIBDIR}/libpthread_p.a
.endif

.if !defined(WITHOUT_SYSCALL_COMPAT)
CFLAGS+=-DSYSCALL_COMPAT
.endif

.include <bsd.lib.mk>
@


1.49.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:03:21 +0000
@
text
@d1 67
@


1.49.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 59
# $FreeBSD: releng/8.4/lib/libthr/Makefile 190585 2009-03-31 02:50:18Z davidxu $
#
# All library objects contain FreeBSD revision strings by default; they may be
# excluded as a space-saving measure.  To produce a library that does
# not contain these strings, add -DSTRIP_FBSDID (see <sys/cdefs.h>) to CFLAGS
# below.  Note, there are no IDs for syscall stubs whose sources are generated.
# To included legacy CSRG sccsid strings, add -DLIBC_SCCS and -DSYSLIBC_SCCS
# (for system call stubs) to CFLAGS below.  -DSYSLIBC_SCCS affects just the
# system call stubs.

SHLIBDIR?= /lib

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

LIB=thr
SHLIB_MAJOR= 3
WARNS?=	3
CFLAGS+=-DPTHREAD_KERNEL
CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \
	-I${.CURDIR}/../../include
CFLAGS+=-I${.CURDIR}/arch/${MACHINE_ARCH}/include
CFLAGS+=-I${.CURDIR}/sys
CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf
CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_ARCH}
CFLAGS+=-I${.CURDIR}/../libthread_db
CFLAGS+=-Winline
LDFLAGS+=-Wl,-znodelete

VERSION_DEF=${.CURDIR}/../libc/Versions.def
SYMBOL_MAPS=${.CURDIR}/pthread.map

MAN=	libthr.3

# enable extra internal consistancy checks
CFLAGS+=-D_PTHREADS_INVARIANTS
#CFLAGS+=-g

PRECIOUSLIB=

.include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc"
.include "${.CURDIR}/sys/Makefile.inc"
.include "${.CURDIR}/thread/Makefile.inc"

.if ${MK_INSTALLLIB} != "no"
SYMLINKS+=lib${LIB}.a ${LIBDIR}/libpthread.a
.endif
.if !defined(NO_PIC)
SYMLINKS+=lib${LIB}.so ${LIBDIR}/libpthread.so
.endif
.if ${MK_PROFILE} != "no"
SYMLINKS+=lib${LIB}_p.a ${LIBDIR}/libpthread_p.a
.endif

.if !defined(WITHOUT_SYSCALL_COMPAT)
CFLAGS+=-DSYSCALL_COMPAT
.endif

.include <bsd.lib.mk>
@


1.48
log
@SVN rev 213541 on 2010-10-08 01:53:33Z by davidxu

Oops, don't remove -fexceptions flag.
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.48.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.48.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/lib/libthr/Makefile 213541 2010-10-08 01:53:33Z davidxu $
@


1.48.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.48.2.1.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/lib/libthr/Makefile 213541 2010-10-08 01:53:33Z davidxu $
@


1.48.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.48.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/lib/libthr/Makefile 213541 2010-10-08 01:53:33Z davidxu $
@


1.47
log
@SVN rev 213539 on 2010-10-08 01:47:14Z by davidxu

unwind.h was imported, gcc directory is no longer needed.
@
text
@d30 1
@


1.46
log
@SVN rev 213153 on 2010-09-25 01:57:47Z by davidxu

To support stack unwinding for cancellation points, add -fexceptions flag
for them, two functions _pthread_cancel_enter and _pthread_cancel_leave
are added to let thread enter and leave a cancellation point, it also
makes it possible that other functions can be cancellation points in
libraries without having to be rewritten in libthr.
@
text
@a29 1
CFLAGS+=-I${.CURDIR}/../../contrib/gcc -fexceptions 
@


1.45
log
@SVN rev 212630 on 2010-09-15 02:56:32Z by davidxu

add code to support stack unwinding when thread exits. note that only
defer-mode cancellation works, asynchrnous mode does not work because
it lacks of libuwind's support. stack unwinding is not enabled unless
LIBTHR_UNWIND_STACK is defined in Makefile.
@
text
@d29 1
a29 3
LIBTHR_UNWIND_STACK=yes

.ifdef LIBTHR_UNWIND_STACK
@


1.44
log
@SVN rev 212516 on 2010-09-13 01:43:10Z by imp

Merge from tbemd, with a small amount of rework:
For all libthr contexts, use ${MACHINE_CPUARCH}
for all libc contexts, use ${MACHINE_ARCH} if it exists, otherwise use
${MACHINE_CPUARCH}
Move some common code up a layer (the .PATH statement was the same in
all the arch submakefiles).

# Hope she hasn't busted powerpc64 with this...
@
text
@d28 8
@


1.43
log
@SVN rev 211773 on 2010-08-24 20:50:08Z by nwhitehorn

Unify 32-bit and 64-bit PowerPC libthr support. This reduces code
duplication, and simplifies the TBEMD import.

Requested by:	imp
@
text
@d25 1
a25 1
CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_ARCH}
d41 2
@


1.42
log
@SVN rev 199878 on 2009-11-28 14:34:28Z by kib

Revert r199830 for now. Too many ports dlopen() libraries linked with
libthr, but forgot to link main binary with it.
@
text
@d22 1
a22 1
CFLAGS+=-I${.CURDIR}/arch/${MACHINE_ARCH}/include
d41 1
a41 1
.include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc"
@


1.41
log
@SVN rev 199830 on 2009-11-26 14:01:14Z by kib

Libthr cannot be dynamically loaded into the running process.
Mark it with -z nodlopen for now.

Discussed with:	jhb, kan
MFC after:	3 weeks
@
text
@d28 1
a28 1
LDFLAGS+=-Wl,-znodelete -Wl,-znodlopen
@


1.40
log
@SVN rev 190585 on 2009-03-31 02:50:18Z by davidxu

Turn on nodelete linker flag because libthr can not be unloaded safely,
it does hook on to libc.
@
text
@d28 1
a28 1
LDFLAGS+=-Wl,-znodelete
@


1.40.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.40.2.2
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/libthr/Makefile 190585 2009-03-31 02:50:18Z davidxu $
@


1.40.2.1.8.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.40.2.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/lib/libthr/Makefile 190585 2009-03-31 02:50:18Z davidxu $
@


1.40.2.1.6.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.40.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.40.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.39
log
@SVN rev 189549 on 2009-03-09 02:34:02Z by davidxu

Don't reference non-existent __fcntl_compat if WITHOUT_SYSCALL_COMPAT is defined.

Submitted by:	Pawel Worach "pawel dot worach at gmail dot com"
@
text
@d28 1
@


1.38
log
@SVN rev 188997 on 2009-02-24 16:23:34Z by ru

With only one threading library, simplify the logic of setting SHLIBDIR.
@
text
@d54 4
@


1.37
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
@d11 2
a15 4
.if ${SHLIBDIR} == "/usr/lib"
SHLIBDIR= /lib
.endif

@


1.36
log
@SVN rev 188583 on 2009-02-13 16:51:36Z by jkim

Honor WITHOUT_INSTALLLIB in some places.
@
text
@a10 2
WITHOUT_SSP=

d12 1
@


1.35
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
@d47 1
d49 1
@


1.34
log
@Remove options MK_LIBKSE and DEFAULT_THREAD_LIB now that we no longer
build libkse.  This should fix WITHOUT_LIBTHR builds as a side effect.
@
text
@d11 2
@


1.33
log
@Compile libthr with warnings.
@
text
@d13 1
a13 2
.if (${DEFAULT_THREAD_LIB} == "libthr" || ${MK_LIBKSE} == "no") && \
    ${SHLIBDIR} == "/usr/lib"
a44 1
.if ${DEFAULT_THREAD_LIB} == "libthr" || ${MK_LIBKSE} == "no"
a51 1
.endif
@


1.32
log
@Convert pthread.map to the format expected by version_gen.awk, and modify
the Makefile accordingly; libthr now explicitly uses libc's Versions.def.

MFC after:	2 weeks
@
text
@d20 1
@


1.31
log
@SYSTEM_SCOPE_ONLY flag is no longer needed, it is the only mode libthr
supports.
@
text
@d30 2
a31 1
VERSION_MAP=${.CURDIR}/pthread.map
@


1.30
log
@Remove warning level and aliasing restrictions.
@
text
@a29 2
# CFLAGS+=-DSYSTEM_SCOPE_ONLY

@


1.29
log
@These are the things that the tinderbox has problems with because it
doesn't use the default CFLAGS which contain -fno-strict-aliasing.

Until the code is cleaned up, just add -fno-strict-aliasing to the
CFLAGS of these for the tinderboxes' sake, allowing the rest of the
tree to have -Werror enabled again.
@
text
@a19 1
WARNS?= 2
a28 1
CFLAGS+=-fno-strict-aliasing
@


1.28
log
@Tweak the handling of "WITHOUT_LIBPTHREAD".  Also remove the accidental
treatment of 'LIBKSE' as an "old style" knob.

Submitted by:	ru
Approved by:	re(kensmith)
@
text
@d30 1
@


1.28.2.1
log
@SVN rev 190393 on 2009-03-24 20:57:10Z by kib

Mostly synchronize  lib/libthr and sys/kern/kern_umtx.c with the code
from HEAD.

Since libkse is still built on RELENG_7, pthread_cleanup_push/pop
are left as the functions, but the support code in libthr is present for
the macro versions.

Malloc in RELENG_7 does not require thread exit hook, but I decided
to add empty handler for it, instead of removing callback from thr_exit().

No mergeinfo since this change is prepared by patching libthr and then
bringing in required missed bits.

Requested by:	bms
Reviewed by:	davidxu
Tested by:	bms, Mykola Dzham <i levsha org ua>
Approved by:	re (kensmith)
@
text
@a11 1
MK_SSP=	no
d20 1
a20 1
WARNS?=	3
d31 3
a33 2
VERSION_DEF=${.CURDIR}/../libc/Versions.def
SYMBOL_MAPS=${.CURDIR}/pthread.map
a56 4
.if !defined(WITHOUT_SYSCALL_COMPAT)
CFLAGS+=-DSYSCALL_COMPAT
.endif

@


1.28.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/lib/libthr/Makefile 190393 2009-03-24 20:57:10Z kib $
@


1.28.2.1.6.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.28.2.1.6.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/lib/libthr/Makefile 190393 2009-03-24 20:57:10Z kib $
@


1.28.2.1.4.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.28.2.1.2.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.28.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.27
log
@Always install libpthread.* symlinks if at least one of
the threading libraries is built.  This simplifies the
logic in makefiles that need to check if the pthreads
support is present.  It also fixes a bug where we would
build a threading library that we shouldn't have built:
for example, building with WITHOUT_LIBTHR and the default
value of DEFAULT_THREADING_LIB (libthr) would mistakenly
build the libthr library, but not install it.

Approved by:	re (kensmith)
@
text
@d13 1
a13 1
.if (${DEFAULT_THREAD_LIB} == "libthr" || ${MK_LIBPTHREAD} == "no") && \
d47 1
a47 1
.if ${DEFAULT_THREAD_LIB} == "libthr" || ${MK_LIBPTHREAD} == "no"
@


1.26
log
@Set warning level to 2.
@
text
@d13 2
a14 1
.if ${DEFAULT_THREAD_LIB} == "libthr" && ${SHLIBDIR} == "/usr/lib"
d47 1
a47 1
.if ${DEFAULT_THREAD_LIB} == "libthr"
@


1.25
log
@Bump library versions in preparation for 7.0.

Ok'd by:	kan
@
text
@d19 1
d37 1
a37 1
CFLAGS+=-D_PTHREADS_INVARIANTS -Wall
@


1.24
log
@Fix a logic bug I re-introduced in my patch I sent to Daniel
that would cause the selected shared threading library to be
overwritten with its 32-bit version on amd64.

PR:		amd64/112509
@
text
@d18 1
a18 1
SHLIB_MAJOR= 2
@


1.23
log
@Allow DEFAULT_THREAD_LIB to be set from /etc/src.conf.

Submitted by:	ru
@
text
@d13 1
a13 1
.if ${DEFAULT_THREAD_LIB} == "libthr"
@


1.22
log
@Enable symbol versioning by default.  Use WITHOUT_SYMVER to disable it.
Warning, after symbol versioning is enabled, going back is not easy
(use WITHOUT_SYMVER at your own risk).

Change the default thread library to libthr.

There most likely still needs to be a version bump for at least the
thread libraries.  If necessary, this will happen later.
@
text
@d11 4
a14 2
.if !defined(DEFAULT_THREAD_LIB) || (${DEFAULT_THREAD_LIB} == "libthr")
SHLIBDIR?= /lib
a16 2
.include <bsd.own.mk>

@


1.21
log
@- When building world WITHOUT_LIBPTHREAD, link libthr to libpthread.
- Don't build ngctl(8) and cached(8) if threading libs aren't built.
- Fix various issues in a cached(8) makefile.
@
text
@d11 4
a16 4
.if ${MACHINE_ARCH} == "sparc64" || ${MK_LIBPTHREAD} == "no"
SHLIBDIR= /lib
.endif

d31 1
a31 1
LDFLAGS= -Wl,--version-script=${.CURDIR}/pthread.map
d45 1
a45 1
.if ${MACHINE_ARCH} == "sparc64" || ${MK_LIBPTHREAD} == "no"
@


1.20
log
@Remove alpha left-overs.
@
text
@d11 4
a14 2
.if ${MACHINE_ARCH} == "sparc64"
SHLIBDIR?= /lib
a16 2
.include <bsd.own.mk>

d45 1
a45 1
.if ${MACHINE_ARCH} == "sparc64"
@


1.19
log
@Install shared libpthread library into /lib; needed by some
/sbin programs.
@
text
@d11 1
a11 1
.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "sparc64"
d45 1
a45 1
.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "sparc64"
@


1.18
log
@Comment out -g compiler option, found by 'FreeBSD Build Options Survey'.
@
text
@d11 4
d48 1
a48 1
SYMLINKS+=lib${LIB}.so ${SHLIBDIR}/libpthread.so
@


1.17
log
@Convert NO_PROFILE and NO_LIB32 to new style.
@
text
@d33 1
a33 1
CFLAGS+=-g
@


1.16
log
@The thr_new sysscall was already in libc, don't generate it.
@
text
@d10 3
d46 1
a46 1
.if !defined(NO_PROFILE)
@


1.15
log
@Link libthr to libpthread on Alpha and Sparc.
@
text
@a34 1
.include "${.CURDIR}/support/Makefile.inc"
@


1.14
log
@Bump the shared library version number of all libraries that have not
been bumped since RELENG_5.

Reviewed by:	ru
Approved by:	re (not needed for commit check but in principle...)
@
text
@d39 10
@


1.13
log
@Add a stub libthr(3) man page to document what it is and why, as well as
to point at libmap.conf(5).  This will help answer questions about what
and why it is, although not in great detail.

Approved by:	re (scottl)
MFC after:	1 week
MFC note:	When MFC'd, don't MFC mention of work not yet MFC'd.
@
text
@d11 1
a11 1
SHLIB_MAJOR= 1
@


1.13.2.1
log
@Insta-MFC of the shared library version bump.  All shared libraries
whose version has not already been bumped since RELENG_5 are being
bumped.

Revisions of files being MFC-ed:

> Path						Revision
> src/gnu/lib/libdialog/Makefile		1.43
> src/gnu/lib/libg2c/Makefile			1.16
> src/gnu/lib/libobjc/Makefile			1.27
> src/gnu/lib/libreadline/Makefile.inc		1.12
> src/gnu/lib/libregex/Makefile			1.32
> src/gnu/lib/libstdc++/Makefile		1.56
> src/kerberos5/lib/Makefile.inc		1.7
> src/lib/Makefile.inc				1.3
> src/lib/libalias/Makefile			1.31
> src/lib/libarchive/Makefile			1.37
> src/lib/libbegemot/Makefile			1.3
> src/lib/libbluetooth/Makefile			1.2
> src/lib/libbsnmp/Makefile.inc			1.6
> src/lib/libbz2/Makefile			1.6
> src/lib/libc_r/Makefile			1.42
> src/lib/libcrypt/Makefile			1.36
> src/lib/libdevstat/Makefile			1.15
> src/lib/libdevstat/devstat.h			1.11
> src/lib/libedit/Makefile			1.29
> src/lib/libexpat/Makefile			1.5
> src/lib/libfetch/Makefile			1.45
> src/lib/libftpio/Makefile			1.14
> src/lib/libgpib/Makefile			1.2
> src/lib/libipsec/Makefile			1.17
> src/lib/libkiconv/Makefile			1.3
> src/lib/libmagic/Makefile			1.7
> src/lib/libmp/Makefile			1.10
> src/lib/libncp/Makefile			1.6
> src/lib/libncurses/Makefile			1.79
> src/lib/libnetgraph/Makefile			1.11
> src/lib/libngatm/Makefile			1.6
> src/lib/libopie/Makefile			1.21
> src/lib/libpam/Makefile.inc			1.17
> src/lib/libpthread/Makefile			1.54
> src/lib/libradius/Makefile			1.12
> src/lib/libsdp/Makefile			1.4
> src/lib/libsmb/Makefile			1.8
> src/lib/libtacplus/Makefile			1.7
> src/lib/libthr/Makefile			1.14
> src/lib/libthread_db/Makefile			1.6
> src/lib/libugidfw/Makefile			1.7
> src/lib/libusbhid/Makefile			1.10
> src/lib/libutil/Makefile			1.57
> src/lib/libvgl/Makefile			1.11
> src/lib/libwrap/Makefile			1.17
> src/lib/libypclnt/Makefile			1.13
> src/lib/msun/Makefile				1.72
> src/secure/lib/libcrypto/Makefile		1.74
> src/secure/lib/libssh/Makefile		1.35
> src/secure/lib/libssl/Makefile		1.22
> src/usr.sbin/bsnmpd/modules/Makefile.inc	1.10

Reviewed by:	ru
Approved by:	re (scottl)
@
text
@d11 1
a11 1
SHLIB_MAJOR= 2
@


1.13.2.2
log
@MFC:
	Sync with HEAD.
@
text
@d35 1
@


1.13.2.3
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/lib/libthr/Makefile 154423 2006-01-16 05:36:30Z davidxu $
@


1.13.2.2.8.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.12
log
@Use thr_new syscall to create a new thread, obscure context operations
is no longer needed.
@
text
@d26 2
@


1.11
log
@Add debugger event reporting support, current only TD_CREATE and TD_DEATH
events are reported.
@
text
@d33 1
@


1.10
log
@Remove debug symbol from installed library, one can always
use compiled version in libthr directory.
@
text
@d19 1
@


1.9
log
@Import my recent 1:1 threading working. some features improved includes:
 1. fast simple type mutex.
 2. __thread tls works.
 3. asynchronous cancellation works ( using signal ).
 4. thread synchronization is fully based on umtx, mainly, condition
    variable and other synchronization objects were rewritten by using
    umtx directly. those objects can be shared between processes via
    shared memory, it has to change ABI which does not happen yet.
 5. default stack size is increased to 1M on 32 bits platform, 2M for
    64 bits platform.
As the result, some mysql super-smack benchmarks show performance is
improved massivly.

Okayed by: jeff, mtm, rwatson, scottl
@
text
@a11 1
DEBUG_FLAGS=-g
d27 1
@


1.8
log
@For variables that are only checked with defined(), don't provide
any fake value.
@
text
@d13 1
a13 1
CFLAGS+=-DPTHREAD_KERNEL -D_THREAD_SAFE 
d16 2
d19 6
d27 1
a27 1
CFLAGS+=-D_PTHREADS_INVARIANTS
d31 2
a32 2
WARNS?=	2

a33 2
.include "${.CURDIR}/sys/Makefile.inc"
.include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc"
@


1.7
log
@Add rtld-elf to the include path for the rtld to pthread TLS interface.
@
text
@d21 1
a21 1
PRECIOUSLIB=	yes
@


1.7.2.1
log
@MFC: For variables that are only checked with defined(), don't provide
     any fake value.
@
text
@d21 1
a21 1
PRECIOUSLIB=
@


1.6
log
@Relink libc_r.a, libc_r.so and libc_r_p.so from libthr to libkse.
On ia64, where there's no libc_r at all, libkse is now the default
thread library by virtue of these links.

The reasons for this change are:
1. libkse is slated to become the default thread library anyway,
2. active development and maintenance is only present for libkse,
3. GNOME and KDE, both in the process of being supported on ia64,
   work better with KSE; even on ia64.
@
text
@d16 1
@


1.5
log
@Axe AINC.

Submitted by:	bde
@
text
@a27 12
.if !defined(NOLIBC_R)
.if ${MACHINE_ARCH} == "ia64"
SYMLINKS+=libthr.a ${LIBDIR}/libc_r.a
.if !defined(NOPIC)
SYMLINKS+=libthr.so ${SHLIBDIR}/libc_r.so
.endif
.if !defined(NOPROFILE)
SYMLINKS+=libthr_p.a ${LIBDIR}/libc_r_p.a
.endif
.endif
.endif

@


1.4
log
@Create compatibility links for libc_r on ia64 to prevent build-time
breakages. Note that runtime compatibility is not guaranteed. Future
changes to setjmp/longjmp in libc will break threaded applications
linked against libc_r.so.5 on ia64. We pull our "tier 2" card once
more...

Reviewed by: ru
@
text
@a19 1
AINC=	-I${.CURDIR}/../libc/${MACHINE_ARCH} -I${.CURDIR}/thread
@


1.3
log
@Make WARNS2 clean. The fixes mostly included:
	o removed unused variables
	o explicit inclusion of header files
	o prototypes for externally defined functions

Approved by:    re/blanket libthr
@
text
@d29 12
@


1.2
log
@ - Adjust the makefiles so we have a per architecture makefile.
@
text
@d23 2
@


1.1
log
@ - Add libthr but don't hook it up to the regular build yet.  This is an
   adaptation of libc_r for the thr system call interface.  This is beta
   quality code.
@
text
@d25 1
@

