xref: /onnv-gate/usr/src/lib/libc/amd64/Makefile (revision 13093:48f2dbca79a2)
10Sstevel@tonic-gate#
20Sstevel@tonic-gate# CDDL HEADER START
30Sstevel@tonic-gate#
40Sstevel@tonic-gate# The contents of this file are subject to the terms of the
51475Scasper# Common Development and Distribution License (the "License").
61475Scasper# You may not use this file except in compliance with the License.
70Sstevel@tonic-gate#
80Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
90Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
100Sstevel@tonic-gate# See the License for the specific language governing permissions
110Sstevel@tonic-gate# and limitations under the License.
120Sstevel@tonic-gate#
130Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
140Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
150Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
160Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
170Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
180Sstevel@tonic-gate#
190Sstevel@tonic-gate# CDDL HEADER END
200Sstevel@tonic-gate#
210Sstevel@tonic-gate#
2212692SAli.Bahrami@Oracle.COM# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
230Sstevel@tonic-gate#
242522Sraf
2512719SRod.Evans@Sun.COMLIBCBASE=	.
2612719SRod.Evans@Sun.COMLIBCDIR=	$(SRC)/lib/libc
2712719SRod.Evans@Sun.COMLIBRARY=	libc.a
2812719SRod.Evans@Sun.COMLIB_PIC=	libc_pic.a
2912719SRod.Evans@Sun.COMVERS=		.1
3012719SRod.Evans@Sun.COMCPP=		/usr/lib/cpp
310Sstevel@tonic-gateTARGET_ARCH=	amd64
320Sstevel@tonic-gate
330Sstevel@tonic-gate# objects are grouped by source directory
340Sstevel@tonic-gate
350Sstevel@tonic-gate# local objects
360Sstevel@tonic-gateSTRETS=
370Sstevel@tonic-gate
380Sstevel@tonic-gateCRTOBJS=			\
390Sstevel@tonic-gate	cerror.o
400Sstevel@tonic-gate
410Sstevel@tonic-gateDYNOBJS=
420Sstevel@tonic-gate
430Sstevel@tonic-gateFPOBJS=				\
440Sstevel@tonic-gate	_base_il.o		\
450Sstevel@tonic-gate	fpgetmask.o		\
460Sstevel@tonic-gate	fpgetround.o		\
470Sstevel@tonic-gate	fpsetmask.o		\
480Sstevel@tonic-gate	fpsetround.o		\
490Sstevel@tonic-gate	fpstart.o
500Sstevel@tonic-gate
510Sstevel@tonic-gateI386FPOBJS=			\
520Sstevel@tonic-gate	_D_cplx_div.o		\
530Sstevel@tonic-gate	_D_cplx_div_ix.o	\
540Sstevel@tonic-gate	_D_cplx_div_rx.o	\
550Sstevel@tonic-gate	_D_cplx_lr_div.o	\
560Sstevel@tonic-gate	_D_cplx_lr_div_ix.o	\
570Sstevel@tonic-gate	_D_cplx_lr_div_rx.o	\
580Sstevel@tonic-gate	_D_cplx_mul.o		\
590Sstevel@tonic-gate	_F_cplx_div.o		\
600Sstevel@tonic-gate	_F_cplx_div_ix.o	\
610Sstevel@tonic-gate	_F_cplx_div_rx.o	\
620Sstevel@tonic-gate	_F_cplx_lr_div.o	\
630Sstevel@tonic-gate	_F_cplx_lr_div_ix.o	\
640Sstevel@tonic-gate	_F_cplx_lr_div_rx.o	\
650Sstevel@tonic-gate	_F_cplx_mul.o		\
660Sstevel@tonic-gate	_X_cplx_div.o		\
670Sstevel@tonic-gate	_X_cplx_div_ix.o	\
680Sstevel@tonic-gate	_X_cplx_div_rx.o	\
690Sstevel@tonic-gate	_X_cplx_lr_div.o	\
700Sstevel@tonic-gate	_X_cplx_lr_div_ix.o	\
710Sstevel@tonic-gate	_X_cplx_lr_div_rx.o	\
720Sstevel@tonic-gate	_X_cplx_mul.o
730Sstevel@tonic-gate
740Sstevel@tonic-gateFPASMOBJS=			\
750Sstevel@tonic-gate	__xgetRD.o		\
760Sstevel@tonic-gate	_xtoll.o		\
770Sstevel@tonic-gate	_xtoull.o		\
780Sstevel@tonic-gate	fpcw.o			\
790Sstevel@tonic-gate	fpgetsticky.o		\
800Sstevel@tonic-gate	fpsetsticky.o
810Sstevel@tonic-gate
820Sstevel@tonic-gateATOMICOBJS=			\
830Sstevel@tonic-gate	atomic.o
840Sstevel@tonic-gate
855331SamwXATTROBJS=			\
865331Samw	xattr_common.o
870Sstevel@tonic-gateCOMOBJS=			\
880Sstevel@tonic-gate	bcmp.o			\
890Sstevel@tonic-gate	bcopy.o			\
900Sstevel@tonic-gate	bsearch.o		\
910Sstevel@tonic-gate	bzero.o			\
920Sstevel@tonic-gate	qsort.o			\
930Sstevel@tonic-gate	strtol.o		\
948872SJordan.Vaughan@Sun.com	strtoul.o		\
958872SJordan.Vaughan@Sun.com	strtoll.o		\
968872SJordan.Vaughan@Sun.com	strtoull.o
970Sstevel@tonic-gate
980Sstevel@tonic-gateGENOBJS=			\
990Sstevel@tonic-gate	_getsp.o		\
1000Sstevel@tonic-gate	abs.o			\
1010Sstevel@tonic-gate	alloca.o		\
1025331Samw	attrat.o		\
1030Sstevel@tonic-gate	byteorder.o		\
1040Sstevel@tonic-gate	cuexit.o		\
1050Sstevel@tonic-gate	ecvt.o			\
1060Sstevel@tonic-gate	errlst.o		\
1070Sstevel@tonic-gate	amd64_data.o		\
1080Sstevel@tonic-gate	ldivide.o		\
1090Sstevel@tonic-gate	lock.o			\
1100Sstevel@tonic-gate	makectxt.o		\
1110Sstevel@tonic-gate	memccpy.o		\
1120Sstevel@tonic-gate	memchr.o		\
1130Sstevel@tonic-gate	memcmp.o		\
1140Sstevel@tonic-gate	memcpy.o		\
1150Sstevel@tonic-gate	memset.o		\
1160Sstevel@tonic-gate	new_list.o		\
1176320Sbholler	proc64_id.o		\
1186320Sbholler	proc64_support.o	\
1190Sstevel@tonic-gate	setjmp.o		\
1200Sstevel@tonic-gate	siginfolst.o		\
1210Sstevel@tonic-gate	siglongjmp.o		\
1220Sstevel@tonic-gate	strcmp.o		\
1230Sstevel@tonic-gate	strcpy.o		\
1240Sstevel@tonic-gate	strlen.o		\
1250Sstevel@tonic-gate	strncmp.o		\
1260Sstevel@tonic-gate	strncpy.o		\
1273153Sdg199075	strnlen.o		\
1280Sstevel@tonic-gate	sync_instruction_memory.o
1290Sstevel@tonic-gate
1300Sstevel@tonic-gate# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
1310Sstevel@tonic-gate# This macro should ALWAYS be empty; native APIs are already 'large file'.
1320Sstevel@tonic-gateCOMSYSOBJS64=
1330Sstevel@tonic-gate
1340Sstevel@tonic-gateSYSOBJS64=
1350Sstevel@tonic-gate
1360Sstevel@tonic-gateCOMSYSOBJS=			\
1370Sstevel@tonic-gate	__clock_timer.o		\
1380Sstevel@tonic-gate	__getloadavg.o		\
1390Sstevel@tonic-gate	__rusagesys.o		\
1400Sstevel@tonic-gate	__signotify.o		\
1410Sstevel@tonic-gate	__sigrt.o		\
1420Sstevel@tonic-gate	__time.o		\
1430Sstevel@tonic-gate	_lgrp_home_fast.o	\
1440Sstevel@tonic-gate	_lgrpsys.o		\
1450Sstevel@tonic-gate	_nfssys.o		\
1460Sstevel@tonic-gate	_portfs.o		\
1470Sstevel@tonic-gate	_pset.o			\
1480Sstevel@tonic-gate	_rpcsys.o		\
1490Sstevel@tonic-gate	_sigaction.o		\
1500Sstevel@tonic-gate	_so_accept.o		\
1510Sstevel@tonic-gate	_so_bind.o		\
1520Sstevel@tonic-gate	_so_connect.o		\
1530Sstevel@tonic-gate	_so_getpeername.o	\
1540Sstevel@tonic-gate	_so_getsockname.o	\
1550Sstevel@tonic-gate	_so_getsockopt.o	\
1560Sstevel@tonic-gate	_so_listen.o		\
1570Sstevel@tonic-gate	_so_recv.o		\
1580Sstevel@tonic-gate	_so_recvfrom.o		\
1590Sstevel@tonic-gate	_so_recvmsg.o		\
1600Sstevel@tonic-gate	_so_send.o		\
1610Sstevel@tonic-gate	_so_sendmsg.o		\
1620Sstevel@tonic-gate	_so_sendto.o		\
1630Sstevel@tonic-gate	_so_setsockopt.o	\
1640Sstevel@tonic-gate	_so_shutdown.o		\
1650Sstevel@tonic-gate	_so_socket.o		\
1660Sstevel@tonic-gate	_so_socketpair.o	\
1670Sstevel@tonic-gate	_sockconfig.o		\
1680Sstevel@tonic-gate	acct.o			\
1690Sstevel@tonic-gate	acl.o			\
1700Sstevel@tonic-gate	adjtime.o		\
1710Sstevel@tonic-gate	alarm.o			\
1720Sstevel@tonic-gate	brk.o			\
1730Sstevel@tonic-gate	chdir.o			\
1740Sstevel@tonic-gate	chroot.o		\
1750Sstevel@tonic-gate	cladm.o			\
1760Sstevel@tonic-gate	close.o			\
1770Sstevel@tonic-gate	execve.o		\
1780Sstevel@tonic-gate	exit.o			\
1790Sstevel@tonic-gate	facl.o			\
1800Sstevel@tonic-gate	fchdir.o		\
1810Sstevel@tonic-gate	fchroot.o		\
1820Sstevel@tonic-gate	fdsync.o		\
1830Sstevel@tonic-gate	fpathconf.o		\
1840Sstevel@tonic-gate	fstatfs.o		\
1850Sstevel@tonic-gate	fstatvfs.o		\
1860Sstevel@tonic-gate	getcpuid.o		\
1870Sstevel@tonic-gate	getdents.o		\
1880Sstevel@tonic-gate	getegid.o		\
1890Sstevel@tonic-gate	geteuid.o		\
1900Sstevel@tonic-gate	getgid.o		\
1910Sstevel@tonic-gate	getgroups.o		\
1920Sstevel@tonic-gate	gethrtime.o		\
1930Sstevel@tonic-gate	getitimer.o		\
1940Sstevel@tonic-gate	getmsg.o		\
1950Sstevel@tonic-gate	getpid.o		\
1960Sstevel@tonic-gate	getpmsg.o		\
1970Sstevel@tonic-gate	getppid.o		\
1980Sstevel@tonic-gate	getrlimit.o		\
1990Sstevel@tonic-gate	getuid.o		\
2000Sstevel@tonic-gate	gtty.o			\
2010Sstevel@tonic-gate	install_utrap.o		\
2020Sstevel@tonic-gate	ioctl.o			\
2030Sstevel@tonic-gate	kaio.o			\
2040Sstevel@tonic-gate	kill.o			\
2050Sstevel@tonic-gate	llseek.o		\
2060Sstevel@tonic-gate	lseek.o			\
2078212SMichael.Corcoran@Sun.COM	mmapobjsys.o		\
2080Sstevel@tonic-gate	memcntl.o		\
2090Sstevel@tonic-gate	mincore.o		\
2109264SRoger.Faulkner@Sun.COM	mmap.o			\
2110Sstevel@tonic-gate	modctl.o		\
2120Sstevel@tonic-gate	mount.o			\
2130Sstevel@tonic-gate	mprotect.o		\
2149264SRoger.Faulkner@Sun.COM	munmap.o		\
2150Sstevel@tonic-gate	nice.o			\
2160Sstevel@tonic-gate	ntp_adjtime.o		\
2170Sstevel@tonic-gate	ntp_gettime.o		\
2180Sstevel@tonic-gate	p_online.o		\
2190Sstevel@tonic-gate	pathconf.o		\
2200Sstevel@tonic-gate	pause.o			\
2210Sstevel@tonic-gate	pcsample.o		\
2220Sstevel@tonic-gate	pollsys.o		\
2230Sstevel@tonic-gate	pread.o			\
2240Sstevel@tonic-gate	priocntlset.o		\
2250Sstevel@tonic-gate	processor_bind.o	\
2260Sstevel@tonic-gate	processor_info.o	\
2270Sstevel@tonic-gate	profil.o		\
2280Sstevel@tonic-gate	putmsg.o		\
2290Sstevel@tonic-gate	putpmsg.o		\
2300Sstevel@tonic-gate	pwrite.o		\
2310Sstevel@tonic-gate	read.o			\
2320Sstevel@tonic-gate	readv.o			\
2330Sstevel@tonic-gate	resolvepath.o		\
2340Sstevel@tonic-gate	seteguid.o		\
2350Sstevel@tonic-gate	setgid.o		\
2360Sstevel@tonic-gate	setgroups.o		\
2370Sstevel@tonic-gate	setitimer.o		\
2380Sstevel@tonic-gate	setreid.o		\
2390Sstevel@tonic-gate	setrlimit.o		\
2400Sstevel@tonic-gate	setuid.o		\
2410Sstevel@tonic-gate	sigaltstk.o		\
2420Sstevel@tonic-gate	sigprocmsk.o		\
2430Sstevel@tonic-gate	sigsendset.o		\
2440Sstevel@tonic-gate	sigsuspend.o		\
2450Sstevel@tonic-gate	statfs.o		\
2460Sstevel@tonic-gate	statvfs.o		\
2470Sstevel@tonic-gate	stty.o			\
2480Sstevel@tonic-gate	sync.o			\
2490Sstevel@tonic-gate	sysconfig.o		\
2500Sstevel@tonic-gate	sysfs.o			\
2510Sstevel@tonic-gate	sysinfo.o		\
2520Sstevel@tonic-gate	syslwp.o		\
2530Sstevel@tonic-gate	times.o			\
2540Sstevel@tonic-gate	ulimit.o		\
2550Sstevel@tonic-gate	umask.o			\
2560Sstevel@tonic-gate	umount2.o		\
2570Sstevel@tonic-gate	utssys.o		\
2582712Snn35248	uucopy.o		\
2590Sstevel@tonic-gate	vhangup.o		\
2600Sstevel@tonic-gate	waitid.o		\
2610Sstevel@tonic-gate	write.o			\
2620Sstevel@tonic-gate	writev.o		\
2630Sstevel@tonic-gate	yield.o
2640Sstevel@tonic-gate
2650Sstevel@tonic-gateSYSOBJS=			\
2660Sstevel@tonic-gate	__clock_gettime.o	\
2670Sstevel@tonic-gate	__getcontext.o		\
2680Sstevel@tonic-gate	__uadmin.o		\
2690Sstevel@tonic-gate	_lwp_mutex_unlock.o	\
2700Sstevel@tonic-gate	_stack_grow.o		\
2710Sstevel@tonic-gate	door.o			\
2723235Sraf	forkx.o			\
2733235Sraf	forkallx.o		\
2740Sstevel@tonic-gate	getcontext.o		\
2750Sstevel@tonic-gate	gettimeofday.o		\
2760Sstevel@tonic-gate	lwp_private.o		\
2770Sstevel@tonic-gate	nuname.o		\
2780Sstevel@tonic-gate	pipe.o			\
2790Sstevel@tonic-gate	syscall.o		\
2800Sstevel@tonic-gate	sysi86.o		\
2810Sstevel@tonic-gate	tls_get_addr.o		\
2820Sstevel@tonic-gate	uadmin.o		\
2830Sstevel@tonic-gate	umount.o		\
2840Sstevel@tonic-gate	uname.o			\
28511798SRoger.Faulkner@Sun.COM	vforkx.o
2860Sstevel@tonic-gate
2870Sstevel@tonic-gate# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
2880Sstevel@tonic-gate# This macro should ALWAYS be empty; native APIs are already 'large file'.
2890Sstevel@tonic-gatePORTGEN64=
2900Sstevel@tonic-gate
29112719SRod.Evans@Sun.COM# objects from source under $(LIBCDIR)/port
2920Sstevel@tonic-gatePORTFP=				\
2930Sstevel@tonic-gate	__flt_decim.o		\
2940Sstevel@tonic-gate	__flt_rounds.o		\
2950Sstevel@tonic-gate	__tbl_10_b.o		\
2960Sstevel@tonic-gate	__tbl_10_h.o		\
2970Sstevel@tonic-gate	__tbl_10_s.o		\
2980Sstevel@tonic-gate	__tbl_2_b.o		\
2990Sstevel@tonic-gate	__tbl_2_h.o		\
3000Sstevel@tonic-gate	__tbl_2_s.o		\
3010Sstevel@tonic-gate	__tbl_fdq.o		\
3020Sstevel@tonic-gate	__tbl_tens.o		\
3030Sstevel@tonic-gate	__x_power.o		\
3040Sstevel@tonic-gate	_base_sup.o		\
3050Sstevel@tonic-gate	aconvert.o		\
3060Sstevel@tonic-gate	decimal_bin.o		\
3070Sstevel@tonic-gate	double_decim.o		\
3080Sstevel@tonic-gate	econvert.o		\
3090Sstevel@tonic-gate	fconvert.o		\
3100Sstevel@tonic-gate	file_decim.o		\
3110Sstevel@tonic-gate	finite.o		\
3120Sstevel@tonic-gate	fp_data.o		\
3130Sstevel@tonic-gate	func_decim.o		\
3140Sstevel@tonic-gate	gconvert.o		\
3150Sstevel@tonic-gate	hex_bin.o		\
3160Sstevel@tonic-gate	ieee_globals.o		\
3170Sstevel@tonic-gate	pack_float.o		\
3180Sstevel@tonic-gate	sigfpe.o		\
3190Sstevel@tonic-gate	string_decim.o
3200Sstevel@tonic-gate
3210Sstevel@tonic-gatePORTGEN=			\
3220Sstevel@tonic-gate	_env_data.o		\
3230Sstevel@tonic-gate	_xftw.o			\
3240Sstevel@tonic-gate	a64l.o			\
3250Sstevel@tonic-gate	abort.o			\
3260Sstevel@tonic-gate	addsev.o		\
327*13093SRoger.Faulkner@Oracle.COM	ascii_strcasecmp.o	\
328*13093SRoger.Faulkner@Oracle.COM	ascii_strncasecmp.o	\
3290Sstevel@tonic-gate	assert.o		\
3300Sstevel@tonic-gate	atof.o			\
3310Sstevel@tonic-gate	atoi.o			\
3320Sstevel@tonic-gate	atol.o			\
3330Sstevel@tonic-gate	atoll.o			\
3340Sstevel@tonic-gate	attropen.o		\
3350Sstevel@tonic-gate	atexit.o		\
3360Sstevel@tonic-gate	atfork.o		\
3370Sstevel@tonic-gate	basename.o		\
3380Sstevel@tonic-gate	calloc.o		\
3390Sstevel@tonic-gate	catgets.o		\
3400Sstevel@tonic-gate	catopen.o		\
3410Sstevel@tonic-gate	cfgetispeed.o		\
3420Sstevel@tonic-gate	cfgetospeed.o		\
3430Sstevel@tonic-gate	cfree.o			\
3440Sstevel@tonic-gate	cfsetispeed.o		\
3450Sstevel@tonic-gate	cfsetospeed.o		\
3460Sstevel@tonic-gate	cftime.o		\
3470Sstevel@tonic-gate	clock.o			\
3480Sstevel@tonic-gate	closedir.o		\
3490Sstevel@tonic-gate	closefrom.o		\
3500Sstevel@tonic-gate	confstr.o		\
3510Sstevel@tonic-gate	crypt.o			\
3520Sstevel@tonic-gate	csetlen.o		\
3530Sstevel@tonic-gate	ctime.o			\
3540Sstevel@tonic-gate	ctime_r.o		\
35510547SVladimir.Kotal@Sun.COM	daemon.o		\
3562923Sraf	deflt.o			\
3570Sstevel@tonic-gate	directio.o		\
3580Sstevel@tonic-gate	dirname.o		\
3590Sstevel@tonic-gate	div.o			\
3600Sstevel@tonic-gate	drand48.o		\
36111798SRoger.Faulkner@Sun.COM	dup.o			\
3620Sstevel@tonic-gate	env_data.o		\
3634891Svk199839	err.o			\
3640Sstevel@tonic-gate	errno.o			\
3650Sstevel@tonic-gate	euclen.o		\
3660Sstevel@tonic-gate	event_port.o		\
3670Sstevel@tonic-gate	execvp.o		\
3680Sstevel@tonic-gate	fattach.o		\
3690Sstevel@tonic-gate	fdetach.o		\
3700Sstevel@tonic-gate	fdopendir.o		\
371*13093SRoger.Faulkner@Oracle.COM	ffs.o			\
372*13093SRoger.Faulkner@Oracle.COM	fls.o			\
3730Sstevel@tonic-gate	fmtmsg.o		\
3740Sstevel@tonic-gate	ftime.o			\
3750Sstevel@tonic-gate	ftok.o			\
3760Sstevel@tonic-gate	ftw.o			\
3770Sstevel@tonic-gate	gcvt.o			\
3780Sstevel@tonic-gate	getauxv.o		\
3790Sstevel@tonic-gate	getcwd.o		\
3800Sstevel@tonic-gate	getdate_err.o		\
3810Sstevel@tonic-gate	getdtblsize.o		\
3820Sstevel@tonic-gate	getenv.o		\
3830Sstevel@tonic-gate	getexecname.o		\
3840Sstevel@tonic-gate	getgrnam.o		\
3850Sstevel@tonic-gate	getgrnam_r.o		\
3860Sstevel@tonic-gate	gethostid.o		\
3870Sstevel@tonic-gate	gethostname.o		\
3880Sstevel@tonic-gate	gethz.o			\
3890Sstevel@tonic-gate	getisax.o		\
3900Sstevel@tonic-gate	getloadavg.o		\
3910Sstevel@tonic-gate	getlogin.o		\
3920Sstevel@tonic-gate	getmntent.o		\
3930Sstevel@tonic-gate	getnetgrent.o		\
394*13093SRoger.Faulkner@Oracle.COM	get_nprocs.o		\
3950Sstevel@tonic-gate	getopt.o		\
3960Sstevel@tonic-gate	getopt_long.o		\
3970Sstevel@tonic-gate	getpagesize.o		\
3980Sstevel@tonic-gate	getpw.o			\
3990Sstevel@tonic-gate	getpwnam.o		\
4000Sstevel@tonic-gate	getpwnam_r.o		\
4010Sstevel@tonic-gate	getrusage.o		\
4020Sstevel@tonic-gate	getspent.o		\
4030Sstevel@tonic-gate	getspent_r.o		\
4040Sstevel@tonic-gate	getsubopt.o		\
4050Sstevel@tonic-gate	gettxt.o		\
4060Sstevel@tonic-gate	getusershell.o		\
4070Sstevel@tonic-gate	getut.o			\
4080Sstevel@tonic-gate	getutx.o		\
4090Sstevel@tonic-gate	getvfsent.o		\
4100Sstevel@tonic-gate	getwd.o			\
4110Sstevel@tonic-gate	getwidth.o		\
4120Sstevel@tonic-gate	getxby_door.o		\
4130Sstevel@tonic-gate	gtxt.o			\
4140Sstevel@tonic-gate	hsearch.o		\
4150Sstevel@tonic-gate	iconv.o			\
4160Sstevel@tonic-gate	imaxabs.o		\
4170Sstevel@tonic-gate	imaxdiv.o		\
4180Sstevel@tonic-gate	index.o			\
4190Sstevel@tonic-gate	initgroups.o		\
4200Sstevel@tonic-gate	insque.o		\
4210Sstevel@tonic-gate	isaexec.o		\
4220Sstevel@tonic-gate	isastream.o		\
4230Sstevel@tonic-gate	isatty.o		\
4240Sstevel@tonic-gate	killpg.o		\
4256134Scasper	klpdlib.o		\
4260Sstevel@tonic-gate	l64a.o			\
4270Sstevel@tonic-gate	lckpwdf.o		\
4280Sstevel@tonic-gate	lconstants.o		\
4296812Sraf	lexp10.o		\
4300Sstevel@tonic-gate	lfind.o			\
4310Sstevel@tonic-gate	lfmt.o			\
4320Sstevel@tonic-gate	lfmt_log.o		\
4330Sstevel@tonic-gate	lldiv.o			\
4346812Sraf	llog10.o		\
4350Sstevel@tonic-gate	lltostr.o		\
4360Sstevel@tonic-gate	lmath.o			\
4370Sstevel@tonic-gate	localtime.o		\
4380Sstevel@tonic-gate	lsearch.o		\
4390Sstevel@tonic-gate	madvise.o		\
4400Sstevel@tonic-gate	malloc.o		\
4410Sstevel@tonic-gate	memalign.o		\
442*13093SRoger.Faulkner@Oracle.COM	memmem.o		\
4430Sstevel@tonic-gate	mkdev.o			\
4441475Scasper	mkdtemp.o		\
4450Sstevel@tonic-gate	mkfifo.o		\
4460Sstevel@tonic-gate	mkstemp.o		\
4470Sstevel@tonic-gate	mktemp.o		\
4480Sstevel@tonic-gate	mlock.o			\
4490Sstevel@tonic-gate	mlockall.o		\
4500Sstevel@tonic-gate	mon.o			\
4510Sstevel@tonic-gate	msync.o			\
4520Sstevel@tonic-gate	munlock.o		\
4530Sstevel@tonic-gate	munlockall.o		\
4540Sstevel@tonic-gate	ndbm.o			\
4550Sstevel@tonic-gate	nftw.o			\
4560Sstevel@tonic-gate	nlspath_checks.o	\
4570Sstevel@tonic-gate	nsparse.o		\
4580Sstevel@tonic-gate	nss_common.o		\
4590Sstevel@tonic-gate	nss_dbdefs.o		\
4600Sstevel@tonic-gate	nss_deffinder.o		\
4610Sstevel@tonic-gate	opendir.o		\
4620Sstevel@tonic-gate	opt_data.o		\
4630Sstevel@tonic-gate	perror.o		\
4640Sstevel@tonic-gate	pfmt.o			\
4650Sstevel@tonic-gate	pfmt_data.o		\
4660Sstevel@tonic-gate	pfmt_print.o		\
4670Sstevel@tonic-gate	plock.o			\
4680Sstevel@tonic-gate	poll.o			\
4697088Sraf	posix_fadvise.o		\
4707088Sraf	posix_fallocate.o	\
4717088Sraf	posix_madvise.o		\
4727088Sraf	posix_memalign.o	\
4730Sstevel@tonic-gate	priocntl.o		\
4740Sstevel@tonic-gate	privlib.o		\
4750Sstevel@tonic-gate	priv_str_xlate.o	\
4760Sstevel@tonic-gate	psiginfo.o		\
4770Sstevel@tonic-gate	psignal.o		\
4780Sstevel@tonic-gate	pt.o			\
4790Sstevel@tonic-gate	putpwent.o		\
4800Sstevel@tonic-gate	putspent.o		\
4810Sstevel@tonic-gate	raise.o			\
4820Sstevel@tonic-gate	rand.o			\
4830Sstevel@tonic-gate	random.o		\
4840Sstevel@tonic-gate	rctlops.o		\
4850Sstevel@tonic-gate	readdir.o		\
4860Sstevel@tonic-gate	readdir_r.o		\
4870Sstevel@tonic-gate	realpath.o		\
4880Sstevel@tonic-gate	reboot.o		\
4890Sstevel@tonic-gate	regexpr.o		\
4905891Sraf	remove.o		\
4910Sstevel@tonic-gate	rewinddir.o		\
4920Sstevel@tonic-gate	rindex.o		\
4930Sstevel@tonic-gate	scandir.o		\
4940Sstevel@tonic-gate	seekdir.o		\
4950Sstevel@tonic-gate	select.o		\
4960Sstevel@tonic-gate	setlabel.o		\
4970Sstevel@tonic-gate	setpriority.o		\
4980Sstevel@tonic-gate	settimeofday.o		\
4990Sstevel@tonic-gate	sh_locks.o		\
5000Sstevel@tonic-gate	sigflag.o		\
5010Sstevel@tonic-gate	siglist.o		\
5020Sstevel@tonic-gate	sigsend.o		\
5030Sstevel@tonic-gate	sigsetops.o		\
5040Sstevel@tonic-gate	ssignal.o		\
5050Sstevel@tonic-gate	stack.o			\
506*13093SRoger.Faulkner@Oracle.COM	stpcpy.o		\
507*13093SRoger.Faulkner@Oracle.COM	stpncpy.o		\
5080Sstevel@tonic-gate	str2sig.o		\
5090Sstevel@tonic-gate	strcase_charmap.o	\
5100Sstevel@tonic-gate	strcat.o		\
5110Sstevel@tonic-gate	strchr.o		\
512*13093SRoger.Faulkner@Oracle.COM	strchrnul.o		\
5130Sstevel@tonic-gate	strcspn.o		\
5140Sstevel@tonic-gate	strdup.o		\
5150Sstevel@tonic-gate	strerror.o		\
5160Sstevel@tonic-gate	strlcat.o		\
5170Sstevel@tonic-gate	strlcpy.o		\
5180Sstevel@tonic-gate	strncat.o		\
519*13093SRoger.Faulkner@Oracle.COM	strndup.o		\
5200Sstevel@tonic-gate	strpbrk.o		\
5210Sstevel@tonic-gate	strrchr.o		\
5227478SVladimir.Kotal@Sun.COM	strsep.o		\
5230Sstevel@tonic-gate	strsignal.o		\
5240Sstevel@tonic-gate	strspn.o		\
5250Sstevel@tonic-gate	strstr.o		\
5260Sstevel@tonic-gate	strtod.o		\
5270Sstevel@tonic-gate	strtoimax.o		\
5280Sstevel@tonic-gate	strtok.o		\
5290Sstevel@tonic-gate	strtok_r.o		\
5300Sstevel@tonic-gate	strtoumax.o		\
5310Sstevel@tonic-gate	swab.o			\
5320Sstevel@tonic-gate	swapctl.o		\
5330Sstevel@tonic-gate	sysconf.o		\
5340Sstevel@tonic-gate	syslog.o		\
5350Sstevel@tonic-gate	tcdrain.o		\
5360Sstevel@tonic-gate	tcflow.o		\
5370Sstevel@tonic-gate	tcflush.o		\
5380Sstevel@tonic-gate	tcgetattr.o		\
5390Sstevel@tonic-gate	tcgetpgrp.o		\
5400Sstevel@tonic-gate	tcgetsid.o		\
5410Sstevel@tonic-gate	tcsendbreak.o		\
5420Sstevel@tonic-gate	tcsetattr.o		\
5430Sstevel@tonic-gate	tcsetpgrp.o		\
5440Sstevel@tonic-gate	tell.o			\
5450Sstevel@tonic-gate	telldir.o		\
5460Sstevel@tonic-gate	tfind.o			\
5470Sstevel@tonic-gate	time_data.o		\
5480Sstevel@tonic-gate	time_gdata.o		\
549*13093SRoger.Faulkner@Oracle.COM	tls_data.o		\
5500Sstevel@tonic-gate	truncate.o		\
5510Sstevel@tonic-gate	tsdalloc.o		\
5520Sstevel@tonic-gate	tsearch.o		\
5530Sstevel@tonic-gate	ttyname.o		\
5540Sstevel@tonic-gate	ttyslot.o		\
5550Sstevel@tonic-gate	ualarm.o		\
5560Sstevel@tonic-gate	ucred.o			\
5570Sstevel@tonic-gate	valloc.o		\
5580Sstevel@tonic-gate	vlfmt.o			\
5590Sstevel@tonic-gate	vpfmt.o			\
5600Sstevel@tonic-gate	waitpid.o		\
5610Sstevel@tonic-gate	walkstack.o		\
5620Sstevel@tonic-gate	wdata.o			\
5630Sstevel@tonic-gate	xgetwidth.o		\
5640Sstevel@tonic-gate	xpg4.o			\
5650Sstevel@tonic-gate	xpg6.o
5660Sstevel@tonic-gate
5670Sstevel@tonic-gatePORTPRINT_W=			\
5680Sstevel@tonic-gate	doprnt_w.o
5690Sstevel@tonic-gate
5700Sstevel@tonic-gatePORTPRINT=			\
5718546SRoger.Faulkner@Sun.COM	asprintf.o		\
5720Sstevel@tonic-gate	doprnt.o		\
5730Sstevel@tonic-gate	fprintf.o		\
5740Sstevel@tonic-gate	printf.o		\
5750Sstevel@tonic-gate	snprintf.o		\
5760Sstevel@tonic-gate	sprintf.o		\
5770Sstevel@tonic-gate	vfprintf.o		\
5780Sstevel@tonic-gate	vprintf.o		\
5790Sstevel@tonic-gate	vsnprintf.o		\
5800Sstevel@tonic-gate	vsprintf.o		\
5810Sstevel@tonic-gate	vwprintf.o		\
5820Sstevel@tonic-gate	wprintf.o
5830Sstevel@tonic-gate
5840Sstevel@tonic-gate# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
5850Sstevel@tonic-gate# This macro should ALWAYS be empty; native APIs are already 'large file'.
5860Sstevel@tonic-gatePORTSTDIO64=
5870Sstevel@tonic-gate
5880Sstevel@tonic-gatePORTSTDIO_W=			\
5890Sstevel@tonic-gate	doscan_w.o
5900Sstevel@tonic-gate
5910Sstevel@tonic-gatePORTSTDIO=			\
5920Sstevel@tonic-gate	__extensions.o		\
5930Sstevel@tonic-gate	_endopen.o		\
5940Sstevel@tonic-gate	_filbuf.o		\
5950Sstevel@tonic-gate	_findbuf.o		\
5960Sstevel@tonic-gate	_flsbuf.o		\
5970Sstevel@tonic-gate	_wrtchk.o		\
5980Sstevel@tonic-gate	clearerr.o		\
5990Sstevel@tonic-gate	ctermid.o		\
6000Sstevel@tonic-gate	ctermid_r.o		\
6010Sstevel@tonic-gate	cuserid.o		\
6020Sstevel@tonic-gate	data.o			\
6030Sstevel@tonic-gate	doscan.o		\
6040Sstevel@tonic-gate	fdopen.o		\
6050Sstevel@tonic-gate	feof.o			\
6060Sstevel@tonic-gate	ferror.o		\
6070Sstevel@tonic-gate	fgetc.o			\
6080Sstevel@tonic-gate	fgets.o			\
6090Sstevel@tonic-gate	fileno.o		\
6100Sstevel@tonic-gate	flockf.o		\
6110Sstevel@tonic-gate	flush.o			\
6120Sstevel@tonic-gate	fopen.o			\
6130Sstevel@tonic-gate	fpos.o			\
6140Sstevel@tonic-gate	fputc.o			\
6150Sstevel@tonic-gate	fputs.o			\
6160Sstevel@tonic-gate	fread.o			\
6170Sstevel@tonic-gate	fseek.o			\
6180Sstevel@tonic-gate	fseeko.o		\
6190Sstevel@tonic-gate	ftell.o			\
6200Sstevel@tonic-gate	ftello.o		\
6210Sstevel@tonic-gate	fwrite.o		\
6220Sstevel@tonic-gate	getc.o			\
6230Sstevel@tonic-gate	getchar.o		\
624*13093SRoger.Faulkner@Oracle.COM	getline.o		\
6250Sstevel@tonic-gate	getpass.o		\
6260Sstevel@tonic-gate	gets.o			\
6270Sstevel@tonic-gate	getw.o			\
6280Sstevel@tonic-gate	mse.o			\
6290Sstevel@tonic-gate	popen.o			\
6300Sstevel@tonic-gate	putc.o			\
6310Sstevel@tonic-gate	putchar.o		\
6320Sstevel@tonic-gate	puts.o			\
6330Sstevel@tonic-gate	putw.o			\
6340Sstevel@tonic-gate	rewind.o		\
6350Sstevel@tonic-gate	scanf.o			\
6360Sstevel@tonic-gate	setbuf.o		\
6370Sstevel@tonic-gate	setbuffer.o		\
6380Sstevel@tonic-gate	setvbuf.o		\
6390Sstevel@tonic-gate	system.o		\
6400Sstevel@tonic-gate	tempnam.o		\
6410Sstevel@tonic-gate	tmpfile.o		\
6420Sstevel@tonic-gate	tmpnam_r.o		\
6430Sstevel@tonic-gate	ungetc.o		\
6440Sstevel@tonic-gate	vscanf.o		\
6450Sstevel@tonic-gate	vwscanf.o		\
6460Sstevel@tonic-gate	wscanf.o
6470Sstevel@tonic-gate
6480Sstevel@tonic-gatePORTI18N=			\
6490Sstevel@tonic-gate	__fgetwc_xpg5.o		\
6500Sstevel@tonic-gate	__fgetws_xpg5.o		\
6510Sstevel@tonic-gate	__fputwc_xpg5.o		\
6520Sstevel@tonic-gate	__fputws_xpg5.o		\
6530Sstevel@tonic-gate	__ungetwc_xpg5.o	\
6540Sstevel@tonic-gate	getwchar.o		\
6550Sstevel@tonic-gate	putwchar.o		\
6560Sstevel@tonic-gate	putws.o			\
657*13093SRoger.Faulkner@Oracle.COM	strcasecmp.o		\
658*13093SRoger.Faulkner@Oracle.COM	strcasestr.o		\
659*13093SRoger.Faulkner@Oracle.COM	strncasecmp.o		\
6600Sstevel@tonic-gate	strtows.o		\
661*13093SRoger.Faulkner@Oracle.COM	wcsnlen.o		\
6620Sstevel@tonic-gate	wcsstr.o		\
6630Sstevel@tonic-gate	wcstoimax.o		\
6640Sstevel@tonic-gate	wcstol.o		\
6650Sstevel@tonic-gate	wcstoul.o		\
6660Sstevel@tonic-gate	wcswcs.o		\
6670Sstevel@tonic-gate	wmemchr.o		\
6680Sstevel@tonic-gate	wmemcmp.o		\
6690Sstevel@tonic-gate	wmemcpy.o		\
6700Sstevel@tonic-gate	wmemmove.o		\
6710Sstevel@tonic-gate	wmemset.o		\
6720Sstevel@tonic-gate	wscasecmp.o		\
6730Sstevel@tonic-gate	wscat.o			\
6740Sstevel@tonic-gate	wschr.o			\
6750Sstevel@tonic-gate	wscmp.o			\
6760Sstevel@tonic-gate	wscpy.o			\
6770Sstevel@tonic-gate	wscspn.o		\
6780Sstevel@tonic-gate	wsdup.o			\
6790Sstevel@tonic-gate	wslen.o			\
6800Sstevel@tonic-gate	wsncasecmp.o		\
6810Sstevel@tonic-gate	wsncat.o		\
6820Sstevel@tonic-gate	wsncmp.o		\
6830Sstevel@tonic-gate	wsncpy.o		\
6840Sstevel@tonic-gate	wspbrk.o		\
6850Sstevel@tonic-gate	wsprintf.o		\
6860Sstevel@tonic-gate	wsrchr.o		\
6870Sstevel@tonic-gate	wsscanf.o		\
6880Sstevel@tonic-gate	wsspn.o			\
6890Sstevel@tonic-gate	wstod.o			\
6900Sstevel@tonic-gate	wstok.o			\
6910Sstevel@tonic-gate	wstol.o			\
6920Sstevel@tonic-gate	wstoll.o		\
6930Sstevel@tonic-gate	wsxfrm.o		\
6940Sstevel@tonic-gate	gettext.o		\
6950Sstevel@tonic-gate	gettext_gnu.o		\
6960Sstevel@tonic-gate	gettext_real.o		\
6970Sstevel@tonic-gate	gettext_util.o		\
6980Sstevel@tonic-gate	plural_parser.o		\
6990Sstevel@tonic-gate	wdresolve.o		\
7000Sstevel@tonic-gate	_ctype.o		\
7010Sstevel@tonic-gate	isascii.o		\
7020Sstevel@tonic-gate	toascii.o
7030Sstevel@tonic-gate
7040Sstevel@tonic-gatePORTI18N_COND=			\
7050Sstevel@tonic-gate	wcstol_longlong.o	\
7060Sstevel@tonic-gate	wcstoul_longlong.o
7070Sstevel@tonic-gate
7082248SrafAIOOBJS=			\
7092248Sraf	aio.o			\
7102248Sraf	aio_alloc.o		\
7112316Sraf	posix_aio.o
7122248Sraf
7132248SrafRTOBJS=				\
7142248Sraf	clock_timer.o		\
7152248Sraf	mqueue.o		\
7162248Sraf	pos4obj.o		\
7172248Sraf	sched.o			\
7182248Sraf	sem.o			\
7192248Sraf	shm.o			\
7202248Sraf	sigev_thread.o
7212248Sraf
7222248SrafTPOOLOBJS=			\
7232248Sraf	thread_pool.o
7242248Sraf
7250Sstevel@tonic-gateTHREADSOBJS=			\
7260Sstevel@tonic-gate	alloc.o			\
7270Sstevel@tonic-gate	assfail.o		\
7280Sstevel@tonic-gate	cancel.o		\
7290Sstevel@tonic-gate	door_calls.o		\
7300Sstevel@tonic-gate	pthr_attr.o		\
7310Sstevel@tonic-gate	pthr_barrier.o		\
7320Sstevel@tonic-gate	pthr_cond.o		\
7330Sstevel@tonic-gate	pthr_mutex.o		\
7340Sstevel@tonic-gate	pthr_rwlock.o		\
7350Sstevel@tonic-gate	pthread.o		\
7360Sstevel@tonic-gate	rwlock.o		\
7370Sstevel@tonic-gate	scalls.o		\
7380Sstevel@tonic-gate	sema.o			\
7390Sstevel@tonic-gate	sigaction.o		\
7400Sstevel@tonic-gate	spawn.o			\
7410Sstevel@tonic-gate	synch.o			\
7420Sstevel@tonic-gate	tdb_agent.o		\
7430Sstevel@tonic-gate	thr.o			\
7440Sstevel@tonic-gate	thread_interface.o	\
7450Sstevel@tonic-gate	tls.o			\
7460Sstevel@tonic-gate	tsd.o
7470Sstevel@tonic-gate
7480Sstevel@tonic-gateTHREADSMACHOBJS=		\
7490Sstevel@tonic-gate	machdep.o
7500Sstevel@tonic-gate
7510Sstevel@tonic-gateTHREADSASMOBJS=			\
7520Sstevel@tonic-gate	asm_subr.o
7530Sstevel@tonic-gate
7545049SisUNICODEOBJS=			\
7555049Sis	u8_textprep.o		\
7565049Sis	uconv.o
7575049Sis
7580Sstevel@tonic-gateUNWINDMACHOBJS=			\
7590Sstevel@tonic-gate	call_frame_inst.o	\
7600Sstevel@tonic-gate	eh_frame.o		\
7610Sstevel@tonic-gate	thrp_unwind.o		\
7620Sstevel@tonic-gate	unwind.o
7630Sstevel@tonic-gate
7640Sstevel@tonic-gatepics/unwind.o:= COPTFLAG64 =
7650Sstevel@tonic-gate
7660Sstevel@tonic-gateUNWINDASMOBJS=			\
7670Sstevel@tonic-gate	unwind_frame.o
7680Sstevel@tonic-gate
7690Sstevel@tonic-gate# Preserved solely to ease maintenance of 32-bit and 64-bit library builds
7700Sstevel@tonic-gate# This macro should ALWAYS be empty; native APIs are already 'large file'.
7710Sstevel@tonic-gatePORTSYS64=
7720Sstevel@tonic-gate
7730Sstevel@tonic-gatePORTSYS=			\
7740Sstevel@tonic-gate	_autofssys.o		\
77511798SRoger.Faulkner@Sun.COM	access.o		\
7760Sstevel@tonic-gate	acctctl.o		\
7770Sstevel@tonic-gate	bsd_signal.o		\
77812789SRoger.Faulkner@Oracle.COM	chmod.o			\
77911798SRoger.Faulkner@Sun.COM	chown.o			\
7800Sstevel@tonic-gate	corectl.o		\
7810Sstevel@tonic-gate	exacctsys.o		\
7820Sstevel@tonic-gate	execl.o			\
7830Sstevel@tonic-gate	execle.o		\
7840Sstevel@tonic-gate	execv.o			\
78511798SRoger.Faulkner@Sun.COM	fcntl.o			\
7865349Skchow	getpagesizes.o		\
7870Sstevel@tonic-gate	getpeerucred.o		\
7880Sstevel@tonic-gate	inst_sync.o		\
7890Sstevel@tonic-gate	issetugid.o		\
7901676Sjpk	label.o			\
79112789SRoger.Faulkner@Oracle.COM	link.o			\
7920Sstevel@tonic-gate	lockf.o			\
7930Sstevel@tonic-gate	lwp.o			\
7940Sstevel@tonic-gate	lwp_cond.o		\
7950Sstevel@tonic-gate	lwp_rwlock.o		\
7960Sstevel@tonic-gate	lwp_sigmask.o		\
7970Sstevel@tonic-gate	meminfosys.o		\
79812789SRoger.Faulkner@Oracle.COM	mkdir.o			\
79912789SRoger.Faulkner@Oracle.COM	mknod.o			\
8000Sstevel@tonic-gate	msgsys.o		\
8010Sstevel@tonic-gate	nfssys.o		\
80211798SRoger.Faulkner@Sun.COM	open.o			\
8030Sstevel@tonic-gate	pgrpsys.o		\
8040Sstevel@tonic-gate	posix_sigwait.o		\
8050Sstevel@tonic-gate	ppriv.o			\
8060Sstevel@tonic-gate	psetsys.o		\
8070Sstevel@tonic-gate	rctlsys.o		\
80812789SRoger.Faulkner@Oracle.COM	readlink.o		\
80911798SRoger.Faulkner@Sun.COM	rename.o		\
8100Sstevel@tonic-gate	sbrk.o			\
8110Sstevel@tonic-gate	semsys.o		\
8120Sstevel@tonic-gate	set_errno.o		\
8133957Sth199096	sharefs.o		\
8140Sstevel@tonic-gate	shmsys.o		\
8154321Scasper	sidsys.o		\
8160Sstevel@tonic-gate	siginterrupt.o		\
8170Sstevel@tonic-gate	signal.o		\
8180Sstevel@tonic-gate	sigpending.o		\
8190Sstevel@tonic-gate	sigstack.o		\
82011798SRoger.Faulkner@Sun.COM	stat.o			\
82112789SRoger.Faulkner@Oracle.COM	symlink.o		\
8220Sstevel@tonic-gate	tasksys.o		\
8230Sstevel@tonic-gate	time.o			\
8240Sstevel@tonic-gate	time_util.o		\
8250Sstevel@tonic-gate	ucontext.o		\
82611798SRoger.Faulkner@Sun.COM	unlink.o		\
8270Sstevel@tonic-gate	ustat.o			\
82810440SRoger.Faulkner@Sun.COM	utimesys.o		\
8290Sstevel@tonic-gate	zone.o
8300Sstevel@tonic-gate
8310Sstevel@tonic-gatePORTREGEX=			\
8320Sstevel@tonic-gate	glob.o			\
8330Sstevel@tonic-gate	regcmp.o		\
8340Sstevel@tonic-gate	regex.o			\
8350Sstevel@tonic-gate	wordexp.o
8360Sstevel@tonic-gate
8372037ScraigmVALUES=				\
8382037Scraigm	values-Xa.o
8392037Scraigm
8400Sstevel@tonic-gateMOSTOBJS=			\
8410Sstevel@tonic-gate	$(STRETS)		\
8420Sstevel@tonic-gate	$(CRTOBJS)		\
8430Sstevel@tonic-gate	$(DYNOBJS)		\
8440Sstevel@tonic-gate	$(FPOBJS)		\
8450Sstevel@tonic-gate	$(I386FPOBJS)		\
8460Sstevel@tonic-gate	$(FPASMOBJS)		\
8470Sstevel@tonic-gate	$(ATOMICOBJS)		\
8485331Samw	$(XATTROBJS)		\
8490Sstevel@tonic-gate	$(COMOBJS)		\
8500Sstevel@tonic-gate	$(GENOBJS)		\
8510Sstevel@tonic-gate	$(PORTFP)		\
8520Sstevel@tonic-gate	$(PORTGEN)		\
8530Sstevel@tonic-gate	$(PORTGEN64)		\
8540Sstevel@tonic-gate	$(PORTI18N)		\
8550Sstevel@tonic-gate	$(PORTI18N_COND)	\
8560Sstevel@tonic-gate	$(PORTPRINT)		\
8570Sstevel@tonic-gate	$(PORTPRINT_W)		\
8580Sstevel@tonic-gate	$(PORTREGEX)		\
8590Sstevel@tonic-gate	$(PORTSTDIO)		\
8600Sstevel@tonic-gate	$(PORTSTDIO64)		\
8610Sstevel@tonic-gate	$(PORTSTDIO_W)		\
8620Sstevel@tonic-gate	$(PORTSYS)		\
8630Sstevel@tonic-gate	$(PORTSYS64)		\
8642248Sraf	$(AIOOBJS)		\
8652248Sraf	$(RTOBJS)		\
8662248Sraf	$(TPOOLOBJS)		\
8670Sstevel@tonic-gate	$(THREADSOBJS)		\
8680Sstevel@tonic-gate	$(THREADSMACHOBJS)	\
8690Sstevel@tonic-gate	$(THREADSASMOBJS)	\
8705049Sis	$(UNICODEOBJS)		\
8710Sstevel@tonic-gate	$(UNWINDMACHOBJS)	\
8720Sstevel@tonic-gate	$(UNWINDASMOBJS)	\
8730Sstevel@tonic-gate	$(COMSYSOBJS)		\
8740Sstevel@tonic-gate	$(SYSOBJS)		\
8750Sstevel@tonic-gate	$(COMSYSOBJS64)		\
8762037Scraigm	$(SYSOBJS64)		\
8772037Scraigm	$(VALUES)
8780Sstevel@tonic-gate
8790Sstevel@tonic-gateTRACEOBJS=			\
8800Sstevel@tonic-gate	plockstat.o
8810Sstevel@tonic-gate
8820Sstevel@tonic-gate# NOTE:	libc.so.1 must be linked with the minimal crti.o and crtn.o
8830Sstevel@tonic-gate# modules whose source is provided in the $(SRC)/lib/common directory.
8840Sstevel@tonic-gate# This must be done because otherwise the Sun C compiler would insert
8850Sstevel@tonic-gate# its own versions of these modules and those versions contain code
8860Sstevel@tonic-gate# to call out to C++ initialization functions.  Such C++ initialization
8870Sstevel@tonic-gate# functions can call back into libc before thread initialization is
8880Sstevel@tonic-gate# complete and this leads to segmentation violations and other problems.
8890Sstevel@tonic-gate# Since libc contains no C++ code, linking with the minimal crti.o and
8900Sstevel@tonic-gate# crtn.o modules is safe and avoids the problems described above.
8910Sstevel@tonic-gateOBJECTS= $(CRTI) $(MOSTOBJS) $(CRTN)
8920Sstevel@tonic-gateCRTSRCS= ../../common/amd64
8930Sstevel@tonic-gate
8940Sstevel@tonic-gate# include common library definitions
8950Sstevel@tonic-gateinclude ../../Makefile.lib
8960Sstevel@tonic-gateinclude ../../Makefile.lib.64
8970Sstevel@tonic-gate
8980Sstevel@tonic-gate# NOTE: libc_i18n.a will be part of libc.so.1.  Therefore, the compilation
8990Sstevel@tonic-gate# conditions such as the settings of CFLAGS and CPPFLAGS for the libc_i18n stuff
9000Sstevel@tonic-gate# need to be compatible with the ones for the libc stuff.  Whenever the changes
9010Sstevel@tonic-gate# that affect the compilation conditions of libc happened, those for libc_i18n
9020Sstevel@tonic-gate# also need to be updated.
9030Sstevel@tonic-gate
9040Sstevel@tonic-gateCFLAGS64 += $(CTF_FLAGS)
9050Sstevel@tonic-gate
9060Sstevel@tonic-gate# This is necessary to avoid problems with calling _ex_unwind().
9070Sstevel@tonic-gate# We probably don't want any inlining anyway.
9080Sstevel@tonic-gateCFLAGS64 += -xinline=
9090Sstevel@tonic-gate
9100Sstevel@tonic-gate# Setting THREAD_DEBUG = -DTHREAD_DEBUG (make THREAD_DEBUG=-DTHREAD_DEBUG ...)
9110Sstevel@tonic-gate# enables ASSERT() checking in the threads portion of the library.
9120Sstevel@tonic-gate# This is automatically enabled for DEBUG builds, not for non-debug builds.
9130Sstevel@tonic-gateTHREAD_DEBUG =
9140Sstevel@tonic-gate$(NOT_RELEASE_BUILD)THREAD_DEBUG = -DTHREAD_DEBUG
9150Sstevel@tonic-gate
9168380SRoger.Faulkner@Sun.COM# Make string literals read-only to save memory
9178380SRoger.Faulkner@Sun.COMCFLAGS64 += $(XSTRCONST)
9188380SRoger.Faulkner@Sun.COM
9190Sstevel@tonic-gateALTPICS= $(TRACEOBJS:%=pics/%)
9200Sstevel@tonic-gate
9210Sstevel@tonic-gate$(DYNLIB) := PICS += $(ROOTFS_LIBDIR64)/libc_i18n.a
92212719SRod.Evans@Sun.COM$(DYNLIB) := BUILD.SO = $(LD) -o $@ -G $(DYNFLAGS) $(PICS) $(ALTPICS) $(EXTPICS)
9230Sstevel@tonic-gate
92412719SRod.Evans@Sun.COMMAPFILES =	$(LIBCDIR)/port/mapfile-vers
9250Sstevel@tonic-gate
9266247SrafCPPFLAGS=	-D_REENTRANT -D$(MACH64) -D__$(MACH64) $(THREAD_DEBUG) \
92712719SRod.Evans@Sun.COM		-I. -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc $(CPPFLAGS.master)
9280Sstevel@tonic-gateASFLAGS=	$(AS_PICFLAGS) -P -D__STDC__ -D_ASM $(CPPFLAGS) \
9292037Scraigm		$(amd64_AS_XARCH)
9300Sstevel@tonic-gate
93111798SRoger.Faulkner@Sun.COM# As a favor to the dtrace syscall provider, libc still calls the
93211798SRoger.Faulkner@Sun.COM# old syscall traps that have been obsoleted by the *at() interfaces.
93311798SRoger.Faulkner@Sun.COM# Delete this to compile libc using only the new *at() system call traps
93411798SRoger.Faulkner@Sun.COMCPPFLAGS += -D_RETAIN_OLD_SYSCALLS
93511798SRoger.Faulkner@Sun.COM
9366320Sbholler# proc64_id.o is built with defines in $(SRC)/uts/intel/sys/x86_archext.h
9376320Sbhollerpics/proc64_id.o	:= CFLAGS64 += -I$(SRC)/uts/intel
9386320Sbholler
9390Sstevel@tonic-gate# Inform the run-time linker about libc specialized initialization
9400Sstevel@tonic-gateRTLDINFO =	-z rtldinfo=tls_rtldinfo
9412522SrafDYNFLAGS +=	$(RTLDINFO)
9420Sstevel@tonic-gate
94310270SRoger.Faulkner@Sun.COM# Force libc's internal references to be resolved immediately upon loading
94410270SRoger.Faulkner@Sun.COM# in order to avoid critical region problems.  Since almost all libc symbols
94510270SRoger.Faulkner@Sun.COM# are marked 'protected' in the mapfiles, this is a minimal set (15 to 20).
94610270SRoger.Faulkner@Sun.COMDYNFLAGS +=	-znow
94710270SRoger.Faulkner@Sun.COM
9480Sstevel@tonic-gateBUILD.s=	$(AS) $(ASFLAGS) $< -o $@
9490Sstevel@tonic-gate
9500Sstevel@tonic-gate# Override this top level flag so the compiler builds in its native
9510Sstevel@tonic-gate# C99 mode.  This has been enabled to support the complex arithmetic
9520Sstevel@tonic-gate# added to libc.
9530Sstevel@tonic-gateC99MODE=	$(C99_ENABLE)
9540Sstevel@tonic-gate
9550Sstevel@tonic-gate# libc method of building an archive
956*13093SRoger.Faulkner@Oracle.COM# The "$(GREP) -v ' L '" part is necessary only until
957*13093SRoger.Faulkner@Oracle.COM# lorder is fixed to ignore thread-local variables.
9580Sstevel@tonic-gateBUILD.AR= $(RM) $@ ; \
959*13093SRoger.Faulkner@Oracle.COM	$(AR) q $@ `$(LORDER) $(MOSTOBJS:%=$(DIR)/%) | $(GREP) -v ' L ' | $(TSORT)`
9600Sstevel@tonic-gate
9610Sstevel@tonic-gate# extra files for the clean target
9620Sstevel@tonic-gateCLEANFILES=			\
96312719SRod.Evans@Sun.COM	$(LIBCDIR)/port/gen/errlst.c	\
96412719SRod.Evans@Sun.COM	$(LIBCDIR)/port/gen/new_list.c	\
9650Sstevel@tonic-gate	assym.h			\
9660Sstevel@tonic-gate	genassym		\
9670Sstevel@tonic-gate	crt/_rtld.s		\
9680Sstevel@tonic-gate	pics/crti.o		\
9690Sstevel@tonic-gate	pics/crtn.o		\
9700Sstevel@tonic-gate	$(ALTPICS)
9710Sstevel@tonic-gate
9722522SrafCLOBBERFILES +=	$(LIB_PIC)
9730Sstevel@tonic-gate
9740Sstevel@tonic-gate# list of C source for lint
9750Sstevel@tonic-gateSRCS=							\
9760Sstevel@tonic-gate	$(ATOMICOBJS:%.o=$(SRC)/common/atomic/%.c)	\
9775331Samw	$(XATTROBJS:%.o=$(SRC)/common/xattr/%.c)	\
9780Sstevel@tonic-gate	$(COMOBJS:%.o=$(SRC)/common/util/%.c)		\
97912719SRod.Evans@Sun.COM	$(PORTFP:%.o=$(LIBCDIR)/port/fp/%.c)			\
98012719SRod.Evans@Sun.COM	$(PORTGEN:%.o=$(LIBCDIR)/port/gen/%.c)			\
98112719SRod.Evans@Sun.COM	$(PORTI18N:%.o=$(LIBCDIR)/port/i18n/%.c)		\
98212719SRod.Evans@Sun.COM	$(PORTPRINT:%.o=$(LIBCDIR)/port/print/%.c)		\
98312719SRod.Evans@Sun.COM	$(PORTREGEX:%.o=$(LIBCDIR)/port/regex/%.c)		\
98412719SRod.Evans@Sun.COM	$(PORTSTDIO:%.o=$(LIBCDIR)/port/stdio/%.c)		\
98512719SRod.Evans@Sun.COM	$(PORTSYS:%.o=$(LIBCDIR)/port/sys/%.c)			\
98612719SRod.Evans@Sun.COM	$(AIOOBJS:%.o=$(LIBCDIR)/port/aio/%.c)			\
98712719SRod.Evans@Sun.COM	$(RTOBJS:%.o=$(LIBCDIR)/port/rt/%.c)			\
98812719SRod.Evans@Sun.COM	$(TPOOLOBJS:%.o=$(LIBCDIR)/port/tpool/%.c)		\
98912719SRod.Evans@Sun.COM	$(THREADSOBJS:%.o=$(LIBCDIR)/port/threads/%.c)		\
9900Sstevel@tonic-gate	$(THREADSMACHOBJS:%.o=threads/%.c)		\
9915049Sis	$(UNICODEOBJS:%.o=$(SRC)/common/unicode/%.c)	\
9920Sstevel@tonic-gate	$(UNWINDMACHOBJS:%.o=unwind/%.c)		\
9930Sstevel@tonic-gate	$(FPOBJS:%.o=fp/%.c)				\
99412719SRod.Evans@Sun.COM	$(I386FPOBJS:%.o=$(LIBCDIR)/i386/fp/%.c)		\
9950Sstevel@tonic-gate	$(LIBCBASE)/gen/ecvt.c				\
9960Sstevel@tonic-gate	$(LIBCBASE)/gen/makectxt.c			\
9970Sstevel@tonic-gate	$(LIBCBASE)/gen/siginfolst.c			\
9980Sstevel@tonic-gate	$(LIBCBASE)/gen/siglongjmp.c			\
9990Sstevel@tonic-gate	$(LIBCBASE)/gen/sync_instruction_memory.c	\
10000Sstevel@tonic-gate	$(LIBCBASE)/sys/uadmin.c
10010Sstevel@tonic-gate
10020Sstevel@tonic-gate# conditional assignments
10030Sstevel@tonic-gate# $(DYNLIB) $(LIB_PIC) := DYNOBJS = _rtbootld.o
10042037Scraigm$(DYNLIB) := CRTI = crti.o
10050Sstevel@tonic-gate$(DYNLIB) := CRTN = crtn.o
10060Sstevel@tonic-gate
10070Sstevel@tonic-gate# Files which need the threads .il inline template
10080Sstevel@tonic-gateTIL=				\
10092248Sraf	aio.o			\
10100Sstevel@tonic-gate	alloc.o			\
10110Sstevel@tonic-gate	assfail.o		\
10120Sstevel@tonic-gate	atexit.o		\
10130Sstevel@tonic-gate	atfork.o		\
10140Sstevel@tonic-gate	cancel.o		\
10150Sstevel@tonic-gate	door_calls.o		\
1016*13093SRoger.Faulkner@Oracle.COM	err.o			\
10170Sstevel@tonic-gate	errno.o			\
10180Sstevel@tonic-gate	lwp.o			\
10192248Sraf	ma.o			\
10200Sstevel@tonic-gate	machdep.o		\
10212248Sraf	posix_aio.o		\
10220Sstevel@tonic-gate	pthr_attr.o		\
10230Sstevel@tonic-gate	pthr_barrier.o		\
10240Sstevel@tonic-gate	pthr_cond.o		\
10250Sstevel@tonic-gate	pthr_mutex.o		\
10260Sstevel@tonic-gate	pthr_rwlock.o		\
10270Sstevel@tonic-gate	pthread.o		\
10280Sstevel@tonic-gate	rand.o			\
10290Sstevel@tonic-gate	rwlock.o		\
10300Sstevel@tonic-gate	scalls.o		\
10316247Sraf	sched.o			\
10320Sstevel@tonic-gate	sema.o			\
10330Sstevel@tonic-gate	sigaction.o		\
10342248Sraf	sigev_thread.o		\
10350Sstevel@tonic-gate	spawn.o			\
10360Sstevel@tonic-gate	stack.o			\
10370Sstevel@tonic-gate	synch.o			\
10380Sstevel@tonic-gate	tdb_agent.o		\
10390Sstevel@tonic-gate	thr.o			\
10400Sstevel@tonic-gate	thread_interface.o	\
10412248Sraf	thread_pool.o		\
10420Sstevel@tonic-gate	thrp_unwind.o		\
10430Sstevel@tonic-gate	tls.o			\
10440Sstevel@tonic-gate	tsd.o
10450Sstevel@tonic-gate
10460Sstevel@tonic-gate$(TIL:%=pics/%) := CFLAGS64 += $(LIBCBASE)/threads/amd64.il
10470Sstevel@tonic-gate
10480Sstevel@tonic-gate# pics/mul64.o := CFLAGS64 += crt/mul64.il
10490Sstevel@tonic-gate
10500Sstevel@tonic-gate# large-file-aware components that should be built large
10510Sstevel@tonic-gate
10520Sstevel@tonic-gate#$(COMSYSOBJS64:%=pics/%) := \
10530Sstevel@tonic-gate#	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
10540Sstevel@tonic-gate
10550Sstevel@tonic-gate#$(SYSOBJS64:%=pics/%) := \
10560Sstevel@tonic-gate#	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
10570Sstevel@tonic-gate
10580Sstevel@tonic-gate#$(PORTGEN64:%=pics/%) := \
10590Sstevel@tonic-gate#	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
10600Sstevel@tonic-gate
10610Sstevel@tonic-gate#$(PORTSTDIO64:%=pics/%) := \
10620Sstevel@tonic-gate#	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
10630Sstevel@tonic-gate
10640Sstevel@tonic-gate#$(PORTSYS64:%=pics/%) := \
10650Sstevel@tonic-gate#	CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
10660Sstevel@tonic-gate
10670Sstevel@tonic-gate$(PORTSTDIO_W:%=pics/%) := \
10680Sstevel@tonic-gate	CPPFLAGS += -D_WIDE
10690Sstevel@tonic-gate
10700Sstevel@tonic-gate$(PORTPRINT_W:%=pics/%) := \
10710Sstevel@tonic-gate	CPPFLAGS += -D_WIDE
10720Sstevel@tonic-gate
10730Sstevel@tonic-gate$(PORTPRINT_C89:%=pics/%) := \
10740Sstevel@tonic-gate	CPPFLAGS += -D_C89_INTMAX32
10750Sstevel@tonic-gate
10760Sstevel@tonic-gate$(PORTSTDIO_C89:%=pics/%) := \
10770Sstevel@tonic-gate	CPPFLAGS += -D_C89_INTMAX32
10780Sstevel@tonic-gate
10790Sstevel@tonic-gate$(PORTI18N_COND:%=pics/%) := \
10800Sstevel@tonic-gate	CPPFLAGS += -D_WCS_LONGLONG
10810Sstevel@tonic-gate
10820Sstevel@tonic-gate.KEEP_STATE:
10830Sstevel@tonic-gate
10840Sstevel@tonic-gateall: $(LIBS) $(LIB_PIC)
10850Sstevel@tonic-gate
108612719SRod.Evans@Sun.COMlint	:=	CPPFLAGS += -I$(LIBCDIR)/$(MACH)/fp
10870Sstevel@tonic-gatelint	:=	CPPFLAGS += -D_MSE_INT_H -D_LCONV_C99
10880Sstevel@tonic-gatelint	:=	LINTFLAGS64 += -mn -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
10890Sstevel@tonic-gate
10900Sstevel@tonic-gatelint:
10910Sstevel@tonic-gate	@echo $(LINT.c) ... $(LDLIBS)
10920Sstevel@tonic-gate	@$(LINT.c) $(SRCS) $(LDLIBS)
10930Sstevel@tonic-gate
109412719SRod.Evans@Sun.COM$(LINTLIB):= SRCS=$(LIBCDIR)/port/llib-lc
10950Sstevel@tonic-gate$(LINTLIB):= CPPFLAGS += -D_MSE_INT_H
10967684SNick.Todd@Sun.COM$(LINTLIB):= LINTFLAGS64=-nvx -m64
10970Sstevel@tonic-gate
10980Sstevel@tonic-gate# object files that depend on inline template
10990Sstevel@tonic-gate$(TIL:%=pics/%): $(LIBCBASE)/threads/amd64.il
11000Sstevel@tonic-gate# pics/mul64.o: crt/mul64.il
11010Sstevel@tonic-gate
11020Sstevel@tonic-gate# include common libc targets
11030Sstevel@tonic-gateinclude ../Makefile.targ
11040Sstevel@tonic-gate
11050Sstevel@tonic-gate# We need to strip out all CTF data from the static library
11060Sstevel@tonic-gate$(LIB_PIC) := DIR = pics
11070Sstevel@tonic-gate$(LIB_PIC): pics $$(PICS)
11080Sstevel@tonic-gate	$(BUILD.AR)
11090Sstevel@tonic-gate	$(MCS) -d -n .SUNW_ctf $@ > /dev/null 2>&1
11100Sstevel@tonic-gate	$(AR) -ts $@ > /dev/null
11110Sstevel@tonic-gate	$(POST_PROCESS_A)
11120Sstevel@tonic-gate
11130Sstevel@tonic-gateASSYMDEP_OBJS=			\
11140Sstevel@tonic-gate	_lwp_mutex_unlock.o	\
11150Sstevel@tonic-gate	_stack_grow.o		\
11160Sstevel@tonic-gate	asm_subr.o		\
11170Sstevel@tonic-gate	getcontext.o		\
111811426SRoger.Faulkner@Sun.COM	setjmp.o		\
11190Sstevel@tonic-gate	tls_get_addr.o		\
11203235Sraf	vforkx.o
11210Sstevel@tonic-gate
11220Sstevel@tonic-gate$(ASSYMDEP_OBJS:%=pics/%): assym.h
11230Sstevel@tonic-gate
11240Sstevel@tonic-gate# assym.h build rules
11250Sstevel@tonic-gate
11260Sstevel@tonic-gateGENASSYM_C = genassym.c
11270Sstevel@tonic-gate
11280Sstevel@tonic-gate# XXX	A hack.  Perhaps this should be 'CPPFLAGS.native' and
11290Sstevel@tonic-gate#	live in Makefile.master
11300Sstevel@tonic-gate
11310Sstevel@tonic-gateCPPFLAGS.genassym = \
11320Sstevel@tonic-gate	$(ENVCPPFLAGS1) $(ENVCPPFLAGS2) $(ENVCPPFLAGS3) $(ENVCPPFLAGS4)
11330Sstevel@tonic-gate
11340Sstevel@tonic-gategenassym: $(GENASSYM_C)
113512719SRod.Evans@Sun.COM	$(NATIVECC) -Iinc -I$(LIBCDIR)/inc $(CPPFLAGS.genassym) -o $@ $(GENASSYM_C)
11360Sstevel@tonic-gate
113712719SRod.Evans@Sun.COMOFFSETS = $(LIBCDIR)/$(MACH)/offsets.in
11380Sstevel@tonic-gate
11390Sstevel@tonic-gateassym.h: $(OFFSETS) genassym
11400Sstevel@tonic-gate	$(OFFSETS_CREATE) <$(OFFSETS) >$@
11410Sstevel@tonic-gate	./genassym >>$@
11420Sstevel@tonic-gate
11430Sstevel@tonic-gate# derived C source and related explicit dependencies
114412719SRod.Evans@Sun.COM$(LIBCDIR)/port/gen/errlst.c + \
114512719SRod.Evans@Sun.COM$(LIBCDIR)/port/gen/new_list.c: $(LIBCDIR)/port/gen/errlist $(LIBCDIR)/port/gen/errlist.awk
114612719SRod.Evans@Sun.COM	cd $(LIBCDIR)/port/gen; pwd; $(AWK) -f errlist.awk < errlist
11470Sstevel@tonic-gate
114812719SRod.Evans@Sun.COMpics/errlst.o: $(LIBCDIR)/port/gen/errlst.c
11490Sstevel@tonic-gate
115012719SRod.Evans@Sun.COMpics/new_list.o: $(LIBCDIR)/port/gen/new_list.c
1151