xref: /titanic_52/usr/src/lib/libc/i386/Makefile.com (revision 9a4a12bd7ce60cd60eae508b25eb7a8dae765274)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
57c4dcc55Scasper# Common Development and Distribution License (the "License").
67c4dcc55Scasper# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
217c478bd9Sstevel@tonic-gate#
22cd3e9333SAli Bahrami# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
23dcdfe824SRobert Mustacchi# Copyright 2016 Joyent, Inc.
245dbfd19aSTheo Schlossnagle# Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
252d08521bSGarrett D'Amore# Copyright 2013 Garrett D'Amore <garrett@damore.org>
267c478bd9Sstevel@tonic-gate#
27475b496bSGarrett D'Amore# Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
284297a3b0SGarrett D'Amore# Use is subject to license terms.
294297a3b0SGarrett D'Amore#
307c478bd9Sstevel@tonic-gate
311e49577aSRod EvansLIBCDIR=	$(SRC)/lib/libc
327c478bd9Sstevel@tonic-gateLIB_PIC=	libc_pic.a
337c478bd9Sstevel@tonic-gateVERS=		.1
347c478bd9Sstevel@tonic-gateCPP=		/usr/lib/cpp
357c478bd9Sstevel@tonic-gateTARGET_ARCH=	i386
367c478bd9Sstevel@tonic-gate
37263f549eSPatrick Mooney# include comm page definitions
38263f549eSPatrick Mooneyinclude $(SRC)/lib/commpage/Makefile.shared.com
39263f549eSPatrick Mooneyinclude $(SRC)/lib/commpage/Makefile.shared.targ
40263f549eSPatrick Mooney
4160c80770ScraigmVALUES=		values-Xa.o
427c478bd9Sstevel@tonic-gate
437c478bd9Sstevel@tonic-gate# objects are grouped by source directory
447c478bd9Sstevel@tonic-gate
457c478bd9Sstevel@tonic-gate# local objects
467c478bd9Sstevel@tonic-gateSTRETS=
477c478bd9Sstevel@tonic-gate
487c478bd9Sstevel@tonic-gateCRTOBJS=			\
497c478bd9Sstevel@tonic-gate	cerror.o		\
507c478bd9Sstevel@tonic-gate	cerror64.o
517c478bd9Sstevel@tonic-gate
52a574db85SrafDYNOBJS=			\
53a574db85Sraf	_rtbootld.o
547c478bd9Sstevel@tonic-gate
557c478bd9Sstevel@tonic-gateFPOBJS=				\
567c478bd9Sstevel@tonic-gate	_D_cplx_div.o		\
577c478bd9Sstevel@tonic-gate	_D_cplx_div_ix.o	\
587c478bd9Sstevel@tonic-gate	_D_cplx_div_rx.o	\
597c478bd9Sstevel@tonic-gate	_D_cplx_lr_div.o	\
607c478bd9Sstevel@tonic-gate	_D_cplx_lr_div_ix.o	\
617c478bd9Sstevel@tonic-gate	_D_cplx_lr_div_rx.o	\
627c478bd9Sstevel@tonic-gate	_D_cplx_mul.o		\
637c478bd9Sstevel@tonic-gate	_F_cplx_div.o		\
647c478bd9Sstevel@tonic-gate	_F_cplx_div_ix.o	\
657c478bd9Sstevel@tonic-gate	_F_cplx_div_rx.o	\
667c478bd9Sstevel@tonic-gate	_F_cplx_lr_div.o	\
677c478bd9Sstevel@tonic-gate	_F_cplx_lr_div_ix.o	\
687c478bd9Sstevel@tonic-gate	_F_cplx_lr_div_rx.o	\
697c478bd9Sstevel@tonic-gate	_F_cplx_mul.o		\
707c478bd9Sstevel@tonic-gate	_X_cplx_div.o		\
717c478bd9Sstevel@tonic-gate	_X_cplx_div_ix.o	\
727c478bd9Sstevel@tonic-gate	_X_cplx_div_rx.o	\
737c478bd9Sstevel@tonic-gate	_X_cplx_lr_div.o	\
747c478bd9Sstevel@tonic-gate	_X_cplx_lr_div_ix.o	\
757c478bd9Sstevel@tonic-gate	_X_cplx_lr_div_rx.o	\
767c478bd9Sstevel@tonic-gate	_X_cplx_mul.o		\
777c478bd9Sstevel@tonic-gate	fpgetmask.o		\
787c478bd9Sstevel@tonic-gate	fpgetround.o		\
797c478bd9Sstevel@tonic-gate	fpgetsticky.o		\
807c478bd9Sstevel@tonic-gate	fpsetmask.o		\
817c478bd9Sstevel@tonic-gate	fpsetround.o		\
827c478bd9Sstevel@tonic-gate	fpsetsticky.o		\
835a172a1eSDan McDonald	fpstart.o		\
845a172a1eSDan McDonald	ieee.o
857c478bd9Sstevel@tonic-gate
867c478bd9Sstevel@tonic-gateFPASMOBJS=			\
877c478bd9Sstevel@tonic-gate	__xgetRD.o		\
885a172a1eSDan McDonald	_base_il.o		\
897c478bd9Sstevel@tonic-gate	_xtoll.o		\
907c478bd9Sstevel@tonic-gate	_xtoull.o		\
917c478bd9Sstevel@tonic-gate	fpcw.o
927c478bd9Sstevel@tonic-gate
937c478bd9Sstevel@tonic-gateATOMICOBJS=			\
947c478bd9Sstevel@tonic-gate	atomic.o
957c478bd9Sstevel@tonic-gate
969d12795fSRobert MustacchiCHACHAOBJS=			\
979d12795fSRobert Mustacchi	chacha.o
989d12795fSRobert Mustacchi
99da6c28aaSamwXATTROBJS=			\
100da6c28aaSamw	xattr_common.o
101da6c28aaSamw
1027c478bd9Sstevel@tonic-gateCOMOBJS=			\
1037c478bd9Sstevel@tonic-gate	bcmp.o			\
1047c478bd9Sstevel@tonic-gate	bcopy.o			\
1057c478bd9Sstevel@tonic-gate	bsearch.o		\
1067c478bd9Sstevel@tonic-gate	bzero.o			\
1077c478bd9Sstevel@tonic-gate	qsort.o			\
1087c478bd9Sstevel@tonic-gate	strtol.o		\
1092ef9abdcSjv227347	strtoul.o		\
1102ef9abdcSjv227347	strtoll.o		\
1112ef9abdcSjv227347	strtoull.o
1127c478bd9Sstevel@tonic-gate
113e127a3e7SrafDTRACEOBJS=			\
114e127a3e7Sraf	dtrace_data.o
115e127a3e7Sraf
1167c478bd9Sstevel@tonic-gateGENOBJS=			\
117263f549eSPatrick Mooney	$(COMMPAGE_OBJS)	\
1187c478bd9Sstevel@tonic-gate	_div64.o		\
1190ec57554Sraf	_divdi3.o		\
1207c478bd9Sstevel@tonic-gate	_getsp.o		\
1217c478bd9Sstevel@tonic-gate	_mul64.o		\
1227c478bd9Sstevel@tonic-gate	abs.o			\
1237c478bd9Sstevel@tonic-gate	alloca.o		\
1249d12795fSRobert Mustacchi	arc4random.o		\
1259d12795fSRobert Mustacchi	arc4random_uniform.o	\
1267c478bd9Sstevel@tonic-gate	byteorder.o		\
1274b56a003SDaniel Anderson	byteorder64.o		\
1287c478bd9Sstevel@tonic-gate	cuexit.o		\
1297c478bd9Sstevel@tonic-gate	ecvt.o			\
1303b4b8bdaSRobert Mustacchi	endian.o		\
1317c478bd9Sstevel@tonic-gate	errlst.o		\
1327c478bd9Sstevel@tonic-gate	i386_data.o		\
1337c478bd9Sstevel@tonic-gate	ladd.o			\
1347c478bd9Sstevel@tonic-gate	ldivide.o		\
1357c478bd9Sstevel@tonic-gate	lmul.o			\
1367c478bd9Sstevel@tonic-gate	lock.o			\
1377c478bd9Sstevel@tonic-gate	lshiftl.o		\
1387c478bd9Sstevel@tonic-gate	lsign.o			\
1397c478bd9Sstevel@tonic-gate	lsub.o			\
1407c478bd9Sstevel@tonic-gate	makectxt.o		\
1417c478bd9Sstevel@tonic-gate	memccpy.o		\
1427c478bd9Sstevel@tonic-gate	memchr.o		\
1437c478bd9Sstevel@tonic-gate	memcmp.o		\
1447c478bd9Sstevel@tonic-gate	memcpy.o		\
1457c478bd9Sstevel@tonic-gate	memset.o		\
1467c478bd9Sstevel@tonic-gate	new_list.o		\
1477c478bd9Sstevel@tonic-gate	setjmp.o		\
1487c478bd9Sstevel@tonic-gate	siginfolst.o		\
1497c478bd9Sstevel@tonic-gate	siglongjmp.o		\
1507c478bd9Sstevel@tonic-gate	strcat.o		\
1517c478bd9Sstevel@tonic-gate	strchr.o		\
1527c478bd9Sstevel@tonic-gate	strcmp.o		\
1537c478bd9Sstevel@tonic-gate	strcpy.o		\
1547c478bd9Sstevel@tonic-gate	strlen.o		\
1557c478bd9Sstevel@tonic-gate	strncat.o		\
1567c478bd9Sstevel@tonic-gate	strncmp.o		\
1577c478bd9Sstevel@tonic-gate	strncpy.o		\
158adecd3c6Sdg199075	strnlen.o		\
1597c478bd9Sstevel@tonic-gate	strrchr.o		\
1607c478bd9Sstevel@tonic-gate	sync_instruction_memory.o
1617c478bd9Sstevel@tonic-gate
1627c478bd9Sstevel@tonic-gate# sysobjs that contain large-file interfaces
1637c478bd9Sstevel@tonic-gateCOMSYSOBJS64=			\
1647c478bd9Sstevel@tonic-gate	fstatvfs64.o		\
1657c478bd9Sstevel@tonic-gate	getdents64.o		\
1667c478bd9Sstevel@tonic-gate	getrlimit64.o		\
1677c478bd9Sstevel@tonic-gate	lseek64.o		\
168c242ec1bSRoger A. Faulkner	mmap64.o		\
1697c478bd9Sstevel@tonic-gate	pread64.o		\
170fca543caSDJ Hoffman	preadv64.o		\
1717c478bd9Sstevel@tonic-gate	pwrite64.o		\
172fca543caSDJ Hoffman	pwritev64.o		\
1737c478bd9Sstevel@tonic-gate	setrlimit64.o		\
1747c478bd9Sstevel@tonic-gate	statvfs64.o
1757c478bd9Sstevel@tonic-gate
17609ce0d4aSRoger A. FaulknerSYSOBJS64=
1777c478bd9Sstevel@tonic-gate
1787c478bd9Sstevel@tonic-gateCOMSYSOBJS=			\
1797c478bd9Sstevel@tonic-gate	__clock_timer.o		\
1807c478bd9Sstevel@tonic-gate	__getloadavg.o		\
1817c478bd9Sstevel@tonic-gate	__rusagesys.o		\
1827c478bd9Sstevel@tonic-gate	__signotify.o		\
1837c478bd9Sstevel@tonic-gate	__sigrt.o		\
1847c478bd9Sstevel@tonic-gate	__time.o		\
1857c478bd9Sstevel@tonic-gate	_lgrp_home_fast.o	\
1867c478bd9Sstevel@tonic-gate	_lgrpsys.o		\
1877c478bd9Sstevel@tonic-gate	_nfssys.o		\
1887c478bd9Sstevel@tonic-gate	_portfs.o		\
1897c478bd9Sstevel@tonic-gate	_pset.o			\
1907c478bd9Sstevel@tonic-gate	_rpcsys.o		\
1917c478bd9Sstevel@tonic-gate	_sigaction.o		\
1927c478bd9Sstevel@tonic-gate	_so_accept.o		\
1937c478bd9Sstevel@tonic-gate	_so_bind.o		\
1947c478bd9Sstevel@tonic-gate	_so_connect.o		\
1957c478bd9Sstevel@tonic-gate	_so_getpeername.o	\
1967c478bd9Sstevel@tonic-gate	_so_getsockname.o	\
1977c478bd9Sstevel@tonic-gate	_so_getsockopt.o	\
1987c478bd9Sstevel@tonic-gate	_so_listen.o		\
1997c478bd9Sstevel@tonic-gate	_so_recv.o		\
2007c478bd9Sstevel@tonic-gate	_so_recvfrom.o		\
2017c478bd9Sstevel@tonic-gate	_so_recvmsg.o		\
2027c478bd9Sstevel@tonic-gate	_so_send.o		\
2037c478bd9Sstevel@tonic-gate	_so_sendmsg.o		\
2047c478bd9Sstevel@tonic-gate	_so_sendto.o		\
2057c478bd9Sstevel@tonic-gate	_so_setsockopt.o	\
2067c478bd9Sstevel@tonic-gate	_so_shutdown.o		\
2077c478bd9Sstevel@tonic-gate	_so_socket.o		\
2087c478bd9Sstevel@tonic-gate	_so_socketpair.o	\
2097c478bd9Sstevel@tonic-gate	_sockconfig.o		\
2107c478bd9Sstevel@tonic-gate	acct.o			\
2117c478bd9Sstevel@tonic-gate	acl.o			\
2127c478bd9Sstevel@tonic-gate	adjtime.o		\
2137c478bd9Sstevel@tonic-gate	alarm.o			\
2147c478bd9Sstevel@tonic-gate	brk.o			\
2157c478bd9Sstevel@tonic-gate	chdir.o			\
2167c478bd9Sstevel@tonic-gate	chroot.o		\
2177c478bd9Sstevel@tonic-gate	cladm.o			\
2187c478bd9Sstevel@tonic-gate	close.o			\
2197c478bd9Sstevel@tonic-gate	execve.o		\
2207c478bd9Sstevel@tonic-gate	exit.o			\
2217c478bd9Sstevel@tonic-gate	facl.o			\
2227c478bd9Sstevel@tonic-gate	fchdir.o		\
2237c478bd9Sstevel@tonic-gate	fchroot.o		\
2247c478bd9Sstevel@tonic-gate	fdsync.o		\
2257c478bd9Sstevel@tonic-gate	fpathconf.o		\
2267c478bd9Sstevel@tonic-gate	fstatfs.o		\
2277c478bd9Sstevel@tonic-gate	fstatvfs.o		\
2287c478bd9Sstevel@tonic-gate	getcpuid.o		\
2297c478bd9Sstevel@tonic-gate	getdents.o		\
2307c478bd9Sstevel@tonic-gate	getegid.o		\
2317c478bd9Sstevel@tonic-gate	geteuid.o		\
2327c478bd9Sstevel@tonic-gate	getgid.o		\
2337c478bd9Sstevel@tonic-gate	getgroups.o		\
2347c478bd9Sstevel@tonic-gate	gethrtime.o		\
2357c478bd9Sstevel@tonic-gate	getitimer.o		\
2367c478bd9Sstevel@tonic-gate	getmsg.o		\
2377c478bd9Sstevel@tonic-gate	getpid.o		\
2387c478bd9Sstevel@tonic-gate	getpmsg.o		\
2397c478bd9Sstevel@tonic-gate	getppid.o		\
2409d12795fSRobert Mustacchi	getrandom.o		\
2417c478bd9Sstevel@tonic-gate	getrlimit.o		\
2427c478bd9Sstevel@tonic-gate	getuid.o		\
2437c478bd9Sstevel@tonic-gate	gtty.o			\
2447c478bd9Sstevel@tonic-gate	install_utrap.o		\
2457c478bd9Sstevel@tonic-gate	ioctl.o			\
2467c478bd9Sstevel@tonic-gate	kaio.o			\
2477c478bd9Sstevel@tonic-gate	kill.o			\
2487c478bd9Sstevel@tonic-gate	llseek.o		\
2497c478bd9Sstevel@tonic-gate	lseek.o			\
2500616c1c3SMichael Corcoran	mmapobjsys.o		\
2517c478bd9Sstevel@tonic-gate	memcntl.o		\
2527c478bd9Sstevel@tonic-gate	mincore.o		\
253c242ec1bSRoger A. Faulkner	mmap.o			\
2547c478bd9Sstevel@tonic-gate	modctl.o		\
2557c478bd9Sstevel@tonic-gate	mount.o			\
2567c478bd9Sstevel@tonic-gate	mprotect.o		\
257c242ec1bSRoger A. Faulkner	munmap.o		\
2587c478bd9Sstevel@tonic-gate	nice.o			\
2597c478bd9Sstevel@tonic-gate	ntp_adjtime.o		\
2607c478bd9Sstevel@tonic-gate	ntp_gettime.o		\
2617c478bd9Sstevel@tonic-gate	p_online.o		\
2627c478bd9Sstevel@tonic-gate	pathconf.o		\
2637c478bd9Sstevel@tonic-gate	pause.o			\
2647c478bd9Sstevel@tonic-gate	pcsample.o		\
2655dbfd19aSTheo Schlossnagle	pipe2.o			\
2667c478bd9Sstevel@tonic-gate	pollsys.o		\
2677c478bd9Sstevel@tonic-gate	pread.o			\
268fca543caSDJ Hoffman	preadv.o		\
2697c478bd9Sstevel@tonic-gate	priocntlset.o		\
2707c478bd9Sstevel@tonic-gate	processor_bind.o	\
2717c478bd9Sstevel@tonic-gate	processor_info.o	\
2727c478bd9Sstevel@tonic-gate	profil.o		\
2737c478bd9Sstevel@tonic-gate	putmsg.o		\
2747c478bd9Sstevel@tonic-gate	putpmsg.o		\
2757c478bd9Sstevel@tonic-gate	pwrite.o		\
276fca543caSDJ Hoffman	pwritev.o		\
2777c478bd9Sstevel@tonic-gate	read.o			\
2787c478bd9Sstevel@tonic-gate	readv.o			\
2797c478bd9Sstevel@tonic-gate	resolvepath.o		\
2807c478bd9Sstevel@tonic-gate	seteguid.o		\
2817c478bd9Sstevel@tonic-gate	setgid.o		\
2827c478bd9Sstevel@tonic-gate	setgroups.o		\
2837c478bd9Sstevel@tonic-gate	setitimer.o		\
2847c478bd9Sstevel@tonic-gate	setreid.o		\
2857c478bd9Sstevel@tonic-gate	setrlimit.o		\
2867c478bd9Sstevel@tonic-gate	setuid.o		\
2877c478bd9Sstevel@tonic-gate	sigaltstk.o		\
2887c478bd9Sstevel@tonic-gate	sigprocmsk.o		\
2897c478bd9Sstevel@tonic-gate	sigsendset.o		\
2907c478bd9Sstevel@tonic-gate	sigsuspend.o		\
2917c478bd9Sstevel@tonic-gate	statfs.o		\
2927c478bd9Sstevel@tonic-gate	statvfs.o		\
2937c478bd9Sstevel@tonic-gate	stty.o			\
2947c478bd9Sstevel@tonic-gate	sync.o			\
2957c478bd9Sstevel@tonic-gate	sysconfig.o		\
2967c478bd9Sstevel@tonic-gate	sysfs.o			\
2977c478bd9Sstevel@tonic-gate	sysinfo.o		\
2987c478bd9Sstevel@tonic-gate	syslwp.o		\
2997c478bd9Sstevel@tonic-gate	times.o			\
3007c478bd9Sstevel@tonic-gate	ulimit.o		\
3017c478bd9Sstevel@tonic-gate	umask.o			\
3027c478bd9Sstevel@tonic-gate	umount2.o		\
3037c478bd9Sstevel@tonic-gate	utssys.o		\
3049acbbeafSnn35248	uucopy.o		\
3057c478bd9Sstevel@tonic-gate	vhangup.o		\
3067c478bd9Sstevel@tonic-gate	waitid.o		\
3077c478bd9Sstevel@tonic-gate	write.o			\
3087c478bd9Sstevel@tonic-gate	writev.o		\
3097c478bd9Sstevel@tonic-gate	yield.o
3107c478bd9Sstevel@tonic-gate
3117c478bd9Sstevel@tonic-gateSYSOBJS=			\
3127c478bd9Sstevel@tonic-gate	__clock_gettime.o	\
313263f549eSPatrick Mooney	__clock_gettime_sys.o	\
3147c478bd9Sstevel@tonic-gate	__getcontext.o		\
3157c478bd9Sstevel@tonic-gate	__uadmin.o		\
3167c478bd9Sstevel@tonic-gate	_lwp_mutex_unlock.o	\
3177c478bd9Sstevel@tonic-gate	_stack_grow.o		\
3187c478bd9Sstevel@tonic-gate	door.o			\
319657b1f3dSraf	forkx.o			\
320657b1f3dSraf	forkallx.o		\
3217c478bd9Sstevel@tonic-gate	getcontext.o		\
3227c478bd9Sstevel@tonic-gate	gettimeofday.o		\
3237c478bd9Sstevel@tonic-gate	lwp_private.o		\
3247c478bd9Sstevel@tonic-gate	nuname.o		\
3257c478bd9Sstevel@tonic-gate	ptrace.o		\
3267c478bd9Sstevel@tonic-gate	syscall.o		\
3277c478bd9Sstevel@tonic-gate	sysi86.o		\
3287c478bd9Sstevel@tonic-gate	tls_get_addr.o		\
3297c478bd9Sstevel@tonic-gate	uadmin.o		\
3307c478bd9Sstevel@tonic-gate	umount.o		\
3317c478bd9Sstevel@tonic-gate	uname.o			\
332657b1f3dSraf	vforkx.o		\
3337c478bd9Sstevel@tonic-gate	xstat.o
3347c478bd9Sstevel@tonic-gate
3351e49577aSRod Evans# objects under $(LIBCDIR)/port which contain transitional large file interfaces
3367c478bd9Sstevel@tonic-gatePORTGEN64=			\
3377c478bd9Sstevel@tonic-gate	_xftw64.o		\
3387c478bd9Sstevel@tonic-gate	attropen64.o		\
3397c478bd9Sstevel@tonic-gate	ftw64.o			\
3407c478bd9Sstevel@tonic-gate	mkstemp64.o		\
3417c478bd9Sstevel@tonic-gate	nftw64.o		\
3427c478bd9Sstevel@tonic-gate	tell64.o		\
3437c478bd9Sstevel@tonic-gate	truncate64.o
3447c478bd9Sstevel@tonic-gate
3451e49577aSRod Evans# objects from source under $(LIBCDIR)/port
3467c478bd9Sstevel@tonic-gatePORTFP=				\
3477c478bd9Sstevel@tonic-gate	__flt_decim.o		\
3487c478bd9Sstevel@tonic-gate	__flt_rounds.o		\
3497c478bd9Sstevel@tonic-gate	__tbl_10_b.o		\
3507c478bd9Sstevel@tonic-gate	__tbl_10_h.o		\
3517c478bd9Sstevel@tonic-gate	__tbl_10_s.o		\
3527c478bd9Sstevel@tonic-gate	__tbl_2_b.o		\
3537c478bd9Sstevel@tonic-gate	__tbl_2_h.o		\
3547c478bd9Sstevel@tonic-gate	__tbl_2_s.o		\
3557c478bd9Sstevel@tonic-gate	__tbl_fdq.o		\
3567c478bd9Sstevel@tonic-gate	__tbl_tens.o		\
3577c478bd9Sstevel@tonic-gate	__x_power.o		\
3587c478bd9Sstevel@tonic-gate	_base_sup.o		\
3597c478bd9Sstevel@tonic-gate	aconvert.o		\
3607c478bd9Sstevel@tonic-gate	decimal_bin.o		\
3617c478bd9Sstevel@tonic-gate	double_decim.o		\
3627c478bd9Sstevel@tonic-gate	econvert.o		\
3637c478bd9Sstevel@tonic-gate	fconvert.o		\
3647c478bd9Sstevel@tonic-gate	file_decim.o		\
3657c478bd9Sstevel@tonic-gate	finite.o		\
3667c478bd9Sstevel@tonic-gate	fp_data.o		\
3677c478bd9Sstevel@tonic-gate	func_decim.o		\
3687c478bd9Sstevel@tonic-gate	gconvert.o		\
3697c478bd9Sstevel@tonic-gate	hex_bin.o		\
3707c478bd9Sstevel@tonic-gate	ieee_globals.o		\
3717c478bd9Sstevel@tonic-gate	pack_float.o		\
3727c478bd9Sstevel@tonic-gate	sigfpe.o		\
3737c478bd9Sstevel@tonic-gate	string_decim.o
3747c478bd9Sstevel@tonic-gate
3757c478bd9Sstevel@tonic-gatePORTGEN=			\
3767c478bd9Sstevel@tonic-gate	_env_data.o		\
3777c478bd9Sstevel@tonic-gate	_xftw.o			\
3787c478bd9Sstevel@tonic-gate	a64l.o			\
3797c478bd9Sstevel@tonic-gate	abort.o			\
3807c478bd9Sstevel@tonic-gate	addsev.o		\
38123a1cceaSRoger A. Faulkner	ascii_strcasecmp.o	\
38223a1cceaSRoger A. Faulkner	ascii_strncasecmp.o	\
3837c478bd9Sstevel@tonic-gate	assert.o		\
3847c478bd9Sstevel@tonic-gate	atof.o			\
3857c478bd9Sstevel@tonic-gate	atoi.o			\
3867c478bd9Sstevel@tonic-gate	atol.o			\
3877c478bd9Sstevel@tonic-gate	atoll.o			\
388da6c28aaSamw	attrat.o		\
3897c478bd9Sstevel@tonic-gate	attropen.o		\
3907c478bd9Sstevel@tonic-gate	atexit.o		\
3917c478bd9Sstevel@tonic-gate	atfork.o		\
3927c478bd9Sstevel@tonic-gate	basename.o		\
3937c478bd9Sstevel@tonic-gate	calloc.o		\
3947c478bd9Sstevel@tonic-gate	catgets.o		\
3957c478bd9Sstevel@tonic-gate	catopen.o		\
3967c478bd9Sstevel@tonic-gate	cfgetispeed.o		\
3977c478bd9Sstevel@tonic-gate	cfgetospeed.o		\
3987c478bd9Sstevel@tonic-gate	cfree.o			\
3997c478bd9Sstevel@tonic-gate	cfsetispeed.o		\
4007c478bd9Sstevel@tonic-gate	cfsetospeed.o		\
4017c478bd9Sstevel@tonic-gate	cftime.o		\
4027c478bd9Sstevel@tonic-gate	clock.o			\
4037c478bd9Sstevel@tonic-gate	closedir.o		\
4047c478bd9Sstevel@tonic-gate	closefrom.o		\
4057c478bd9Sstevel@tonic-gate	confstr.o		\
4067c478bd9Sstevel@tonic-gate	crypt.o			\
4077c478bd9Sstevel@tonic-gate	csetlen.o		\
4087c478bd9Sstevel@tonic-gate	ctime.o			\
4097c478bd9Sstevel@tonic-gate	ctime_r.o		\
41044991a1cSVladimir Kotal	daemon.o		\
41106e1a714Sraf	deflt.o			\
4127c478bd9Sstevel@tonic-gate	directio.o		\
4137c478bd9Sstevel@tonic-gate	dirname.o		\
4147c478bd9Sstevel@tonic-gate	div.o			\
4157c478bd9Sstevel@tonic-gate	drand48.o		\
4168fd04b83SRoger A. Faulkner	dup.o			\
4177c478bd9Sstevel@tonic-gate	env_data.o		\
418d362b749Svk199839	err.o			\
4197c478bd9Sstevel@tonic-gate	errno.o			\
4207c478bd9Sstevel@tonic-gate	euclen.o		\
4217c478bd9Sstevel@tonic-gate	event_port.o		\
4227c478bd9Sstevel@tonic-gate	execvp.o		\
4239d12795fSRobert Mustacchi	explicit_bzero.o	\
4247c478bd9Sstevel@tonic-gate	fattach.o		\
4257c478bd9Sstevel@tonic-gate	fdetach.o		\
4267c478bd9Sstevel@tonic-gate	fdopendir.o		\
42723a1cceaSRoger A. Faulkner	ffs.o			\
4287a5aac98SJerry Jelinek	flock.o			\
42923a1cceaSRoger A. Faulkner	fls.o			\
4307c478bd9Sstevel@tonic-gate	fmtmsg.o		\
4317c478bd9Sstevel@tonic-gate	ftime.o			\
4327c478bd9Sstevel@tonic-gate	ftok.o			\
4337c478bd9Sstevel@tonic-gate	ftw.o			\
4347c478bd9Sstevel@tonic-gate	gcvt.o			\
4357c478bd9Sstevel@tonic-gate	getauxv.o		\
4367c478bd9Sstevel@tonic-gate	getcwd.o		\
4377c478bd9Sstevel@tonic-gate	getdate_err.o		\
4387c478bd9Sstevel@tonic-gate	getdtblsize.o		\
4399d12795fSRobert Mustacchi	getentropy.o		\
4407c478bd9Sstevel@tonic-gate	getenv.o		\
4417c478bd9Sstevel@tonic-gate	getexecname.o		\
4427c478bd9Sstevel@tonic-gate	getgrnam.o		\
4437c478bd9Sstevel@tonic-gate	getgrnam_r.o		\
4447c478bd9Sstevel@tonic-gate	gethostid.o		\
4457c478bd9Sstevel@tonic-gate	gethostname.o		\
4467c478bd9Sstevel@tonic-gate	gethz.o			\
4477c478bd9Sstevel@tonic-gate	getisax.o		\
4487c478bd9Sstevel@tonic-gate	getloadavg.o		\
4497c478bd9Sstevel@tonic-gate	getlogin.o		\
4507c478bd9Sstevel@tonic-gate	getmntent.o		\
4517c478bd9Sstevel@tonic-gate	getnetgrent.o		\
45223a1cceaSRoger A. Faulkner	get_nprocs.o		\
4537c478bd9Sstevel@tonic-gate	getopt.o		\
4547c478bd9Sstevel@tonic-gate	getopt_long.o		\
4557c478bd9Sstevel@tonic-gate	getpagesize.o		\
4567c478bd9Sstevel@tonic-gate	getpw.o			\
4577c478bd9Sstevel@tonic-gate	getpwnam.o		\
4587c478bd9Sstevel@tonic-gate	getpwnam_r.o		\
4597c478bd9Sstevel@tonic-gate	getrusage.o		\
4607c478bd9Sstevel@tonic-gate	getspent.o		\
4617c478bd9Sstevel@tonic-gate	getspent_r.o		\
4627c478bd9Sstevel@tonic-gate	getsubopt.o		\
4637c478bd9Sstevel@tonic-gate	gettxt.o		\
4647c478bd9Sstevel@tonic-gate	getusershell.o		\
4657c478bd9Sstevel@tonic-gate	getut.o			\
4667c478bd9Sstevel@tonic-gate	getutx.o		\
4677c478bd9Sstevel@tonic-gate	getvfsent.o		\
4687c478bd9Sstevel@tonic-gate	getwd.o			\
4697c478bd9Sstevel@tonic-gate	getwidth.o		\
4707c478bd9Sstevel@tonic-gate	getxby_door.o		\
4717c478bd9Sstevel@tonic-gate	gtxt.o			\
4727c478bd9Sstevel@tonic-gate	hsearch.o		\
4737c478bd9Sstevel@tonic-gate	iconv.o			\
4747c478bd9Sstevel@tonic-gate	imaxabs.o		\
4757c478bd9Sstevel@tonic-gate	imaxdiv.o		\
4767c478bd9Sstevel@tonic-gate	index.o			\
4777c478bd9Sstevel@tonic-gate	initgroups.o		\
4787c478bd9Sstevel@tonic-gate	insque.o		\
4797c478bd9Sstevel@tonic-gate	isaexec.o		\
4807c478bd9Sstevel@tonic-gate	isastream.o		\
4817c478bd9Sstevel@tonic-gate	isatty.o		\
4827c478bd9Sstevel@tonic-gate	killpg.o		\
483ddf7fe95Scasper	klpdlib.o		\
4847c478bd9Sstevel@tonic-gate	l64a.o			\
4857c478bd9Sstevel@tonic-gate	lckpwdf.o		\
4867c478bd9Sstevel@tonic-gate	lconstants.o		\
4877257d1b4Sraf	lexp10.o		\
4887c478bd9Sstevel@tonic-gate	lfind.o			\
4897c478bd9Sstevel@tonic-gate	lfmt.o			\
4907c478bd9Sstevel@tonic-gate	lfmt_log.o		\
4917c478bd9Sstevel@tonic-gate	llabs.o			\
4927c478bd9Sstevel@tonic-gate	lldiv.o			\
4937257d1b4Sraf	llog10.o		\
4947c478bd9Sstevel@tonic-gate	lltostr.o		\
4957c478bd9Sstevel@tonic-gate	localtime.o		\
4967c478bd9Sstevel@tonic-gate	lsearch.o		\
4977c478bd9Sstevel@tonic-gate	madvise.o		\
4987c478bd9Sstevel@tonic-gate	malloc.o		\
4997c478bd9Sstevel@tonic-gate	memalign.o		\
50023a1cceaSRoger A. Faulkner	memmem.o		\
5017c478bd9Sstevel@tonic-gate	mkdev.o			\
5027c4dcc55Scasper	mkdtemp.o		\
5037c478bd9Sstevel@tonic-gate	mkfifo.o		\
5047c478bd9Sstevel@tonic-gate	mkstemp.o		\
5057c478bd9Sstevel@tonic-gate	mktemp.o		\
5067c478bd9Sstevel@tonic-gate	mlock.o			\
5077c478bd9Sstevel@tonic-gate	mlockall.o		\
5087c478bd9Sstevel@tonic-gate	mon.o			\
5097c478bd9Sstevel@tonic-gate	msync.o			\
5107c478bd9Sstevel@tonic-gate	munlock.o		\
5117c478bd9Sstevel@tonic-gate	munlockall.o		\
5127c478bd9Sstevel@tonic-gate	ndbm.o			\
5137c478bd9Sstevel@tonic-gate	nftw.o			\
5147c478bd9Sstevel@tonic-gate	nlspath_checks.o	\
5157c478bd9Sstevel@tonic-gate	nsparse.o		\
5167c478bd9Sstevel@tonic-gate	nss_common.o		\
5177c478bd9Sstevel@tonic-gate	nss_dbdefs.o		\
5187c478bd9Sstevel@tonic-gate	nss_deffinder.o		\
5197c478bd9Sstevel@tonic-gate	opendir.o		\
5207c478bd9Sstevel@tonic-gate	opt_data.o		\
5217c478bd9Sstevel@tonic-gate	perror.o		\
5227c478bd9Sstevel@tonic-gate	pfmt.o			\
5237c478bd9Sstevel@tonic-gate	pfmt_data.o		\
5247c478bd9Sstevel@tonic-gate	pfmt_print.o		\
5255dbfd19aSTheo Schlossnagle	pipe.o			\
5267c478bd9Sstevel@tonic-gate	plock.o			\
5277c478bd9Sstevel@tonic-gate	poll.o			\
528019c3c43Sraf	posix_fadvise.o		\
529019c3c43Sraf	posix_fallocate.o	\
530019c3c43Sraf	posix_madvise.o		\
531019c3c43Sraf	posix_memalign.o	\
5327c478bd9Sstevel@tonic-gate	priocntl.o		\
5337c478bd9Sstevel@tonic-gate	privlib.o		\
5347c478bd9Sstevel@tonic-gate	priv_str_xlate.o	\
5357c478bd9Sstevel@tonic-gate	psiginfo.o		\
5367c478bd9Sstevel@tonic-gate	psignal.o		\
5377c478bd9Sstevel@tonic-gate	pt.o			\
5387c478bd9Sstevel@tonic-gate	putpwent.o		\
5397c478bd9Sstevel@tonic-gate	putspent.o		\
5407c478bd9Sstevel@tonic-gate	raise.o			\
5417c478bd9Sstevel@tonic-gate	rand.o			\
5427c478bd9Sstevel@tonic-gate	random.o		\
5437c478bd9Sstevel@tonic-gate	rctlops.o		\
5447c478bd9Sstevel@tonic-gate	readdir.o		\
5457c478bd9Sstevel@tonic-gate	readdir_r.o		\
5467c478bd9Sstevel@tonic-gate	realpath.o		\
5477c478bd9Sstevel@tonic-gate	reboot.o		\
5487c478bd9Sstevel@tonic-gate	regexpr.o		\
549a574db85Sraf	remove.o		\
5507c478bd9Sstevel@tonic-gate	rewinddir.o		\
5517c478bd9Sstevel@tonic-gate	rindex.o		\
5527c478bd9Sstevel@tonic-gate	scandir.o		\
5537c478bd9Sstevel@tonic-gate	seekdir.o		\
5547c478bd9Sstevel@tonic-gate	select.o		\
5557c478bd9Sstevel@tonic-gate	select_large_fdset.o	\
5567c478bd9Sstevel@tonic-gate	setlabel.o		\
5577c478bd9Sstevel@tonic-gate	setpriority.o		\
5587c478bd9Sstevel@tonic-gate	settimeofday.o		\
5597c478bd9Sstevel@tonic-gate	sh_locks.o		\
5607c478bd9Sstevel@tonic-gate	sigflag.o		\
5617c478bd9Sstevel@tonic-gate	siglist.o		\
5627c478bd9Sstevel@tonic-gate	sigsend.o		\
5637c478bd9Sstevel@tonic-gate	sigsetops.o		\
5647c478bd9Sstevel@tonic-gate	ssignal.o		\
5657c478bd9Sstevel@tonic-gate	stack.o			\
56623a1cceaSRoger A. Faulkner	stpcpy.o		\
56723a1cceaSRoger A. Faulkner	stpncpy.o		\
5687c478bd9Sstevel@tonic-gate	str2sig.o		\
5697c478bd9Sstevel@tonic-gate	strcase_charmap.o	\
57023a1cceaSRoger A. Faulkner	strchrnul.o		\
5717c478bd9Sstevel@tonic-gate	strcspn.o		\
5727c478bd9Sstevel@tonic-gate	strdup.o		\
5737c478bd9Sstevel@tonic-gate	strerror.o		\
5747c478bd9Sstevel@tonic-gate	strlcat.o		\
5757c478bd9Sstevel@tonic-gate	strlcpy.o		\
57623a1cceaSRoger A. Faulkner	strndup.o		\
5777c478bd9Sstevel@tonic-gate	strpbrk.o		\
578b811a51aSVladimir Kotal	strsep.o		\
5797c478bd9Sstevel@tonic-gate	strsignal.o		\
5807c478bd9Sstevel@tonic-gate	strspn.o		\
5817c478bd9Sstevel@tonic-gate	strstr.o		\
5827c478bd9Sstevel@tonic-gate	strtod.o		\
5837c478bd9Sstevel@tonic-gate	strtoimax.o		\
5847c478bd9Sstevel@tonic-gate	strtok.o		\
5857c478bd9Sstevel@tonic-gate	strtok_r.o		\
5867c478bd9Sstevel@tonic-gate	strtoumax.o		\
5877c478bd9Sstevel@tonic-gate	swab.o			\
5887c478bd9Sstevel@tonic-gate	swapctl.o		\
5897c478bd9Sstevel@tonic-gate	sysconf.o		\
5907c478bd9Sstevel@tonic-gate	syslog.o		\
5917c478bd9Sstevel@tonic-gate	tcdrain.o		\
5927c478bd9Sstevel@tonic-gate	tcflow.o		\
5937c478bd9Sstevel@tonic-gate	tcflush.o		\
5947c478bd9Sstevel@tonic-gate	tcgetattr.o		\
5957c478bd9Sstevel@tonic-gate	tcgetpgrp.o		\
5967c478bd9Sstevel@tonic-gate	tcgetsid.o		\
5977c478bd9Sstevel@tonic-gate	tcsendbreak.o		\
5987c478bd9Sstevel@tonic-gate	tcsetattr.o		\
5997c478bd9Sstevel@tonic-gate	tcsetpgrp.o		\
6007c478bd9Sstevel@tonic-gate	tell.o			\
6017c478bd9Sstevel@tonic-gate	telldir.o		\
6027c478bd9Sstevel@tonic-gate	tfind.o			\
6037c478bd9Sstevel@tonic-gate	time_data.o		\
6047c478bd9Sstevel@tonic-gate	time_gdata.o		\
605dcdfe824SRobert Mustacchi	timespec_get.o		\
60623a1cceaSRoger A. Faulkner	tls_data.o		\
6077c478bd9Sstevel@tonic-gate	truncate.o		\
6087c478bd9Sstevel@tonic-gate	tsdalloc.o		\
6097c478bd9Sstevel@tonic-gate	tsearch.o		\
6107c478bd9Sstevel@tonic-gate	ttyname.o		\
6117c478bd9Sstevel@tonic-gate	ttyslot.o		\
6127c478bd9Sstevel@tonic-gate	ualarm.o		\
6137c478bd9Sstevel@tonic-gate	ucred.o			\
6147c478bd9Sstevel@tonic-gate	valloc.o		\
6157c478bd9Sstevel@tonic-gate	vlfmt.o			\
6167c478bd9Sstevel@tonic-gate	vpfmt.o			\
6177c478bd9Sstevel@tonic-gate	waitpid.o		\
6187c478bd9Sstevel@tonic-gate	walkstack.o		\
6197c478bd9Sstevel@tonic-gate	wdata.o			\
6207c478bd9Sstevel@tonic-gate	xgetwidth.o		\
6217c478bd9Sstevel@tonic-gate	xpg4.o			\
6227c478bd9Sstevel@tonic-gate	xpg6.o
6237c478bd9Sstevel@tonic-gate
6247c478bd9Sstevel@tonic-gatePORTPRINT_W=			\
6257c478bd9Sstevel@tonic-gate	doprnt_w.o
6267c478bd9Sstevel@tonic-gate
6277c478bd9Sstevel@tonic-gatePORTPRINT=			\
628d0983205SRoger A. Faulkner	asprintf.o		\
6297c478bd9Sstevel@tonic-gate	doprnt.o		\
6307c478bd9Sstevel@tonic-gate	fprintf.o		\
6317c478bd9Sstevel@tonic-gate	printf.o		\
6327c478bd9Sstevel@tonic-gate	snprintf.o		\
6337c478bd9Sstevel@tonic-gate	sprintf.o		\
6347c478bd9Sstevel@tonic-gate	vfprintf.o		\
6357c478bd9Sstevel@tonic-gate	vprintf.o		\
6367c478bd9Sstevel@tonic-gate	vsnprintf.o		\
6377c478bd9Sstevel@tonic-gate	vsprintf.o		\
6387c478bd9Sstevel@tonic-gate	vwprintf.o		\
6397c478bd9Sstevel@tonic-gate	wprintf.o
6407c478bd9Sstevel@tonic-gate
6417c478bd9Sstevel@tonic-gate# c89 variants to support 32-bit size of c89 u/intmax_t (32-bit libc only)
6427c478bd9Sstevel@tonic-gatePORTPRINT_C89=			\
6437c478bd9Sstevel@tonic-gate	vfprintf_c89.o		\
6447c478bd9Sstevel@tonic-gate	vprintf_c89.o		\
6457c478bd9Sstevel@tonic-gate	vsnprintf_c89.o		\
6467c478bd9Sstevel@tonic-gate	vsprintf_c89.o		\
6477c478bd9Sstevel@tonic-gate	vwprintf_c89.o
6487c478bd9Sstevel@tonic-gate
6497c478bd9Sstevel@tonic-gatePORTSTDIO_C89=			\
6507c478bd9Sstevel@tonic-gate	vscanf_c89.o		\
6517c478bd9Sstevel@tonic-gate	vwscanf_c89.o		\
6527c478bd9Sstevel@tonic-gate
6537c478bd9Sstevel@tonic-gate# portable stdio objects that contain large file interfaces.
6547c478bd9Sstevel@tonic-gate# Note: fopen64 is a special case, as we build it small.
6557c478bd9Sstevel@tonic-gatePORTSTDIO64=			\
6567c478bd9Sstevel@tonic-gate	fopen64.o		\
6577c478bd9Sstevel@tonic-gate	fpos64.o
6587c478bd9Sstevel@tonic-gate
6597c478bd9Sstevel@tonic-gatePORTSTDIO_W=			\
6607c478bd9Sstevel@tonic-gate	doscan_w.o
6617c478bd9Sstevel@tonic-gate
6627c478bd9Sstevel@tonic-gatePORTSTDIO=			\
6637c478bd9Sstevel@tonic-gate	__extensions.o		\
6647c478bd9Sstevel@tonic-gate	_endopen.o		\
6657c478bd9Sstevel@tonic-gate	_filbuf.o		\
6667c478bd9Sstevel@tonic-gate	_findbuf.o		\
6677c478bd9Sstevel@tonic-gate	_flsbuf.o		\
6687c478bd9Sstevel@tonic-gate	_wrtchk.o		\
6697c478bd9Sstevel@tonic-gate	clearerr.o		\
6707c478bd9Sstevel@tonic-gate	ctermid.o		\
6717c478bd9Sstevel@tonic-gate	ctermid_r.o		\
6727c478bd9Sstevel@tonic-gate	cuserid.o		\
6737c478bd9Sstevel@tonic-gate	data.o			\
6747c478bd9Sstevel@tonic-gate	doscan.o		\
6757c478bd9Sstevel@tonic-gate	fdopen.o		\
6767c478bd9Sstevel@tonic-gate	feof.o			\
6777c478bd9Sstevel@tonic-gate	ferror.o		\
6787c478bd9Sstevel@tonic-gate	fgetc.o			\
6797c478bd9Sstevel@tonic-gate	fgets.o			\
6807c478bd9Sstevel@tonic-gate	fileno.o		\
6817c478bd9Sstevel@tonic-gate	flockf.o		\
6827c478bd9Sstevel@tonic-gate	flush.o			\
6837c478bd9Sstevel@tonic-gate	fopen.o			\
6847c478bd9Sstevel@tonic-gate	fpos.o			\
6857c478bd9Sstevel@tonic-gate	fputc.o			\
6867c478bd9Sstevel@tonic-gate	fputs.o			\
6877c478bd9Sstevel@tonic-gate	fread.o			\
6887c478bd9Sstevel@tonic-gate	fseek.o			\
6897c478bd9Sstevel@tonic-gate	fseeko.o		\
6907c478bd9Sstevel@tonic-gate	ftell.o			\
6917c478bd9Sstevel@tonic-gate	ftello.o		\
6927c478bd9Sstevel@tonic-gate	fwrite.o		\
6937c478bd9Sstevel@tonic-gate	getc.o			\
6947c478bd9Sstevel@tonic-gate	getchar.o		\
69523a1cceaSRoger A. Faulkner	getline.o		\
6967c478bd9Sstevel@tonic-gate	getpass.o		\
6977c478bd9Sstevel@tonic-gate	gets.o			\
6987c478bd9Sstevel@tonic-gate	getw.o			\
6997c478bd9Sstevel@tonic-gate	mse.o			\
7007c478bd9Sstevel@tonic-gate	popen.o			\
7017c478bd9Sstevel@tonic-gate	putc.o			\
7027c478bd9Sstevel@tonic-gate	putchar.o		\
7037c478bd9Sstevel@tonic-gate	puts.o			\
7047c478bd9Sstevel@tonic-gate	putw.o			\
7057c478bd9Sstevel@tonic-gate	rewind.o		\
7067c478bd9Sstevel@tonic-gate	scanf.o			\
7077c478bd9Sstevel@tonic-gate	setbuf.o		\
7087c478bd9Sstevel@tonic-gate	setbuffer.o		\
7097c478bd9Sstevel@tonic-gate	setvbuf.o		\
7107c478bd9Sstevel@tonic-gate	system.o		\
7117c478bd9Sstevel@tonic-gate	tempnam.o		\
7127c478bd9Sstevel@tonic-gate	tmpfile.o		\
7137c478bd9Sstevel@tonic-gate	tmpnam_r.o		\
7147c478bd9Sstevel@tonic-gate	ungetc.o		\
7157c478bd9Sstevel@tonic-gate	vscanf.o		\
7167c478bd9Sstevel@tonic-gate	vwscanf.o		\
7177c478bd9Sstevel@tonic-gate	wscanf.o
7187c478bd9Sstevel@tonic-gate
7197c478bd9Sstevel@tonic-gatePORTI18N=			\
7207c478bd9Sstevel@tonic-gate	getwchar.o		\
7217c478bd9Sstevel@tonic-gate	putwchar.o		\
7227c478bd9Sstevel@tonic-gate	putws.o			\
7237c478bd9Sstevel@tonic-gate	strtows.o		\
72423a1cceaSRoger A. Faulkner	wcsnlen.o		\
7257c478bd9Sstevel@tonic-gate	wcsstr.o		\
7267c478bd9Sstevel@tonic-gate	wcstoimax.o		\
7277c478bd9Sstevel@tonic-gate	wcstol.o		\
7287c478bd9Sstevel@tonic-gate	wcstoul.o		\
7297c478bd9Sstevel@tonic-gate	wcswcs.o		\
7307c478bd9Sstevel@tonic-gate	wmemchr.o		\
7317c478bd9Sstevel@tonic-gate	wmemcmp.o		\
7327c478bd9Sstevel@tonic-gate	wmemcpy.o		\
7337c478bd9Sstevel@tonic-gate	wmemmove.o		\
7347c478bd9Sstevel@tonic-gate	wmemset.o		\
7357c478bd9Sstevel@tonic-gate	wscat.o			\
7367c478bd9Sstevel@tonic-gate	wschr.o			\
7377c478bd9Sstevel@tonic-gate	wscmp.o			\
7387c478bd9Sstevel@tonic-gate	wscpy.o			\
7397c478bd9Sstevel@tonic-gate	wscspn.o		\
7407c478bd9Sstevel@tonic-gate	wsdup.o			\
7417c478bd9Sstevel@tonic-gate	wslen.o			\
7427c478bd9Sstevel@tonic-gate	wsncat.o		\
7437c478bd9Sstevel@tonic-gate	wsncmp.o		\
7447c478bd9Sstevel@tonic-gate	wsncpy.o		\
7457c478bd9Sstevel@tonic-gate	wspbrk.o		\
7467c478bd9Sstevel@tonic-gate	wsprintf.o		\
7477c478bd9Sstevel@tonic-gate	wsrchr.o		\
7487c478bd9Sstevel@tonic-gate	wsscanf.o		\
7497c478bd9Sstevel@tonic-gate	wsspn.o			\
7507c478bd9Sstevel@tonic-gate	wstod.o			\
7517c478bd9Sstevel@tonic-gate	wstok.o			\
7527c478bd9Sstevel@tonic-gate	wstol.o			\
7537c478bd9Sstevel@tonic-gate	wstoll.o		\
7547c478bd9Sstevel@tonic-gate	wsxfrm.o		\
7557c478bd9Sstevel@tonic-gate	gettext.o		\
7567c478bd9Sstevel@tonic-gate	gettext_gnu.o		\
7577c478bd9Sstevel@tonic-gate	gettext_real.o		\
7587c478bd9Sstevel@tonic-gate	gettext_util.o		\
7597c478bd9Sstevel@tonic-gate	plural_parser.o		\
7607c478bd9Sstevel@tonic-gate	wdresolve.o		\
7617c478bd9Sstevel@tonic-gate	_ctype.o		\
7627c478bd9Sstevel@tonic-gate	isascii.o		\
7637c478bd9Sstevel@tonic-gate	toascii.o
7647c478bd9Sstevel@tonic-gate
7657c478bd9Sstevel@tonic-gatePORTI18N_COND=			\
7667c478bd9Sstevel@tonic-gate	wcstol_longlong.o	\
7677c478bd9Sstevel@tonic-gate	wcstoul_longlong.o
7687c478bd9Sstevel@tonic-gate
7694297a3b0SGarrett D'AmorePORTLOCALE=			\
7704297a3b0SGarrett D'Amore	big5.o			\
7714297a3b0SGarrett D'Amore	btowc.o			\
772*9a4a12bdSRobert Mustacchi	c16rtomb.o		\
773*9a4a12bdSRobert Mustacchi	c32rtomb.o		\
7744297a3b0SGarrett D'Amore	collate.o		\
7754297a3b0SGarrett D'Amore	collcmp.o		\
7764297a3b0SGarrett D'Amore	euc.o			\
7774297a3b0SGarrett D'Amore	fnmatch.o		\
7784297a3b0SGarrett D'Amore	fgetwc.o		\
7794297a3b0SGarrett D'Amore	fgetws.o		\
7804297a3b0SGarrett D'Amore	fix_grouping.o		\
7814297a3b0SGarrett D'Amore	fputwc.o		\
7824297a3b0SGarrett D'Amore	fputws.o		\
7834297a3b0SGarrett D'Amore	fwide.o			\
7844297a3b0SGarrett D'Amore	gb18030.o		\
7854297a3b0SGarrett D'Amore	gb2312.o		\
7864297a3b0SGarrett D'Amore	gbk.o			\
7874297a3b0SGarrett D'Amore	getdate.o		\
7882d08521bSGarrett D'Amore	isdigit.o		\
7894297a3b0SGarrett D'Amore	iswctype.o		\
7904297a3b0SGarrett D'Amore	ldpart.o		\
7914297a3b0SGarrett D'Amore	lmessages.o		\
7924297a3b0SGarrett D'Amore	lnumeric.o		\
7934297a3b0SGarrett D'Amore	lmonetary.o		\
7944297a3b0SGarrett D'Amore	localeconv.o		\
7952d08521bSGarrett D'Amore	localeimpl.o		\
7964297a3b0SGarrett D'Amore	mbftowc.o		\
7974297a3b0SGarrett D'Amore	mblen.o			\
7984297a3b0SGarrett D'Amore	mbrlen.o		\
799*9a4a12bdSRobert Mustacchi	mbrtoc16.o		\
800*9a4a12bdSRobert Mustacchi	mbrtoc32.o		\
8014297a3b0SGarrett D'Amore	mbrtowc.o		\
8024297a3b0SGarrett D'Amore	mbsinit.o		\
8034297a3b0SGarrett D'Amore	mbsnrtowcs.o		\
8044297a3b0SGarrett D'Amore	mbsrtowcs.o		\
8054297a3b0SGarrett D'Amore	mbstowcs.o		\
8064297a3b0SGarrett D'Amore	mbtowc.o		\
8074297a3b0SGarrett D'Amore	mskanji.o		\
808163bd69bSGarrett D'Amore	nextwctype.o		\
8094297a3b0SGarrett D'Amore	nl_langinfo.o		\
8104297a3b0SGarrett D'Amore	none.o			\
8114297a3b0SGarrett D'Amore	regcomp.o		\
8124297a3b0SGarrett D'Amore	regfree.o		\
8134297a3b0SGarrett D'Amore	regerror.o		\
8144297a3b0SGarrett D'Amore	regexec.o		\
8154297a3b0SGarrett D'Amore	rune.o			\
8164297a3b0SGarrett D'Amore	runetype.o		\
8174297a3b0SGarrett D'Amore	setlocale.o		\
8184297a3b0SGarrett D'Amore	setrunelocale.o		\
8192d08521bSGarrett D'Amore	strcasecmp.o		\
8202d08521bSGarrett D'Amore	strcasestr.o		\
8214297a3b0SGarrett D'Amore	strcoll.o		\
8224297a3b0SGarrett D'Amore	strfmon.o		\
8234297a3b0SGarrett D'Amore	strftime.o		\
8242d08521bSGarrett D'Amore	strncasecmp.o		\
8254297a3b0SGarrett D'Amore	strptime.o		\
8264297a3b0SGarrett D'Amore	strxfrm.o		\
8274297a3b0SGarrett D'Amore	table.o			\
8284297a3b0SGarrett D'Amore	timelocal.o		\
8294297a3b0SGarrett D'Amore	tolower.o		\
8304297a3b0SGarrett D'Amore	towlower.o		\
8314297a3b0SGarrett D'Amore	ungetwc.o		\
8324297a3b0SGarrett D'Amore	utf8.o			\
8334297a3b0SGarrett D'Amore	wcrtomb.o		\
8342d08521bSGarrett D'Amore	wcscasecmp.o		\
8354297a3b0SGarrett D'Amore	wcscoll.o		\
8364297a3b0SGarrett D'Amore	wcsftime.o		\
8374297a3b0SGarrett D'Amore	wcsnrtombs.o		\
8384297a3b0SGarrett D'Amore	wcsrtombs.o		\
8394297a3b0SGarrett D'Amore	wcswidth.o		\
8404297a3b0SGarrett D'Amore	wcstombs.o		\
8414297a3b0SGarrett D'Amore	wcsxfrm.o		\
8424297a3b0SGarrett D'Amore	wctob.o			\
8434297a3b0SGarrett D'Amore	wctomb.o		\
8444297a3b0SGarrett D'Amore	wctrans.o		\
8454297a3b0SGarrett D'Amore	wctype.o		\
8464297a3b0SGarrett D'Amore	wcwidth.o		\
8474297a3b0SGarrett D'Amore	wscol.o
8484297a3b0SGarrett D'Amore
849f841f6adSrafAIOOBJS=			\
850f841f6adSraf	aio.o			\
851f841f6adSraf	aio_alloc.o		\
852dab53f99Sraf	posix_aio.o
853f841f6adSraf
854f841f6adSrafRTOBJS=				\
855f841f6adSraf	clock_timer.o		\
856f841f6adSraf	mqueue.o		\
857f841f6adSraf	pos4obj.o		\
858f841f6adSraf	sched.o			\
859f841f6adSraf	sem.o			\
860f841f6adSraf	shm.o			\
861f841f6adSraf	sigev_thread.o
862f841f6adSraf
863f841f6adSrafTPOOLOBJS=			\
864f841f6adSraf	thread_pool.o
865f841f6adSraf
8667c478bd9Sstevel@tonic-gateTHREADSOBJS=			\
8677c478bd9Sstevel@tonic-gate	alloc.o			\
8687c478bd9Sstevel@tonic-gate	assfail.o		\
8697c478bd9Sstevel@tonic-gate	cancel.o		\
870dcdfe824SRobert Mustacchi	c11_thr.o		\
8717c478bd9Sstevel@tonic-gate	door_calls.o		\
8724f364e7cSRobert Mustacchi	tmem.o			\
8737c478bd9Sstevel@tonic-gate	pthr_attr.o		\
8747c478bd9Sstevel@tonic-gate	pthr_barrier.o		\
8757c478bd9Sstevel@tonic-gate	pthr_cond.o		\
8767c478bd9Sstevel@tonic-gate	pthr_mutex.o		\
8777c478bd9Sstevel@tonic-gate	pthr_rwlock.o		\
8787c478bd9Sstevel@tonic-gate	pthread.o		\
8797c478bd9Sstevel@tonic-gate	rwlock.o		\
8807c478bd9Sstevel@tonic-gate	scalls.o		\
8817c478bd9Sstevel@tonic-gate	sema.o			\
8827c478bd9Sstevel@tonic-gate	sigaction.o		\
8837c478bd9Sstevel@tonic-gate	spawn.o			\
8847c478bd9Sstevel@tonic-gate	synch.o			\
8857c478bd9Sstevel@tonic-gate	tdb_agent.o		\
8867c478bd9Sstevel@tonic-gate	thr.o			\
8877c478bd9Sstevel@tonic-gate	thread_interface.o	\
8887c478bd9Sstevel@tonic-gate	tls.o			\
8897c478bd9Sstevel@tonic-gate	tsd.o
8907c478bd9Sstevel@tonic-gate
8917c478bd9Sstevel@tonic-gateTHREADSMACHOBJS=		\
8927c478bd9Sstevel@tonic-gate	machdep.o
8937c478bd9Sstevel@tonic-gate
8947c478bd9Sstevel@tonic-gateTHREADSASMOBJS=			\
8957c478bd9Sstevel@tonic-gate	asm_subr.o
8967c478bd9Sstevel@tonic-gate
8974703203dSisUNICODEOBJS=			\
8984703203dSis	u8_textprep.o		\
8994703203dSis	uconv.o
9004703203dSis
9017c478bd9Sstevel@tonic-gateUNWINDMACHOBJS=			\
9027c478bd9Sstevel@tonic-gate	unwind.o
9037c478bd9Sstevel@tonic-gate
9047c478bd9Sstevel@tonic-gateUNWINDASMOBJS=			\
9057c478bd9Sstevel@tonic-gate	unwind_frame.o
9067c478bd9Sstevel@tonic-gate
9077c478bd9Sstevel@tonic-gate# objects that implement the transitional large file API
9087c478bd9Sstevel@tonic-gatePORTSYS64=			\
9097c478bd9Sstevel@tonic-gate	lockf64.o		\
9108fd04b83SRoger A. Faulkner	stat64.o
9117c478bd9Sstevel@tonic-gate
9127c478bd9Sstevel@tonic-gatePORTSYS=			\
9137c478bd9Sstevel@tonic-gate	_autofssys.o		\
9148fd04b83SRoger A. Faulkner	access.o		\
9157c478bd9Sstevel@tonic-gate	acctctl.o		\
9167c478bd9Sstevel@tonic-gate	bsd_signal.o		\
917794f0adbSRoger A. Faulkner	chmod.o			\
9188fd04b83SRoger A. Faulkner	chown.o			\
9197c478bd9Sstevel@tonic-gate	corectl.o		\
920a5eb7107SBryan Cantrill	epoll.o			\
9211767006bSBryan Cantrill	eventfd.o		\
9227c478bd9Sstevel@tonic-gate	exacctsys.o		\
9237c478bd9Sstevel@tonic-gate	execl.o			\
9247c478bd9Sstevel@tonic-gate	execle.o		\
9257c478bd9Sstevel@tonic-gate	execv.o			\
9268fd04b83SRoger A. Faulkner	fcntl.o			\
92702bc52beSkchow	getpagesizes.o		\
9287c478bd9Sstevel@tonic-gate	getpeerucred.o		\
9297c478bd9Sstevel@tonic-gate	inst_sync.o		\
9307c478bd9Sstevel@tonic-gate	issetugid.o		\
93145916cd2Sjpk	label.o			\
932794f0adbSRoger A. Faulkner	link.o			\
9337c478bd9Sstevel@tonic-gate	lockf.o			\
9347c478bd9Sstevel@tonic-gate	lwp.o			\
9357c478bd9Sstevel@tonic-gate	lwp_cond.o		\
9367c478bd9Sstevel@tonic-gate	lwp_rwlock.o		\
9377c478bd9Sstevel@tonic-gate	lwp_sigmask.o		\
9387c478bd9Sstevel@tonic-gate	meminfosys.o		\
939794f0adbSRoger A. Faulkner	mkdir.o			\
940794f0adbSRoger A. Faulkner	mknod.o			\
9417c478bd9Sstevel@tonic-gate	msgsys.o		\
9427c478bd9Sstevel@tonic-gate	nfssys.o		\
9438fd04b83SRoger A. Faulkner	open.o			\
9447c478bd9Sstevel@tonic-gate	pgrpsys.o		\
9457c478bd9Sstevel@tonic-gate	posix_sigwait.o		\
9467c478bd9Sstevel@tonic-gate	ppriv.o			\
9477c478bd9Sstevel@tonic-gate	psetsys.o		\
9487c478bd9Sstevel@tonic-gate	rctlsys.o		\
949794f0adbSRoger A. Faulkner	readlink.o		\
9508fd04b83SRoger A. Faulkner	rename.o		\
9517c478bd9Sstevel@tonic-gate	sbrk.o			\
9527c478bd9Sstevel@tonic-gate	semsys.o		\
9537c478bd9Sstevel@tonic-gate	set_errno.o		\
954a237e38eSth199096	sharefs.o		\
9557c478bd9Sstevel@tonic-gate	shmsys.o		\
956f48205beScasper	sidsys.o		\
9577c478bd9Sstevel@tonic-gate	siginterrupt.o		\
9587c478bd9Sstevel@tonic-gate	signal.o		\
9593d729aecSJerry Jelinek	signalfd.o		\
9607c478bd9Sstevel@tonic-gate	sigpending.o		\
9617c478bd9Sstevel@tonic-gate	sigstack.o		\
9628fd04b83SRoger A. Faulkner	stat.o			\
963794f0adbSRoger A. Faulkner	symlink.o		\
9647c478bd9Sstevel@tonic-gate	tasksys.o		\
9657c478bd9Sstevel@tonic-gate	time.o			\
9667c478bd9Sstevel@tonic-gate	time_util.o		\
9676a72db4aSBryan Cantrill	timerfd.o		\
9687c478bd9Sstevel@tonic-gate	ucontext.o		\
9698fd04b83SRoger A. Faulkner	unlink.o		\
9707c478bd9Sstevel@tonic-gate	ustat.o			\
9713b862e9aSRoger A. Faulkner	utimesys.o		\
9727c478bd9Sstevel@tonic-gate	zone.o
9737c478bd9Sstevel@tonic-gate
9747c478bd9Sstevel@tonic-gatePORTREGEX=			\
9757c478bd9Sstevel@tonic-gate	glob.o			\
9767c478bd9Sstevel@tonic-gate	regcmp.o		\
9777c478bd9Sstevel@tonic-gate	regex.o			\
9787c478bd9Sstevel@tonic-gate	wordexp.o
9797c478bd9Sstevel@tonic-gate
98033e8313dSRobert MustacchiPORTREGEX64=			\
98133e8313dSRobert Mustacchi	glob64.o
98233e8313dSRobert Mustacchi
9837c478bd9Sstevel@tonic-gateMOSTOBJS=			\
9847c478bd9Sstevel@tonic-gate	$(STRETS)		\
9857c478bd9Sstevel@tonic-gate	$(CRTOBJS)		\
9867c478bd9Sstevel@tonic-gate	$(DYNOBJS)		\
9877c478bd9Sstevel@tonic-gate	$(FPOBJS)		\
9887c478bd9Sstevel@tonic-gate	$(FPASMOBJS)		\
9897c478bd9Sstevel@tonic-gate	$(ATOMICOBJS)		\
9909d12795fSRobert Mustacchi	$(CHACHAOBJS)		\
991da6c28aaSamw	$(XATTROBJS)		\
9927c478bd9Sstevel@tonic-gate	$(COMOBJS)		\
993e127a3e7Sraf	$(DTRACEOBJS)		\
9947c478bd9Sstevel@tonic-gate	$(GENOBJS)		\
9957c478bd9Sstevel@tonic-gate	$(PORTFP)		\
9967c478bd9Sstevel@tonic-gate	$(PORTGEN)		\
9977c478bd9Sstevel@tonic-gate	$(PORTGEN64)		\
9987c478bd9Sstevel@tonic-gate	$(PORTI18N)		\
9997c478bd9Sstevel@tonic-gate	$(PORTI18N_COND)	\
10004297a3b0SGarrett D'Amore	$(PORTLOCALE)		\
10017c478bd9Sstevel@tonic-gate	$(PORTPRINT)		\
10027c478bd9Sstevel@tonic-gate	$(PORTPRINT_C89)	\
10037c478bd9Sstevel@tonic-gate	$(PORTPRINT_W)		\
10047c478bd9Sstevel@tonic-gate	$(PORTREGEX)		\
100533e8313dSRobert Mustacchi	$(PORTREGEX64)		\
10067c478bd9Sstevel@tonic-gate	$(PORTSTDIO)		\
10077c478bd9Sstevel@tonic-gate	$(PORTSTDIO64)		\
10087c478bd9Sstevel@tonic-gate	$(PORTSTDIO_C89)	\
10097c478bd9Sstevel@tonic-gate	$(PORTSTDIO_W)		\
10107c478bd9Sstevel@tonic-gate	$(PORTSYS)		\
10117c478bd9Sstevel@tonic-gate	$(PORTSYS64)		\
1012f841f6adSraf	$(AIOOBJS)		\
1013f841f6adSraf	$(RTOBJS)		\
1014f841f6adSraf	$(TPOOLOBJS)		\
10157c478bd9Sstevel@tonic-gate	$(THREADSOBJS)		\
10167c478bd9Sstevel@tonic-gate	$(THREADSMACHOBJS)	\
10177c478bd9Sstevel@tonic-gate	$(THREADSASMOBJS)	\
10184703203dSis	$(UNICODEOBJS)		\
10197c478bd9Sstevel@tonic-gate	$(UNWINDMACHOBJS)	\
10207c478bd9Sstevel@tonic-gate	$(UNWINDASMOBJS)	\
10217c478bd9Sstevel@tonic-gate	$(COMSYSOBJS)		\
10227c478bd9Sstevel@tonic-gate	$(SYSOBJS)		\
10237c478bd9Sstevel@tonic-gate	$(COMSYSOBJS64)		\
102460c80770Scraigm	$(SYSOBJS64)		\
102560c80770Scraigm	$(VALUES)
10267c478bd9Sstevel@tonic-gate
10277c478bd9Sstevel@tonic-gateTRACEOBJS=			\
10287c478bd9Sstevel@tonic-gate	plockstat.o
10297c478bd9Sstevel@tonic-gate
10307c478bd9Sstevel@tonic-gate# NOTE:	libc.so.1 must be linked with the minimal crti.o and crtn.o
10313e0c8044SRichard Lowe# modules whose source is provided in the $(SRC)/lib/crt directory.
10327c478bd9Sstevel@tonic-gate# This must be done because otherwise the Sun C compiler would insert
10337c478bd9Sstevel@tonic-gate# its own versions of these modules and those versions contain code
10347c478bd9Sstevel@tonic-gate# to call out to C++ initialization functions.  Such C++ initialization
10357c478bd9Sstevel@tonic-gate# functions can call back into libc before thread initialization is
10367c478bd9Sstevel@tonic-gate# complete and this leads to segmentation violations and other problems.
10377c478bd9Sstevel@tonic-gate# Since libc contains no C++ code, linking with the minimal crti.o and
10387c478bd9Sstevel@tonic-gate# crtn.o modules is safe and avoids the problems described above.
10397c478bd9Sstevel@tonic-gateOBJECTS= $(CRTI) $(MOSTOBJS) $(CRTN)
10403e0c8044SRichard LoweCRTSRCS= ../../crt/i386
10417c478bd9Sstevel@tonic-gate
10427c478bd9Sstevel@tonic-gateLDPASS_OFF=	$(POUND_SIGN)
10437c478bd9Sstevel@tonic-gate
10447c478bd9Sstevel@tonic-gate# include common library definitions
10457c478bd9Sstevel@tonic-gateinclude ../../Makefile.lib
10467c478bd9Sstevel@tonic-gate
10477c478bd9Sstevel@tonic-gate# we need to override the default SONAME here because we might
10487c478bd9Sstevel@tonic-gate# be building a variant object (still libc.so.1, but different filename)
10497c478bd9Sstevel@tonic-gateSONAME = libc.so.1
10507c478bd9Sstevel@tonic-gate
10517c478bd9Sstevel@tonic-gateCFLAGS += $(CCVERBOSE) $(CTF_FLAGS)
10527c478bd9Sstevel@tonic-gate
10537c478bd9Sstevel@tonic-gate# This is necessary to avoid problems with calling _ex_unwind().
10547c478bd9Sstevel@tonic-gate# We probably don't want any inlining anyway.
10557c478bd9Sstevel@tonic-gateXINLINE = -xinline=
10567c478bd9Sstevel@tonic-gateCFLAGS += $(XINLINE)
10577c478bd9Sstevel@tonic-gate
10587014882cSRichard LoweCERRWARN += -_gcc=-Wno-parentheses
10597014882cSRichard LoweCERRWARN += -_gcc=-Wno-switch
10607014882cSRichard LoweCERRWARN += -_gcc=-Wno-uninitialized
10617014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-value
10627014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-label
10637014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-variable
10647014882cSRichard LoweCERRWARN += -_gcc=-Wno-type-limits
10657014882cSRichard LoweCERRWARN += -_gcc=-Wno-char-subscripts
10667014882cSRichard LoweCERRWARN += -_gcc=-Wno-clobbered
10677014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-function
10687014882cSRichard LoweCERRWARN += -_gcc=-Wno-address
10697014882cSRichard Lowe
10707c478bd9Sstevel@tonic-gate# Setting THREAD_DEBUG = -DTHREAD_DEBUG (make THREAD_DEBUG=-DTHREAD_DEBUG ...)
10717c478bd9Sstevel@tonic-gate# enables ASSERT() checking in the threads portion of the library.
10727c478bd9Sstevel@tonic-gate# This is automatically enabled for DEBUG builds, not for non-debug builds.
10737c478bd9Sstevel@tonic-gateTHREAD_DEBUG =
10747c478bd9Sstevel@tonic-gate$(NOT_RELEASE_BUILD)THREAD_DEBUG = -DTHREAD_DEBUG
10757c478bd9Sstevel@tonic-gate
10767b1b4281SRoger A. Faulkner# Make string literals read-only to save memory.
10777b1b4281SRoger A. FaulknerCFLAGS += $(XSTRCONST)
10787b1b4281SRoger A. Faulkner
10797c478bd9Sstevel@tonic-gateALTPICS= $(TRACEOBJS:%=pics/%)
10807c478bd9Sstevel@tonic-gate
10811e49577aSRod Evans$(DYNLIB) := BUILD.SO = $(LD) -o $@ -G $(DYNFLAGS) $(PICS) $(ALTPICS) \
10821e49577aSRod Evans		$(EXTPICS) $(LDLIBS)
10837c478bd9Sstevel@tonic-gate
10841e49577aSRod EvansMAPFILES =	$(LIBCDIR)/port/mapfile-vers
10857c478bd9Sstevel@tonic-gate
10867c478bd9Sstevel@tonic-gate#
10877c478bd9Sstevel@tonic-gate# EXTN_CPPFLAGS and EXTN_CFLAGS set in enclosing Makefile
10887c478bd9Sstevel@tonic-gate#
10897c478bd9Sstevel@tonic-gateCFLAGS +=	$(EXTN_CFLAGS)
1090d4204c85SrafCPPFLAGS=	-D_REENTRANT -Di386 $(EXTN_CPPFLAGS) $(THREAD_DEBUG) \
10911e49577aSRod Evans		-I$(LIBCBASE)/inc -I$(LIBCDIR)/inc $(CPPFLAGS.master)
109260c80770ScraigmASFLAGS=	$(AS_PICFLAGS) -P -D__STDC__ -D_ASM $(CPPFLAGS) $(i386_AS_XARCH)
10937c478bd9Sstevel@tonic-gate
10948fd04b83SRoger A. Faulkner# As a favor to the dtrace syscall provider, libc still calls the
10958fd04b83SRoger A. Faulkner# old syscall traps that have been obsoleted by the *at() interfaces.
10968fd04b83SRoger A. Faulkner# Delete this to compile libc using only the new *at() system call traps
10978fd04b83SRoger A. FaulknerCPPFLAGS += -D_RETAIN_OLD_SYSCALLS
10988fd04b83SRoger A. Faulkner
10997c478bd9Sstevel@tonic-gate# Inform the run-time linker about libc specialized initialization
11007c478bd9Sstevel@tonic-gateRTLDINFO =	-z rtldinfo=tls_rtldinfo
1101f808c858SrafDYNFLAGS +=	$(RTLDINFO)
11027c478bd9Sstevel@tonic-gate
110332a69537SRoger A. Faulkner# Force libc's internal references to be resolved immediately upon loading
110432a69537SRoger A. Faulkner# in order to avoid critical region problems.  Since almost all libc symbols
110532a69537SRoger A. Faulkner# are marked 'protected' in the mapfiles, this is a minimal set (15 to 20).
110632a69537SRoger A. FaulknerDYNFLAGS +=	-znow
110732a69537SRoger A. Faulkner
1108f808c858SrafDYNFLAGS +=	-e __rtboot
11097c478bd9Sstevel@tonic-gateDYNFLAGS +=	$(EXTN_DYNFLAGS)
11107c478bd9Sstevel@tonic-gate
1111e127a3e7Sraf# Inform the kernel about the initial DTrace area (in case
1112e127a3e7Sraf# libc is being used as the interpreter / runtime linker).
1113e127a3e7SrafDTRACE_DATA =	-zdtrace=dtrace_data
1114e127a3e7SrafDYNFLAGS +=	$(DTRACE_DATA)
1115e127a3e7Sraf
1116e127a3e7Sraf# DTrace needs an executable data segment.
111724da5b34SrieMAPFILE.NED=
1118e127a3e7Sraf
11197c478bd9Sstevel@tonic-gateBUILD.s=	$(AS) $(ASFLAGS) $< -o $@
11207c478bd9Sstevel@tonic-gate
11217c478bd9Sstevel@tonic-gate# Override this top level flag so the compiler builds in its native
11227c478bd9Sstevel@tonic-gate# C99 mode.  This has been enabled to support the complex arithmetic
11237c478bd9Sstevel@tonic-gate# added to libc.
11247c478bd9Sstevel@tonic-gateC99MODE=	$(C99_ENABLE)
11257c478bd9Sstevel@tonic-gate
11267c478bd9Sstevel@tonic-gate# libc method of building an archive
112723a1cceaSRoger A. Faulkner# The "$(GREP) -v ' L '" part is necessary only until
112823a1cceaSRoger A. Faulkner# lorder is fixed to ignore thread-local variables.
11297c478bd9Sstevel@tonic-gateBUILD.AR= $(RM) $@ ; \
113023a1cceaSRoger A. Faulkner	$(AR) q $@ `$(LORDER) $(MOSTOBJS:%=$(DIR)/%) | $(GREP) -v ' L ' | $(TSORT)`
11317c478bd9Sstevel@tonic-gate
11327c478bd9Sstevel@tonic-gate# extra files for the clean target
1133263f549eSPatrick MooneyCLEANFILES +=			\
11341e49577aSRod Evans	$(LIBCDIR)/port/gen/errlst.c	\
11351e49577aSRod Evans	$(LIBCDIR)/port/gen/new_list.c	\
11367c478bd9Sstevel@tonic-gate	assym.h			\
11377c478bd9Sstevel@tonic-gate	genassym		\
11387c478bd9Sstevel@tonic-gate	crt/_rtld.s		\
11397c478bd9Sstevel@tonic-gate	crt/_rtbootld.s		\
11407c478bd9Sstevel@tonic-gate	pics/_rtbootld.o	\
11417c478bd9Sstevel@tonic-gate	pics/crti.o		\
11427c478bd9Sstevel@tonic-gate	pics/crtn.o		\
11437c478bd9Sstevel@tonic-gate	$(ALTPICS)
11447c478bd9Sstevel@tonic-gate
1145f808c858SrafCLOBBERFILES +=	$(LIB_PIC)
11467c478bd9Sstevel@tonic-gate
11477c478bd9Sstevel@tonic-gate# list of C source for lint
11487c478bd9Sstevel@tonic-gateSRCS=							\
11497c478bd9Sstevel@tonic-gate	$(ATOMICOBJS:%.o=$(SRC)/common/atomic/%.c)	\
1150da6c28aaSamw	$(XATTROBJS:%.o=$(SRC)/common/xattr/%.c)	\
11517c478bd9Sstevel@tonic-gate	$(COMOBJS:%.o=$(SRC)/common/util/%.c)		\
1152e127a3e7Sraf	$(DTRACEOBJS:%.o=$(SRC)/common/dtrace/%.c)	\
11531e49577aSRod Evans	$(PORTFP:%.o=$(LIBCDIR)/port/fp/%.c)			\
11541e49577aSRod Evans	$(PORTGEN:%.o=$(LIBCDIR)/port/gen/%.c)			\
11551e49577aSRod Evans	$(PORTI18N:%.o=$(LIBCDIR)/port/i18n/%.c)		\
11564297a3b0SGarrett D'Amore	$(PORTLOCALE:%.o=$(LIBCDIR)/port/locale/%.c)		\
11571e49577aSRod Evans	$(PORTPRINT:%.o=$(LIBCDIR)/port/print/%.c)		\
11581e49577aSRod Evans	$(PORTREGEX:%.o=$(LIBCDIR)/port/regex/%.c)		\
11591e49577aSRod Evans	$(PORTSTDIO:%.o=$(LIBCDIR)/port/stdio/%.c)		\
11601e49577aSRod Evans	$(PORTSYS:%.o=$(LIBCDIR)/port/sys/%.c)			\
11611e49577aSRod Evans	$(AIOOBJS:%.o=$(LIBCDIR)/port/aio/%.c)			\
11621e49577aSRod Evans	$(RTOBJS:%.o=$(LIBCDIR)/port/rt/%.c)			\
11631e49577aSRod Evans	$(TPOOLOBJS:%.o=$(LIBCDIR)/port/tpool/%.c)		\
11641e49577aSRod Evans	$(THREADSOBJS:%.o=$(LIBCDIR)/port/threads/%.c)		\
11651e49577aSRod Evans	$(THREADSMACHOBJS:%.o=$(LIBCDIR)/$(MACH)/threads/%.c)	\
11664703203dSis	$(UNICODEOBJS:%.o=$(SRC)/common/unicode/%.c)	\
11671e49577aSRod Evans	$(UNWINDMACHOBJS:%.o=$(LIBCDIR)/port/unwind/%.c)	\
11681e49577aSRod Evans	$(FPOBJS:%.o=$(LIBCDIR)/$(MACH)/fp/%.c)			\
11697c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/ecvt.c				\
11707c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/makectxt.c			\
11717c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/siginfolst.c			\
11727c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/siglongjmp.c			\
11737c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/strcmp.c			\
11747c478bd9Sstevel@tonic-gate	$(LIBCBASE)/gen/sync_instruction_memory.c	\
11757c478bd9Sstevel@tonic-gate	$(LIBCBASE)/sys/ptrace.c			\
11767c478bd9Sstevel@tonic-gate	$(LIBCBASE)/sys/uadmin.c
11777c478bd9Sstevel@tonic-gate
11787c478bd9Sstevel@tonic-gate# conditional assignments
117960c80770Scraigm$(DYNLIB) := CRTI = crti.o
11807c478bd9Sstevel@tonic-gate$(DYNLIB) := CRTN = crtn.o
11817c478bd9Sstevel@tonic-gate
11827c478bd9Sstevel@tonic-gate# Files which need the threads .il inline template
11837c478bd9Sstevel@tonic-gateTIL=				\
1184f841f6adSraf	aio.o			\
11857c478bd9Sstevel@tonic-gate	alloc.o			\
11867c478bd9Sstevel@tonic-gate	assfail.o		\
11877c478bd9Sstevel@tonic-gate	atexit.o		\
11887c478bd9Sstevel@tonic-gate	atfork.o		\
11897c478bd9Sstevel@tonic-gate	cancel.o		\
11907c478bd9Sstevel@tonic-gate	door_calls.o		\
119123a1cceaSRoger A. Faulkner	err.o			\
11927c478bd9Sstevel@tonic-gate	errno.o			\
11937c478bd9Sstevel@tonic-gate	lwp.o			\
1194f841f6adSraf	ma.o			\
11957c478bd9Sstevel@tonic-gate	machdep.o		\
1196f841f6adSraf	posix_aio.o		\
11977c478bd9Sstevel@tonic-gate	pthr_attr.o		\
11987c478bd9Sstevel@tonic-gate	pthr_barrier.o		\
11997c478bd9Sstevel@tonic-gate	pthr_cond.o		\
12007c478bd9Sstevel@tonic-gate	pthr_mutex.o		\
12017c478bd9Sstevel@tonic-gate	pthr_rwlock.o		\
12027c478bd9Sstevel@tonic-gate	pthread.o		\
12037c478bd9Sstevel@tonic-gate	rand.o			\
12047c478bd9Sstevel@tonic-gate	rwlock.o		\
12057c478bd9Sstevel@tonic-gate	scalls.o		\
1206d4204c85Sraf	sched.o			\
12077c478bd9Sstevel@tonic-gate	sema.o			\
12087c478bd9Sstevel@tonic-gate	sigaction.o		\
1209f841f6adSraf	sigev_thread.o		\
12107c478bd9Sstevel@tonic-gate	spawn.o			\
12117c478bd9Sstevel@tonic-gate	stack.o			\
12127c478bd9Sstevel@tonic-gate	synch.o			\
12137c478bd9Sstevel@tonic-gate	tdb_agent.o		\
12147c478bd9Sstevel@tonic-gate	thr.o			\
12157c478bd9Sstevel@tonic-gate	thread_interface.o	\
1216f841f6adSraf	thread_pool.o		\
12177c478bd9Sstevel@tonic-gate	tls.o			\
12187c478bd9Sstevel@tonic-gate	tsd.o			\
12194f364e7cSRobert Mustacchi	tmem.o			\
12207c478bd9Sstevel@tonic-gate	unwind.o
12217c478bd9Sstevel@tonic-gate
12227c478bd9Sstevel@tonic-gateTHREADS_INLINES = $(LIBCBASE)/threads/i386.il
12237c478bd9Sstevel@tonic-gate$(TIL:%=pics/%) := CFLAGS += $(THREADS_INLINES)
12247c478bd9Sstevel@tonic-gate
12257c478bd9Sstevel@tonic-gate# pics/mul64.o := CFLAGS += $(LIBCBASE)/crt/mul64.il
12267c478bd9Sstevel@tonic-gate
12277c478bd9Sstevel@tonic-gate# large-file-aware components that should be built large
12287c478bd9Sstevel@tonic-gate
12297c478bd9Sstevel@tonic-gate$(COMSYSOBJS64:%=pics/%) := \
12307c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
12317c478bd9Sstevel@tonic-gate
12327c478bd9Sstevel@tonic-gate$(SYSOBJS64:%=pics/%) := \
12337c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
12347c478bd9Sstevel@tonic-gate
12357c478bd9Sstevel@tonic-gate$(PORTGEN64:%=pics/%) := \
12367c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
12377c478bd9Sstevel@tonic-gate
123833e8313dSRobert Mustacchi$(PORTREGEX64:%=pics/%) := \
123933e8313dSRobert Mustacchi	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
124033e8313dSRobert Mustacchi
12417c478bd9Sstevel@tonic-gate$(PORTSTDIO64:%=pics/%) := \
12427c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
12437c478bd9Sstevel@tonic-gate
12447c478bd9Sstevel@tonic-gate$(PORTSYS64:%=pics/%) := \
12457c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
12467c478bd9Sstevel@tonic-gate
12477c478bd9Sstevel@tonic-gate$(PORTSTDIO_W:%=pics/%) := \
12487c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_WIDE
12497c478bd9Sstevel@tonic-gate
12507c478bd9Sstevel@tonic-gate$(PORTPRINT_W:%=pics/%) := \
12517c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_WIDE
12527c478bd9Sstevel@tonic-gate
12537c478bd9Sstevel@tonic-gate$(PORTPRINT_C89:%=pics/%) := \
12547c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_C89_INTMAX32
12557c478bd9Sstevel@tonic-gate
12567c478bd9Sstevel@tonic-gate$(PORTSTDIO_C89:%=pics/%) := \
12577c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_C89_INTMAX32
12587c478bd9Sstevel@tonic-gate
12597c478bd9Sstevel@tonic-gate$(PORTI18N_COND:%=pics/%) := \
12607c478bd9Sstevel@tonic-gate	CPPFLAGS += -D_WCS_LONGLONG
12617c478bd9Sstevel@tonic-gate
12629d12795fSRobert Mustacchipics/arc4random.o :=	CPPFLAGS += -I$(SRC)/common/crypto/chacha
12639d12795fSRobert Mustacchi
1264263f549eSPatrick Mooneypics/__clock_gettime.o := CPPFLAGS += $(COMMPAGE_CPPFLAGS)
1265263f549eSPatrick Mooney
12667c478bd9Sstevel@tonic-gate.KEEP_STATE:
12677c478bd9Sstevel@tonic-gate
126860c80770Scraigmall: $(LIBS) $(LIB_PIC)
12697c478bd9Sstevel@tonic-gate
12701e49577aSRod Evanslint	:=	CPPFLAGS += -I$(LIBCDIR)/$(MACH)/fp
12717c478bd9Sstevel@tonic-gatelint	:=	CPPFLAGS += -D_MSE_INT_H -D_LCONV_C99
12727c478bd9Sstevel@tonic-gatelint	:=	LINTFLAGS += -mn -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
12737c478bd9Sstevel@tonic-gate
12747c478bd9Sstevel@tonic-gatelint:
12757c478bd9Sstevel@tonic-gate	@echo $(LINT.c) ...
12767c478bd9Sstevel@tonic-gate	@$(LINT.c) $(SRCS) $(LDLIBS)
12777c478bd9Sstevel@tonic-gate
12781e49577aSRod Evans$(LINTLIB):= SRCS=$(LIBCDIR)/port/llib-lc
12797c478bd9Sstevel@tonic-gate$(LINTLIB):= CPPFLAGS += -D_MSE_INT_H
12807c478bd9Sstevel@tonic-gate$(LINTLIB):= LINTFLAGS=-nvx
12817c478bd9Sstevel@tonic-gate
12827c478bd9Sstevel@tonic-gate# object files that depend on inline template
12837c478bd9Sstevel@tonic-gate$(TIL:%=pics/%): $(LIBCBASE)/threads/i386.il
12847c478bd9Sstevel@tonic-gate# pics/mul64.o: $(LIBCBASE)/crt/mul64.il
12857c478bd9Sstevel@tonic-gate
12867c478bd9Sstevel@tonic-gate# include common libc targets
12871e49577aSRod Evansinclude $(LIBCDIR)/Makefile.targ
12887c478bd9Sstevel@tonic-gate
12897c478bd9Sstevel@tonic-gate# We need to strip out all CTF and DOF data from the static library
12907c478bd9Sstevel@tonic-gate$(LIB_PIC) := DIR = pics
12917c478bd9Sstevel@tonic-gate$(LIB_PIC): pics $$(PICS)
12927c478bd9Sstevel@tonic-gate	$(BUILD.AR)
12937c478bd9Sstevel@tonic-gate	$(MCS) -d -n .SUNW_ctf $@ > /dev/null 2>&1
12947c478bd9Sstevel@tonic-gate	$(MCS) -d -n .SUNW_dof $@ > /dev/null 2>&1
12957c478bd9Sstevel@tonic-gate	$(AR) -ts $@ > /dev/null
12967c478bd9Sstevel@tonic-gate	$(POST_PROCESS_A)
12977c478bd9Sstevel@tonic-gate
12987c478bd9Sstevel@tonic-gate$(LIBCBASE)/crt/_rtbootld.s: $(LIBCBASE)/crt/_rtboot.s $(LIBCBASE)/crt/_rtld.c
12997c478bd9Sstevel@tonic-gate	$(CC) $(CPPFLAGS) $(CTF_FLAGS) -O -S $(C_PICFLAGS) \
13007c478bd9Sstevel@tonic-gate	    $(LIBCBASE)/crt/_rtld.c -o $(LIBCBASE)/crt/_rtld.s
13017c478bd9Sstevel@tonic-gate	$(CAT) $(LIBCBASE)/crt/_rtboot.s $(LIBCBASE)/crt/_rtld.s > $@
13027c478bd9Sstevel@tonic-gate	$(RM) $(LIBCBASE)/crt/_rtld.s
13037c478bd9Sstevel@tonic-gate
13047c478bd9Sstevel@tonic-gate# partially built from C source
13057c478bd9Sstevel@tonic-gatepics/_rtbootld.o: $(LIBCBASE)/crt/_rtbootld.s
13067c478bd9Sstevel@tonic-gate	$(AS) $(ASFLAGS) $(LIBCBASE)/crt/_rtbootld.s -o $@
13077c478bd9Sstevel@tonic-gate	$(CTFCONVERT_O)
13087c478bd9Sstevel@tonic-gate
13097c478bd9Sstevel@tonic-gateASSYMDEP_OBJS=			\
13107c478bd9Sstevel@tonic-gate	_lwp_mutex_unlock.o	\
13117c478bd9Sstevel@tonic-gate	_stack_grow.o		\
13127c478bd9Sstevel@tonic-gate	getcontext.o		\
13133de0cfbbSRoger A. Faulkner	setjmp.o		\
13147c478bd9Sstevel@tonic-gate	tls_get_addr.o		\
1315657b1f3dSraf	vforkx.o
13167c478bd9Sstevel@tonic-gate
13177c478bd9Sstevel@tonic-gate$(ASSYMDEP_OBJS:%=pics/%)	:=	CPPFLAGS += -I.
13187c478bd9Sstevel@tonic-gate
13197c478bd9Sstevel@tonic-gate$(ASSYMDEP_OBJS:%=pics/%): assym.h
13207c478bd9Sstevel@tonic-gate
13217c478bd9Sstevel@tonic-gate# assym.h build rules
13227c478bd9Sstevel@tonic-gate
13231e49577aSRod EvansGENASSYM_C = $(LIBCDIR)/$(MACH)/genassym.c
13247c478bd9Sstevel@tonic-gate
13257c478bd9Sstevel@tonic-gategenassym: $(GENASSYM_C)
13267f11fd00SRichard Lowe	$(NATIVECC) $(NATIVE_CFLAGS) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc	\
1327ac823a0fSJon Tibble		-D__EXTENSIONS__ $(CPPFLAGS.native) -o $@ $(GENASSYM_C)
13287c478bd9Sstevel@tonic-gate
13291e49577aSRod EvansOFFSETS = $(LIBCDIR)/$(MACH)/offsets.in
13307c478bd9Sstevel@tonic-gate
13317c478bd9Sstevel@tonic-gateassym.h: $(OFFSETS) genassym
13327c478bd9Sstevel@tonic-gate	$(OFFSETS_CREATE) <$(OFFSETS) >$@
13337c478bd9Sstevel@tonic-gate	./genassym >>$@
13347c478bd9Sstevel@tonic-gate
13357c478bd9Sstevel@tonic-gate# derived C source and related explicit dependencies
13361e49577aSRod Evans$(LIBCDIR)/port/gen/errlst.c + \
13371e49577aSRod Evans$(LIBCDIR)/port/gen/new_list.c: $(LIBCDIR)/port/gen/errlist $(LIBCDIR)/port/gen/errlist.awk
13381e49577aSRod Evans	cd $(LIBCDIR)/port/gen; pwd; $(AWK) -f errlist.awk < errlist
13397c478bd9Sstevel@tonic-gate
13401e49577aSRod Evanspics/errlst.o: $(LIBCDIR)/port/gen/errlst.c
13417c478bd9Sstevel@tonic-gate
13421e49577aSRod Evanspics/new_list.o: $(LIBCDIR)/port/gen/new_list.c
1343