head	1.138;
access;
symbols
	netbsd-11-0-RC3:1.138
	netbsd-11-0-RC2:1.138
	netbsd-11-0-RC1:1.138
	perseant-exfatfs-base-20250801:1.138
	netbsd-11:1.138.0.4
	netbsd-11-base:1.138
	netbsd-10-1-RELEASE:1.134
	perseant-exfatfs-base-20240630:1.138
	perseant-exfatfs:1.138.0.2
	perseant-exfatfs-base:1.138
	netbsd-8-3-RELEASE:1.121
	netbsd-9-4-RELEASE:1.124
	netbsd-10-0-RELEASE:1.134
	netbsd-10-0-RC6:1.134
	netbsd-10-0-RC5:1.134
	netbsd-10-0-RC4:1.134
	netbsd-10-0-RC3:1.134
	netbsd-10-0-RC2:1.134
	thorpej-ifq:1.135.0.4
	thorpej-ifq-base:1.135
	thorpej-altq-separation:1.135.0.2
	thorpej-altq-separation-base:1.135
	netbsd-10-0-RC1:1.134
	netbsd-10:1.134.0.4
	netbsd-10-base:1.134
	bouyer-sunxi-drm:1.134.0.2
	bouyer-sunxi-drm-base:1.134
	netbsd-9-3-RELEASE:1.124
	thorpej-i2c-spi-conf2:1.133.0.6
	thorpej-i2c-spi-conf2-base:1.133
	thorpej-futex2:1.133.0.4
	thorpej-futex2-base:1.133
	thorpej-cfargs2:1.133.0.2
	thorpej-cfargs2-base:1.133
	cjep_sun2x-base1:1.132
	cjep_sun2x:1.132.0.6
	cjep_sun2x-base:1.132
	cjep_staticlib_x-base1:1.132
	netbsd-9-2-RELEASE:1.124
	cjep_staticlib_x:1.132.0.4
	cjep_staticlib_x-base:1.132
	thorpej-i2c-spi-conf:1.132.0.2
	thorpej-i2c-spi-conf-base:1.133
	thorpej-cfargs:1.130.0.2
	thorpej-cfargs-base:1.131
	thorpej-futex:1.129.0.2
	thorpej-futex-base:1.130
	netbsd-9-1-RELEASE:1.124
	bouyer-xenpvh-base2:1.127
	phil-wifi-20200421:1.127
	bouyer-xenpvh-base1:1.127
	phil-wifi-20200411:1.127
	bouyer-xenpvh:1.127.0.2
	bouyer-xenpvh-base:1.127
	is-mlppp:1.125.0.2
	is-mlppp-base:1.125
	phil-wifi-20200406:1.127
	netbsd-8-2-RELEASE:1.121
	ad-namecache-base3:1.125
	netbsd-9-0-RELEASE:1.124
	netbsd-9-0-RC2:1.124
	ad-namecache-base2:1.124
	ad-namecache-base1:1.124
	ad-namecache:1.124.0.10
	ad-namecache-base:1.124
	netbsd-9-0-RC1:1.124
	phil-wifi-20191119:1.124
	netbsd-9:1.124.0.8
	netbsd-9-base:1.124
	phil-wifi-20190609:1.124
	netbsd-8-1-RELEASE:1.121
	netbsd-8-1-RC1:1.121
	isaki-audio2:1.124.0.6
	isaki-audio2-base:1.124
	pgoyette-compat-merge-20190127:1.124
	pgoyette-compat-20190127:1.124
	pgoyette-compat-20190118:1.124
	pgoyette-compat-1226:1.124
	pgoyette-compat-1126:1.124
	pgoyette-compat-1020:1.124
	pgoyette-compat-0930:1.124
	pgoyette-compat-0906:1.124
	netbsd-7-2-RELEASE:1.99
	pgoyette-compat-0728:1.124
	netbsd-8-0-RELEASE:1.121
	phil-wifi:1.124.0.4
	phil-wifi-base:1.124
	pgoyette-compat-0625:1.124
	netbsd-8-0-RC2:1.121
	pgoyette-compat-0521:1.124
	pgoyette-compat-0502:1.124
	pgoyette-compat-0422:1.124
	netbsd-8-0-RC1:1.121
	pgoyette-compat-0415:1.124
	pgoyette-compat-0407:1.124
	pgoyette-compat-0330:1.124
	pgoyette-compat-0322:1.124
	pgoyette-compat-0315:1.124
	netbsd-7-1-2-RELEASE:1.99
	pgoyette-compat:1.124.0.2
	pgoyette-compat-base:1.124
	netbsd-7-1-1-RELEASE:1.99
	tls-maxphys-base-20171202:1.122
	matt-nb8-mediatek:1.121.0.14
	matt-nb8-mediatek-base:1.121
	nick-nhusb-base-20170825:1.121
	perseant-stdc-iso10646:1.121.0.12
	perseant-stdc-iso10646-base:1.121
	netbsd-8:1.121.0.10
	netbsd-8-base:1.121
	prg-localcount2-base3:1.121
	prg-localcount2-base2:1.121
	prg-localcount2-base1:1.121
	prg-localcount2:1.121.0.8
	prg-localcount2-base:1.121
	pgoyette-localcount-20170426:1.121
	bouyer-socketcan-base1:1.121
	jdolecek-ncq:1.121.0.6
	jdolecek-ncq-base:1.121
	pgoyette-localcount-20170320:1.121
	netbsd-7-1:1.99.0.10
	netbsd-7-1-RELEASE:1.99
	netbsd-7-1-RC2:1.99
	nick-nhusb-base-20170204:1.121
	netbsd-7-nhusb-base-20170116:1.99
	bouyer-socketcan:1.121.0.4
	bouyer-socketcan-base:1.121
	pgoyette-localcount-20170107:1.121
	netbsd-7-1-RC1:1.99
	nick-nhusb-base-20161204:1.121
	pgoyette-localcount-20161104:1.121
	netbsd-7-0-2-RELEASE:1.99
	nick-nhusb-base-20161004:1.121
	localcount-20160914:1.121
	netbsd-7-nhusb:1.99.0.8
	netbsd-7-nhusb-base:1.99
	pgoyette-localcount-20160806:1.121
	pgoyette-localcount-20160726:1.121
	pgoyette-localcount:1.121.0.2
	pgoyette-localcount-base:1.121
	nick-nhusb-base-20160907:1.121
	nick-nhusb-base-20160529:1.120
	netbsd-7-0-1-RELEASE:1.99
	nick-nhusb-base-20160422:1.120
	nick-nhusb-base-20160319:1.120
	nick-nhusb-base-20151226:1.120
	netbsd-7-0:1.99.0.6
	netbsd-7-0-RELEASE:1.99
	nick-nhusb-base-20150921:1.118
	netbsd-7-0-RC3:1.99
	netbsd-7-0-RC2:1.99
	netbsd-7-0-RC1:1.99
	nick-nhusb-base-20150606:1.113
	nick-nhusb-base-20150406:1.103
	nick-nhusb:1.99.0.4
	nick-nhusb-base:1.99
	netbsd-5-2-3-RELEASE:1.12
	netbsd-5-1-5-RELEASE:1.12
	netbsd-6-0-6-RELEASE:1.61
	netbsd-6-1-5-RELEASE:1.61
	netbsd-7:1.99.0.2
	netbsd-7-base:1.99
	yamt-pagecache-base9:1.97
	yamt-pagecache-tag8:1.61.4.2
	netbsd-6-1-4-RELEASE:1.61
	netbsd-6-0-5-RELEASE:1.61
	tls-earlyentropy:1.94.0.2
	tls-earlyentropy-base:1.99
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.94
	riastradh-drm2-base3:1.94
	netbsd-6-1-3-RELEASE:1.61
	netbsd-6-0-4-RELEASE:1.61
	netbsd-5-2-2-RELEASE:1.12
	netbsd-5-1-4-RELEASE:1.12
	netbsd-6-1-2-RELEASE:1.61
	netbsd-6-0-3-RELEASE:1.61
	netbsd-5-2-1-RELEASE:1.12
	netbsd-5-1-3-RELEASE:1.12
	rmind-smpnet-nbase:1.97
	netbsd-6-1-1-RELEASE:1.61
	riastradh-drm2-base2:1.84
	riastradh-drm2-base1:1.84
	riastradh-drm2:1.84.0.2
	riastradh-drm2-base:1.84
	rmind-smpnet:1.81.0.4
	rmind-smpnet-base:1.97
	netbsd-6-1:1.61.0.16
	netbsd-6-0-2-RELEASE:1.61
	netbsd-6-1-RELEASE:1.61
	khorben-n900:1.81.0.2
	netbsd-6-1-RC4:1.61
	netbsd-6-1-RC3:1.61
	agc-symver:1.78.0.2
	agc-symver-base:1.78
	netbsd-6-1-RC2:1.61
	netbsd-6-1-RC1:1.61
	yamt-pagecache-base8:1.68
	netbsd-5-2:1.12.0.16
	netbsd-6-0-1-RELEASE:1.61
	yamt-pagecache-base7:1.68
	netbsd-5-2-RELEASE:1.12
	netbsd-5-2-RC1:1.12
	matt-nb6-plus-nbase:1.61
	yamt-pagecache-base6:1.63
	netbsd-6-0:1.61.0.14
	netbsd-6-0-RELEASE:1.61
	netbsd-6-0-RC2:1.61
	tls-maxphys:1.63.0.2
	tls-maxphys-base:1.99
	matt-nb6-plus:1.61.0.12
	matt-nb6-plus-base:1.61
	netbsd-6-0-RC1:1.61
	jmcneill-usbmp-base10:1.61
	yamt-pagecache-base5:1.61
	jmcneill-usbmp-base9:1.61
	yamt-pagecache-base4:1.61
	jmcneill-usbmp-base8:1.61
	jmcneill-usbmp-base7:1.61
	jmcneill-usbmp-base6:1.61
	jmcneill-usbmp-base5:1.61
	jmcneill-usbmp-base4:1.61
	jmcneill-usbmp-base3:1.61
	jmcneill-usbmp-pre-base2:1.61
	jmcneill-usbmp-base2:1.61
	netbsd-6:1.61.0.10
	netbsd-6-base:1.61
	netbsd-5-1-2-RELEASE:1.12
	netbsd-5-1-1-RELEASE:1.12
	jmcneill-usbmp:1.61.0.8
	jmcneill-usbmp-base:1.61
	jmcneill-audiomp3:1.61.0.6
	jmcneill-audiomp3-base:1.61
	yamt-pagecache-base3:1.61
	yamt-pagecache-base2:1.61
	yamt-pagecache:1.61.0.4
	yamt-pagecache-base:1.61
	rmind-uvmplock-nbase:1.61
	cherry-xenmp:1.61.0.2
	cherry-xenmp-base:1.61
	bouyer-quota2-nbase:1.60
	bouyer-quota2:1.59.0.4
	bouyer-quota2-base:1.60
	jruoho-x86intr:1.59.0.2
	jruoho-x86intr-base:1.59
	matt-mips64-premerge-20101231:1.58
	matt-nb5-mips64-premerge-20101231:1.12
	matt-nb5-pq3:1.12.0.14
	matt-nb5-pq3-base:1.12
	netbsd-5-1:1.12.0.12
	netbsd-5-1-RELEASE:1.12
	uebayasi-xip-base4:1.57
	uebayasi-xip-base3:1.57
	yamt-nfs-mp-base11:1.57
	netbsd-5-1-RC4:1.12
	matt-nb5-mips64-k15:1.12
	uebayasi-xip-base2:1.57
	yamt-nfs-mp-base10:1.57
	netbsd-5-1-RC3:1.12
	netbsd-5-1-RC2:1.12
	uebayasi-xip-base1:1.56
	netbsd-5-1-RC1:1.12
	rmind-uvmplock:1.52.0.2
	rmind-uvmplock-base:1.61
	yamt-nfs-mp-base9:1.52
	uebayasi-xip:1.48.0.2
	uebayasi-xip-base:1.48
	netbsd-5-0-2-RELEASE:1.12
	matt-nb5-mips64-premerge-20091211:1.12
	matt-premerge-20091211:1.45
	yamt-nfs-mp-base8:1.41
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.12
	matt-nb4-mips64-k7-u2a-k9b:1.12
	matt-nb5-mips64-u1-k1-k5:1.12
	yamt-nfs-mp-base7:1.38
	matt-nb5-mips64:1.12.0.10
	netbsd-5-0-1-RELEASE:1.12
	jymxensuspend-base:1.38
	yamt-nfs-mp-base6:1.38
	yamt-nfs-mp-base5:1.38
	yamt-nfs-mp-base4:1.38
	jym-xensuspend-nbase:1.41
	yamt-nfs-mp-base3:1.38
	nick-hppapmap-base4:1.37
	nick-hppapmap-base3:1.37
	netbsd-5-0:1.12.0.8
	netbsd-5-0-RELEASE:1.12
	netbsd-5-0-RC4:1.12
	netbsd-5-0-RC3:1.12
	nick-hppapmap-base2:1.33
	netbsd-5-0-RC2:1.12
	jym-xensuspend:1.32.0.2
	jym-xensuspend-base:1.38
	netbsd-5-0-RC1:1.12
	haad-dm-base2:1.13
	haad-nbase2:1.13
	ad-audiomp2:1.12.0.6
	ad-audiomp2-base:1.12
	netbsd-5:1.12.0.4
	netbsd-5-base:1.12
	nick-hppapmap:1.12.0.2
	nick-hppapmap-base:1.37
	matt-mips64-base2:1.12
	matt-mips64:1.1.0.2
	haad-dm-base1:1.12
	wrstuden-revivesa-base-4:1.12
	wrstuden-revivesa-base-3:1.11
	wrstuden-revivesa-base-2:1.11
	nick-csl-alignment-base5:1.5
	haad-dm:1.8.0.4
	haad-dm-base:1.13
	wrstuden-revivesa-base-1:1.8
	simonb-wapbl-nbase:1.11
	yamt-pf42-base4:1.8
	simonb-wapbl:1.8.0.2
	simonb-wapbl-base:1.11
	yamt-pf42-base3:1.8
	hpcarm-cleanup-nbase:1.7
	yamt-pf42-baseX:1.6
	yamt-pf42-base2:1.7
	yamt-nfs-mp-base2:1.7
	wrstuden-revivesa:1.7.0.2
	wrstuden-revivesa-base:1.8
	yamt-nfs-mp:1.6.0.10
	yamt-nfs-mp-base:1.6
	yamt-pf42:1.6.0.8
	yamt-pf42-base:1.6
	ad-socklock-base1:1.6
	yamt-lazymbuf-base15:1.6
	yamt-lazymbuf-base14:1.6
	keiichi-mipv6-nbase:1.6
	mjf-devfs2:1.6.0.6
	mjf-devfs2-base:1.30
	nick-net80211-sync:1.6.0.4
	nick-net80211-sync-base:1.6
	keiichi-mipv6:1.6.0.2
	keiichi-mipv6-base:1.6
	bouyer-xeni386-merge1:1.5
	matt-armv6-prevmlocking:1.5
	vmlocking2-base3:1.5
	bouyer-xeni386-nbase:1.5
	yamt-kmem-base3:1.5
	cube-autoconf:1.5.0.20
	cube-autoconf-base:1.5
	yamt-kmem-base2:1.5
	bouyer-xeni386:1.5.0.18
	bouyer-xeni386-base:1.5
	yamt-kmem:1.5.0.16
	yamt-kmem-base:1.5
	vmlocking2-base2:1.5
	reinoud-bufcleanup-nbase:1.5
	reinoud-bufcleanup-base:1.5
	vmlocking2:1.5.0.14
	vmlocking2-base1:1.5
	matt-armv6-nbase:1.6
	jmcneill-base:1.5
	mjf-devfs:1.5.0.12
	mjf-devfs-base:1.6
	jmcneill-pm:1.5.0.10
	hpcarm-cleanup-base:1.6
	bouyer-xenamd64-base2:1.5
	vmlocking-nbase:1.5
	yamt-x86pmap-base4:1.5
	bouyer-xenamd64:1.5.0.8
	bouyer-xenamd64-base:1.5
	yamt-x86pmap-base3:1.5
	vmlocking-base:1.5
	yamt-x86pmap-base2:1.5
	yamt-x86pmap:1.5.0.6
	yamt-x86pmap-base:1.5
	yamt-lazymbuf:1.5.0.4
	matt-armv6:1.5.0.2
	matt-armv6-base:1.5
	vmlocking:1.4.0.2
	nick-csl-alignment:1.3.0.2
	jmcneill-pm-base:1.5
	matt-mips64-base:1.1;
locks; strict;
comment	@# @;


1.138
date	2024.05.20.04.16.48;	author christos;	state Exp;
branches;
next	1.137;
commitid	feEEKqEyirb2XGaF;

1.137
date	2024.05.19.22.25.49;	author christos;	state Exp;
branches;
next	1.136;
commitid	XqbzQiQAGyYD0FaF;

1.136
date	2024.02.04.18.52.36;	author andvar;	state Exp;
branches;
next	1.135;
commitid	OmvohHw6qqHyc9XE;

1.135
date	2023.07.28.18.19.01;	author christos;	state Exp;
branches;
next	1.134;
commitid	v5JxtHEHo0Vx9ByE;

1.134
date	2022.05.03.08.34.00;	author hannken;	state Exp;
branches;
next	1.133;
commitid	fgoH3bjnEDBIpACD;

1.133
date	2021.07.07.11.51.45;	author martin;	state Exp;
branches;
next	1.132;
commitid	uaomVgnLuOgm930D;

1.132
date	2021.04.25.15.16.56;	author christos;	state Exp;
branches
	1.132.2.1;
next	1.131;
commitid	maQnpmyRpoBBDGQC;

1.131
date	2021.04.13.22.23.42;	author christos;	state Exp;
branches;
next	1.130;
commitid	y8mZJ6Ak4ITRnbPC;

1.130
date	2021.03.14.13.11.59;	author rin;	state Exp;
branches
	1.130.2.1;
next	1.129;
commitid	V6vZGSg75p5nihLC;

1.129
date	2020.06.12.11.04.45;	author roy;	state Exp;
branches
	1.129.2.1;
next	1.128;
commitid	OaWPbwiyPUMQnVbC;

1.128
date	2020.05.29.00.05.26;	author kamil;	state Exp;
branches;
next	1.127;
commitid	TkfYhZ8aLzf9e4aC;

1.127
date	2020.03.09.14.45.41;	author kamil;	state Exp;
branches;
next	1.126;
commitid	nH0jpe5YJAsLHJZB;

1.126
date	2020.03.09.00.03.00;	author kamil;	state Exp;
branches;
next	1.125;
commitid	OA14aENEOiwOOEZB;

1.125
date	2020.02.20.22.52.10;	author joerg;	state Exp;
branches;
next	1.124;
commitid	ZEU2NEgfUcRBYsXB;

1.124
date	2018.03.03.22.46.30;	author christos;	state Exp;
branches
	1.124.4.1
	1.124.10.1;
next	1.123;
commitid	vlgLMwuApBho34tA;

1.123
date	2018.01.18.00.32.49;	author mrg;	state Exp;
branches;
next	1.122;
commitid	pUaYOhbnzbSw5inA;

1.122
date	2017.10.08.18.46.10;	author joerg;	state Exp;
branches;
next	1.121;
commitid	lEZpVOOxi8xbqhaA;

1.121
date	2016.07.09.05.52.22;	author matt;	state Exp;
branches;
next	1.120;
commitid	YRaz76omvbRsNBdz;

1.120
date	2015.11.15.13.50.10;	author pooka;	state Exp;
branches;
next	1.119;
commitid	c7ipBy2pcXDI3cJy;

1.119
date	2015.10.19.16.16.32;	author pooka;	state Exp;
branches;
next	1.118;
commitid	tw5dhIUFxtTYIJFy;

1.118
date	2015.08.24.22.52.15;	author pooka;	state Exp;
branches;
next	1.117;
commitid	QGZ5AYXjFjJUIzyy;

1.117
date	2015.08.24.22.31.33;	author pooka;	state Exp;
branches;
next	1.116;
commitid	40ILj0hIsI6iBzyy;

1.116
date	2015.08.24.18.17.04;	author pooka;	state Exp;
branches;
next	1.115;
commitid	V41QLpnlsHPqcyyy;

1.115
date	2015.08.24.09.45.44;	author pooka;	state Exp;
branches;
next	1.114;
commitid	pXJwXfU9uZv9nvyy;

1.114
date	2015.08.21.12.39.07;	author pooka;	state Exp;
branches;
next	1.113;
commitid	npa66v43ETGnq8yy;

1.113
date	2015.06.03.14.40.11;	author pooka;	state Exp;
branches;
next	1.112;
commitid	RZkUUXWzOWIBDZny;

1.112
date	2015.06.03.10.49.14;	author pooka;	state Exp;
branches;
next	1.111;
commitid	JZJHZ4R4HJDbmYny;

1.111
date	2015.04.24.06.29.56;	author pooka;	state Exp;
branches;
next	1.110;
commitid	GDsYic6Xa2ZOcOiy;

1.110
date	2015.04.23.14.49.26;	author pooka;	state Exp;
branches;
next	1.109;
commitid	txQfQSfGFGXi0Jiy;

1.109
date	2015.04.23.14.39.03;	author pooka;	state Exp;
branches;
next	1.108;
commitid	tAL7eniT4j8DWIiy;

1.108
date	2015.04.23.10.52.18;	author pooka;	state Exp;
branches;
next	1.107;
commitid	qGGUh6hXMdR4HHiy;

1.107
date	2015.04.22.18.14.55;	author pooka;	state Exp;
branches;
next	1.106;
commitid	k8LBsrPNPkO2bCiy;

1.106
date	2015.04.22.18.12.39;	author pooka;	state Exp;
branches;
next	1.105;
commitid	TrPEcMGtj9T2aCiy;

1.105
date	2015.04.22.17.58.19;	author pooka;	state Exp;
branches;
next	1.104;
commitid	P0qbAW9s175m5Ciy;

1.104
date	2015.04.22.16.59.45;	author pooka;	state Exp;
branches;
next	1.103;
commitid	PRE32hRwdLA0LBiy;

1.103
date	2014.12.02.01.59.10;	author pooka;	state Exp;
branches;
next	1.102;
commitid	P0YHUcLumgzFip0y;

1.102
date	2014.12.01.23.08.15;	author pooka;	state Exp;
branches;
next	1.101;
commitid	DN49VW7P1GXGmo0y;

1.101
date	2014.12.01.22.58.41;	author pooka;	state Exp;
branches;
next	1.100;
commitid	1UjYEPkwXYWnjo0y;

1.100
date	2014.12.01.22.54.32;	author pooka;	state Exp;
branches;
next	1.99;
commitid	Z9GHFo96SKJOho0y;

1.99
date	2014.07.22.20.25.13;	author alnsn;	state Exp;
branches
	1.99.4.1;
next	1.98;
commitid	9GzU3G7iwzAoHpJx;

1.98
date	2014.06.20.11.57.56;	author pooka;	state Exp;
branches;
next	1.97;
commitid	C5lZwFV2HMspUfFx;

1.97
date	2014.04.25.11.49.16;	author pooka;	state Exp;
branches;
next	1.96;
commitid	KIpN4xcbMmKVF3yx;

1.96
date	2014.04.23.23.25.45;	author pooka;	state Exp;
branches;
next	1.95;
commitid	PweBQHb48Vc9zRxx;

1.95
date	2014.04.15.13.41.46;	author pooka;	state Exp;
branches;
next	1.94;
commitid	HT9dUeqiy8rHCMwx;

1.94
date	2014.03.16.15.31.03;	author pooka;	state Exp;
branches
	1.94.2.1;
next	1.93;
commitid	RYBpB7QMP3NSbWsx;

1.93
date	2014.03.16.14.02.06;	author pooka;	state Exp;
branches;
next	1.92;
commitid	sDYYdFeMsROhHVsx;

1.92
date	2014.03.15.15.15.26;	author pooka;	state Exp;
branches;
next	1.91;
commitid	EyBFm4trOv6a6Osx;

1.91
date	2014.03.13.01.34.06;	author pooka;	state Exp;
branches;
next	1.90;
commitid	yeJ2gaBtyI9mEtsx;

1.90
date	2014.03.10.22.38.53;	author pooka;	state Exp;
branches;
next	1.89;
commitid	jUULpt0F6tgYIcsx;

1.89
date	2013.12.09.17.57.11;	author pooka;	state Exp;
branches;
next	1.88;
commitid	FFnKdEqabRzo7ugx;

1.88
date	2013.12.09.16.54.20;	author pooka;	state Exp;
branches;
next	1.87;
commitid	PeQjm77us4SLLtgx;

1.87
date	2013.09.03.19.57.02;	author pooka;	state Exp;
branches;
next	1.86;
commitid	wTyLAQsErVEHT14x;

1.86
date	2013.08.30.10.29.06;	author pooka;	state Exp;
branches;
next	1.85;
commitid	HiBT387sTEcvSs3x;

1.85
date	2013.08.05.16.00.57;	author joerg;	state Exp;
branches;
next	1.84;
commitid	6qH0F150YMDzwh0x;

1.84
date	2013.07.16.19.07.54;	author pooka;	state Exp;
branches;
next	1.83;
commitid	okkIRoMKm6gxcJXw;

1.83
date	2013.07.09.17.49.37;	author pooka;	state Exp;
branches;
next	1.82;
commitid	v0yiP9l1nVdFZOWw;

1.82
date	2013.07.04.10.14.04;	author pooka;	state Exp;
branches;
next	1.81;
commitid	2pD5YrB3yeH8D8Ww;

1.81
date	2013.04.28.12.54.39;	author pooka;	state Exp;
branches
	1.81.4.1;
next	1.80;

1.80
date	2013.04.28.10.25.04;	author pooka;	state Exp;
branches;
next	1.79;

1.79
date	2013.04.27.12.51.45;	author pooka;	state Exp;
branches;
next	1.78;

1.78
date	2013.03.17.01.13.00;	author christos;	state Exp;
branches;
next	1.77;

1.77
date	2013.03.16.23.51.39;	author christos;	state Exp;
branches;
next	1.76;

1.76
date	2013.03.16.23.37.43;	author christos;	state Exp;
branches;
next	1.75;

1.75
date	2013.03.16.21.38.21;	author christos;	state Exp;
branches;
next	1.74;

1.74
date	2013.03.15.12.42.18;	author pooka;	state Exp;
branches;
next	1.73;

1.73
date	2013.03.15.12.18.41;	author pooka;	state Exp;
branches;
next	1.72;

1.72
date	2013.03.15.12.15.52;	author pooka;	state Exp;
branches;
next	1.71;

1.71
date	2013.03.15.11.15.22;	author pooka;	state Exp;
branches;
next	1.70;

1.70
date	2013.03.01.18.11.11;	author pooka;	state Exp;
branches;
next	1.69;

1.69
date	2013.03.01.14.05.43;	author pooka;	state Exp;
branches;
next	1.68;

1.68
date	2012.11.22.21.21.21;	author pooka;	state Exp;
branches;
next	1.67;

1.67
date	2012.11.21.17.53.10;	author pooka;	state Exp;
branches;
next	1.66;

1.66
date	2012.11.21.17.51.42;	author pooka;	state Exp;
branches;
next	1.65;

1.65
date	2012.11.21.17.48.05;	author pooka;	state Exp;
branches;
next	1.64;

1.64
date	2012.11.13.19.12.42;	author pooka;	state Exp;
branches;
next	1.63;

1.63
date	2012.08.10.16.05.27;	author joerg;	state Exp;
branches
	1.63.2.1;
next	1.62;

1.62
date	2012.08.05.15.37.39;	author pooka;	state Exp;
branches;
next	1.61;

1.61
date	2011.05.10.00.33.58;	author matt;	state Exp;
branches
	1.61.4.1
	1.61.12.1;
next	1.60;

1.60
date	2011.02.01.01.15.51;	author matt;	state Exp;
branches;
next	1.59;

1.59
date	2011.01.06.11.22.54;	author pooka;	state Exp;
branches
	1.59.2.1
	1.59.4.1;
next	1.58;

1.58
date	2010.12.06.09.12.34;	author pooka;	state Exp;
branches;
next	1.57;

1.57
date	2010.05.11.21.08.07;	author pooka;	state Exp;
branches;
next	1.56;

1.56
date	2010.04.26.23.01.53;	author pooka;	state Exp;
branches;
next	1.55;

1.55
date	2010.03.28.04.29.34;	author mrg;	state Exp;
branches;
next	1.54;

1.54
date	2010.03.22.05.39.00;	author mrg;	state Exp;
branches;
next	1.53;

1.53
date	2010.03.21.06.55.44;	author pooka;	state Exp;
branches;
next	1.52;

1.52
date	2010.03.01.15.41.15;	author pooka;	state Exp;
branches
	1.52.2.1;
next	1.51;

1.51
date	2010.02.17.13.28.40;	author pooka;	state Exp;
branches;
next	1.50;

1.50
date	2010.02.16.20.42.44;	author pooka;	state Exp;
branches;
next	1.49;

1.49
date	2010.02.09.16.16.26;	author pooka;	state Exp;
branches;
next	1.48;

1.48
date	2010.02.03.21.15.39;	author pooka;	state Exp;
branches
	1.48.2.1;
next	1.47;

1.47
date	2010.02.03.21.11.24;	author pooka;	state Exp;
branches;
next	1.46;

1.46
date	2010.01.31.00.38.36;	author pooka;	state Exp;
branches;
next	1.45;

1.45
date	2009.12.12.17.10.19;	author pooka;	state Exp;
branches;
next	1.44;

1.44
date	2009.11.27.13.36.30;	author pooka;	state Exp;
branches;
next	1.43;

1.43
date	2009.11.20.12.24.17;	author pooka;	state Exp;
branches;
next	1.42;

1.42
date	2009.11.17.16.17.06;	author pooka;	state Exp;
branches;
next	1.41;

1.41
date	2009.09.13.22.51.41;	author pooka;	state Exp;
branches;
next	1.40;

1.40
date	2009.09.08.20.24.08;	author pooka;	state Exp;
branches;
next	1.39;

1.39
date	2009.09.07.13.02.37;	author pooka;	state Exp;
branches;
next	1.38;

1.38
date	2009.05.03.16.53.54;	author pooka;	state Exp;
branches;
next	1.37;

1.37
date	2009.04.26.20.45.37;	author pooka;	state Exp;
branches;
next	1.36;

1.36
date	2009.04.01.17.51.12;	author perry;	state Exp;
branches;
next	1.35;

1.35
date	2009.03.21.04.59.08;	author pooka;	state Exp;
branches;
next	1.34;

1.34
date	2009.03.19.12.01.50;	author pooka;	state Exp;
branches;
next	1.33;

1.33
date	2009.02.12.13.23.17;	author lukem;	state Exp;
branches;
next	1.32;

1.32
date	2009.01.23.19.14.30;	author pooka;	state Exp;
branches
	1.32.2.1;
next	1.31;

1.31
date	2009.01.18.20.42.11;	author he;	state Exp;
branches;
next	1.30;

1.30
date	2009.01.14.23.22.09;	author pooka;	state Exp;
branches;
next	1.29;

1.29
date	2009.01.12.02.22.55;	author pooka;	state Exp;
branches;
next	1.28;

1.28
date	2009.01.11.12.55.37;	author pooka;	state Exp;
branches;
next	1.27;

1.27
date	2009.01.10.23.38.40;	author pooka;	state Exp;
branches;
next	1.26;

1.26
date	2009.01.10.20.19.43;	author pooka;	state Exp;
branches;
next	1.25;

1.25
date	2009.01.08.20.00.12;	author pooka;	state Exp;
branches;
next	1.24;

1.24
date	2009.01.08.18.42.42;	author pooka;	state Exp;
branches;
next	1.23;

1.23
date	2009.01.02.11.13.38;	author pooka;	state Exp;
branches;
next	1.22;

1.22
date	2009.01.01.22.16.35;	author pooka;	state Exp;
branches;
next	1.21;

1.21
date	2009.01.01.19.43.57;	author pooka;	state Exp;
branches;
next	1.20;

1.20
date	2008.12.30.21.31.10;	author pooka;	state Exp;
branches;
next	1.19;

1.19
date	2008.12.30.19.05.40;	author pooka;	state Exp;
branches;
next	1.18;

1.18
date	2008.12.29.22.16.15;	author pooka;	state Exp;
branches;
next	1.17;

1.17
date	2008.12.29.18.53.57;	author pooka;	state Exp;
branches;
next	1.16;

1.16
date	2008.12.16.23.49.48;	author pooka;	state Exp;
branches;
next	1.15;

1.15
date	2008.12.16.23.17.17;	author pooka;	state Exp;
branches;
next	1.14;

1.14
date	2008.12.16.23.16.46;	author pooka;	state Exp;
branches;
next	1.13;

1.13
date	2008.12.08.12.57.33;	author pooka;	state Exp;
branches;
next	1.12;

1.12
date	2008.10.09.13.40.38;	author pooka;	state Exp;
branches
	1.12.2.1;
next	1.11;

1.11
date	2008.07.29.20.18.25;	author pooka;	state Exp;
branches;
next	1.10;

1.10
date	2008.07.29.13.17.41;	author pooka;	state Exp;
branches;
next	1.9;

1.9
date	2008.07.18.16.20.03;	author pooka;	state Exp;
branches;
next	1.8;

1.8
date	2008.05.31.19.28.36;	author ad;	state Exp;
branches
	1.8.2.1
	1.8.4.1;
next	1.7;

1.7
date	2008.05.03.14.48.31;	author lukem;	state Exp;
branches
	1.7.2.1;
next	1.6;

1.6
date	2008.01.24.22.41.07;	author pooka;	state Exp;
branches
	1.6.6.1
	1.6.8.1
	1.6.10.1;
next	1.5;

1.5
date	2007.08.25.10.22.31;	author pooka;	state Exp;
branches
	1.5.2.1
	1.5.4.1
	1.5.10.1
	1.5.12.1;
next	1.4;

1.4
date	2007.08.15.22.13.15;	author pooka;	state Exp;
branches
	1.4.2.1;
next	1.3;

1.3
date	2007.08.07.21.33.13;	author pooka;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2007.08.07.10.30.39;	author pooka;	state Exp;
branches;
next	1.1;

1.1
date	2007.08.05.22.28.01;	author pooka;	state Exp;
branches
	1.1.2.1;
next	;

1.132.2.1
date	2021.08.01.22.42.42;	author thorpej;	state Exp;
branches;
next	;
commitid	NihqK3haIgTUWj3D;

1.130.2.1
date	2021.04.17.17.26.22;	author thorpej;	state Exp;
branches;
next	;
commitid	bct79XL9ibnNBFPC;

1.129.2.1
date	2021.04.03.22.29.02;	author thorpej;	state Exp;
branches;
next	;
commitid	1gqS07EfPjskJTNC;

1.124.4.1
date	2020.04.08.14.08.59;	author martin;	state Exp;
branches;
next	;
commitid	Qli2aW9E74UFuA3C;

1.124.10.1
date	2020.02.29.20.21.08;	author ad;	state Exp;
branches;
next	;
commitid	OjSb8ro7YQETQBYB;

1.99.4.1
date	2015.04.06.15.18.24;	author skrll;	state Exp;
branches;
next	1.99.4.2;
commitid	pz01Zhy7RP6iGxgy;

1.99.4.2
date	2015.06.06.14.40.26;	author skrll;	state Exp;
branches;
next	1.99.4.3;
commitid	O6LVO5i6UulOvnoy;

1.99.4.3
date	2015.09.22.12.06.12;	author skrll;	state Exp;
branches;
next	1.99.4.4;
commitid	CpNWKp3ozVNTafCy;

1.99.4.4
date	2015.12.27.12.10.08;	author skrll;	state Exp;
branches;
next	1.99.4.5;
commitid	BTSqUD4SdJ5k7AOy;

1.99.4.5
date	2016.07.09.20.25.23;	author skrll;	state Exp;
branches;
next	;
commitid	6Uo6zNa4c5W4AGdz;

1.94.2.1
date	2014.08.10.06.56.49;	author tls;	state Exp;
branches;
next	;
commitid	SqReByPtwiDFCMLx;

1.81.4.1
date	2013.08.28.23.59.36;	author rmind;	state Exp;
branches;
next	1.81.4.2;
commitid	cbp9Ov2uYijlqh3x;

1.81.4.2
date	2014.05.18.17.46.14;	author rmind;	state Exp;
branches;
next	;
commitid	mL5ZYSzpqK6QS2Bx;

1.63.2.1
date	2012.11.20.03.02.49;	author tls;	state Exp;
branches;
next	1.63.2.2;

1.63.2.2
date	2013.02.25.00.30.07;	author tls;	state Exp;
branches;
next	1.63.2.3;

1.63.2.3
date	2013.06.23.06.20.26;	author tls;	state Exp;
branches;
next	1.63.2.4;
commitid	eVjr9caYRQbRGHUw;

1.63.2.4
date	2014.08.20.00.04.37;	author tls;	state Exp;
branches;
next	1.63.2.5;
commitid	jTnpym9Qu0o4R1Nx;

1.63.2.5
date	2017.12.03.11.39.06;	author jdolecek;	state Exp;
branches;
next	;
commitid	XcIYRZTAh1LmerhA;

1.61.4.1
date	2012.10.30.17.22.52;	author yamt;	state Exp;
branches;
next	1.61.4.2;

1.61.4.2
date	2013.01.16.05.33.51;	author yamt;	state Exp;
branches;
next	1.61.4.3;

1.61.4.3
date	2014.05.22.11.41.11;	author yamt;	state Exp;
branches;
next	;
commitid	VUUXuyNWnt3AKwBx;

1.61.12.1
date	2012.11.20.23.58.02;	author matt;	state Exp;
branches;
next	;

1.59.2.1
date	2011.06.06.09.10.04;	author jruoho;	state Exp;
branches;
next	;

1.59.4.1
date	2011.02.08.16.20.03;	author bouyer;	state Exp;
branches;
next	;

1.52.2.1
date	2010.05.30.05.18.03;	author rmind;	state Exp;
branches;
next	1.52.2.2;

1.52.2.2
date	2011.03.05.20.56.05;	author rmind;	state Exp;
branches;
next	1.52.2.3;

1.52.2.3
date	2011.05.31.03.05.11;	author rmind;	state Exp;
branches;
next	;

1.48.2.1
date	2010.04.30.14.44.23;	author uebayasi;	state Exp;
branches;
next	1.48.2.2;

1.48.2.2
date	2010.08.17.06.47.52;	author uebayasi;	state Exp;
branches;
next	;

1.32.2.1
date	2009.05.13.17.22.56;	author jym;	state Exp;
branches;
next	;

1.12.2.1
date	2009.01.19.13.20.20;	author skrll;	state Exp;
branches;
next	1.12.2.2;

1.12.2.2
date	2009.03.03.18.34.07;	author skrll;	state Exp;
branches;
next	1.12.2.3;

1.12.2.3
date	2009.04.28.07.37.50;	author skrll;	state Exp;
branches;
next	;

1.8.2.1
date	2008.07.21.14.14.13;	author simonb;	state Exp;
branches;
next	1.8.2.2;

1.8.2.2
date	2008.07.31.04.51.03;	author simonb;	state Exp;
branches;
next	;

1.8.4.1
date	2008.10.19.22.17.59;	author haad;	state Exp;
branches;
next	1.8.4.2;

1.8.4.2
date	2008.12.13.01.15.33;	author haad;	state Exp;
branches;
next	;

1.7.2.1
date	2008.06.23.04.32.02;	author wrstuden;	state Exp;
branches;
next	1.7.2.2;

1.7.2.2
date	2008.09.18.04.37.03;	author wrstuden;	state Exp;
branches;
next	1.7.2.3;

1.7.2.3
date	2008.10.10.22.36.16;	author skrll;	state Exp;
branches;
next	;

1.6.6.1
date	2008.06.02.13.24.31;	author mjf;	state Exp;
branches;
next	1.6.6.2;

1.6.6.2
date	2008.09.28.10.41.00;	author mjf;	state Exp;
branches;
next	1.6.6.3;

1.6.6.3
date	2009.01.17.13.29.35;	author mjf;	state Exp;
branches;
next	;

1.6.8.1
date	2008.05.18.12.35.45;	author yamt;	state Exp;
branches;
next	1.6.8.2;

1.6.8.2
date	2008.06.04.02.05.48;	author yamt;	state Exp;
branches;
next	;

1.6.10.1
date	2008.05.16.02.25.50;	author yamt;	state Exp;
branches;
next	1.6.10.2;

1.6.10.2
date	2009.05.04.08.14.24;	author yamt;	state Exp;
branches;
next	1.6.10.3;

1.6.10.3
date	2009.09.16.13.38.03;	author yamt;	state Exp;
branches;
next	1.6.10.4;

1.6.10.4
date	2010.03.11.15.04.32;	author yamt;	state Exp;
branches;
next	1.6.10.5;

1.6.10.5
date	2010.08.11.22.55.00;	author yamt;	state Exp;
branches;
next	;

1.5.2.1
date	2008.03.23.02.05.09;	author matt;	state Exp;
branches;
next	;

1.5.4.1
date	2007.08.25.10.22.31;	author yamt;	state dead;
branches;
next	1.5.4.2;

1.5.4.2
date	2007.09.03.14.44.26;	author yamt;	state Exp;
branches;
next	1.5.4.3;

1.5.4.3
date	2008.02.04.09.24.48;	author yamt;	state Exp;
branches;
next	;

1.5.10.1
date	2007.08.25.10.22.31;	author joerg;	state dead;
branches;
next	1.5.10.2;

1.5.10.2
date	2007.11.02.12.43.13;	author joerg;	state Exp;
branches;
next	;

1.5.12.1
date	2008.02.18.21.07.18;	author mjf;	state Exp;
branches;
next	;

1.4.2.1
date	2007.08.15.22.13.15;	author ad;	state dead;
branches;
next	1.4.2.2;

1.4.2.2
date	2007.08.20.22.07.08;	author ad;	state Exp;
branches;
next	1.4.2.3;

1.4.2.3
date	2007.10.09.13.45.00;	author ad;	state Exp;
branches;
next	;

1.3.2.1
date	2007.08.07.21.33.13;	author skrll;	state dead;
branches;
next	1.3.2.2;

1.3.2.2
date	2007.08.15.13.50.07;	author skrll;	state Exp;
branches;
next	1.3.2.3;

1.3.2.3
date	2007.09.03.10.23.51;	author skrll;	state Exp;
branches;
next	;

1.1.2.1
date	2007.08.05.22.28.01;	author pooka;	state dead;
branches;
next	1.1.2.2;

1.1.2.2
date	2007.08.05.22.28.02;	author pooka;	state Exp;
branches;
next	;


desc
@@


1.138
log
@Handle versions > 100
@
text
@#	$NetBSD: Makefile.rump,v 1.137 2024/05/19 22:25:49 christos Exp $
#

.if !defined(_RUMP_MK)
_RUMP_MK= #defined

WARNS?=		3	# XXX: src/sys won't compile with -Wsign-compare yet
NOLINT=		# kernel code

.include <bsd.own.mk>

# Use NetBSD kernel ABI by default on x86 archs.  Performance-related
# compile-time options may override this at a later date.
.if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64")
_RUMP_NATIVEABI= yes
.else
_RUMP_NATIVEABI= no
CPPFLAGS:=	-I${RUMPTOP}/include ${CPPFLAGS}
CPPFLAGS+=	-D_RUMPKERNEL -I${RUMPTOP}/librump/rumpkern
.endif

# We are compiling the kernel code with no-delete-null-pointer-checks,
# and compiling without it, causes issues at least on sh3 by adding
# aborts after kern_assert on NULL pointer checks.
CFLAGS+=    ${${ACTIVE_CC} == "gcc":? -fno-delete-null-pointer-checks :}

.if ${RUMP_SANITIZE:Uno} != "no"
CFLAGS+=	-fsanitize=${RUMP_SANITIZE}
LDFLAGS+=	-fsanitize=${RUMP_SANITIZE}
.endif

# NULL + 0 arithmetic raises LLVM UBSan warnings, specially in sys/pslist.h
# in the type-safe macros _PSLIST_VALIDATE_PTRS and _PSLIST_VALIDATE_CONTAINER.
.if ${MKSANITIZER:Uno} == "yes" || ${MKLIBCSANITIZER:Uno} == "yes"
CFLAGS+=    ${${ACTIVE_CC} == "clang":? -fno-delete-null-pointer-checks :}
.endif

# Define baseline cpu for mips ports, required for
# rumpcomp_sync_icache() hypercall.
.if !empty(MACHINE_ARCH:Mmips*)
.if ${MACHINE_MIPS64}
CPPFLAGS+=	-DMIPS64=1
.else
CPPFLAGS+=	-DMIPS1=1
.endif
.endif

# which NetBSD compat to build
RUMP_NBCOMPAT?=default
.if ${RUMP_NBCOMPAT} == "all" || ${RUMP_NBCOMPAT} == "default"
RUMP_NBCOMPAT=	50 60 70 80 90 100 110
.endif
.if ${RUMP_NBCOMPAT} == "none"
RUMP_NBCOMPAT=
.endif
RUMP_NBCOMPAT:=	${RUMP_NBCOMPAT:S/,/ /g}
CPPFLAGS+=	${RUMP_NBCOMPAT:C/^[1-9][0-9]*/-DCOMPAT_&/g}

CPPFLAGS+=	-nostdinc
CFLAGS+=	-ffreestanding -fno-strict-aliasing

CWARNFLAGS+=	-Wno-format-zero-length -Wno-pointer-sign

CPPIFLAGS+=	-imacros ${RUMPTOP}/include/opt/opt_rumpkernel.h
.ifdef BUILDRUMP_IMACROS
CPPIFLAGS+=	-imacros ${BUILDRUMP_IMACROS}
.endif

CPPFLAGS+=	-I${.CURDIR} -I.
CPPFLAGS+=	-I${RUMPTOP}/../../common/include
CPPFLAGS+=	-I${RUMPTOP}/include
CPPFLAGS+=	-I${RUMPTOP}/include/opt

SHLIB_MAJOR?=	0
SHLIB_MINOR?=	0

.ifdef NEED_ISYSTEM
CPPIFLAGS+=	-isystem ${RUMPTOP}/../arch
CPPIFLAGS+=	-isystem ${RUMPTOP}/..
.else
CPPFLAGS+=	-I${RUMPTOP}/../arch
CPPFLAGS+=	-I${RUMPTOP}/..
.endif

RUMP_LDSCRIPT?=	GNU
.if ${RUMP_LDSCRIPT} != "no"
# my ld or yours?
.if ${RUMP_LDSCRIPT} == "sun"
LDFLAGS+=	-Wl,-M ${RUMPTOP}/ldscript_sun.rump
SRCS+=		linksyms_sun.c
.PATH:		${RUMPTOP}
.elif ${RUMP_LDSCRIPT} == "GNU"
LDFLAGS+=	-Wl,-T,${RUMPTOP}/ldscript.rump
.elif ${RUMP_LDSCRIPT} == "ctor"
CPPFLAGS+=	-DRUMP_USE_CTOR
.else
.error Unknown ldscript ${RUMP_LDSCRIPT}
.endif
.endif

.if defined(RUMP_CURLWP)
.if   ${RUMP_CURLWP} == "hypercall"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP_HYPERCALL
.elif ${RUMP_CURLWP} == "__thread"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP___THREAD
.elif ${RUMP_CURLWP} == "register"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP_REGISTER
.else
.error Unsupported curlwp scheme: ${RUMP_CURLWP}
.endif
.endif

RUMP_DIAGNOSTIC?=yes
.if ${RUMP_DIAGNOSTIC} == "yes"
CPPFLAGS+=	-DDIAGNOSTIC
.endif

.ifdef RUMP_DEBUG
CPPFLAGS+=	-DDEBUG
.endif

.ifdef RUMP_LOCKDEBUG
CPPFLAGS+=	-DLOCKDEBUG
.endif

.ifdef RUMP_VNODE_LOCKDEBUG
CPPFLAGS+=	-DVNODE_LOCKDEBUG
.endif

RUMP_KTRACE?=yes
.if ${RUMP_KTRACE} == "yes"
CPPFLAGS+=	-DKTRACE
.endif

# kernel libs should not get linked against libc
# XXX: actually, we would like to enable this but cannot, since it
# also leaves out libgcc, it causes problems on some platforms.
# revisit some day.
#LDFLAGS+=	-nodefaultlibs

# make sure __NetBSD__ gets defined (for builds on non-NetBSD)
# also, give those builds a way to undef the local compiler's macros
CPPFLAGS+=	${RUMPKERN_UNDEF}

RUMPKERNEL=	This is NetBSD and I am the rump.  Good evening.

# workaround: evbppc is not a well-defined arch
.if ${MACHINE} == "evbppc"
.  if ${MACHINE_ARCH} == "powerpc"
CPPFLAGS+=	-DPPC_OEA
.  else
CPPFLAGS+=	-DPPC_OEA64
.  endif
.endif

# If any of these files change, we need a full rebuild
DPSRCS+=	${RUMPTOP}/Makefile.rump

#
# Support for component-specific hypercalls
#

# no easy way to get WARNS out of bsd.sys.mk
RUMPCOMP_USER_WARNFLAGS=	-Wall -Wextra -Wno-unused-parameter
RUMPCOMP_USER_WARNFLAGS+=	-Wstrict-prototypes -Wmissing-prototypes

.ifdef RUMPCOMP_USER_SRCS && !defined(RUMPKERN_ONLY)
.if empty(DESTDIR)
DESTDIR=/
.endif
BUILDRUMP_CPPFLAGS ?= -isysroot ${DESTDIR}
RUMPCOMP_USER_WERROR = ${${_NOWERROR} == "no" :?-Werror:}
.for rcusrc in ${RUMPCOMP_USER_SRCS:R}
${rcusrc}.d: ${rcusrc}.c
	${_MKTARGET_CREATE}
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${CPUFLAGS} ${REPROFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*${rcusrc}.c}

${rcusrc}.o: ${rcusrc}.c
	${_MKTARGET_COMPILE}
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${REPROFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}

${rcusrc}.pico: ${rcusrc}.c
	${_MKTARGET_COMPILE}
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${REPROFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}

${rcusrc}.po: ${rcusrc}.c
	${_MKTARGET_COMPILE}
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${REPROFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}

RUMPOBJ_NORENAME+=${rcusrc}.o ${rcusrc}.pico ${rcusrc}.po
SRCS+=${rcusrc}.c
.endfor
.endif

#
# Rename library symbols before use.  If a symbol does not already belong
# to a rump namespace ("rump" or "RUMP"), prefix it with "rumpns".  This
# avoids accidentally linking any kernel symbol against host platform
# libraries.  The only non-renamed symbols are linkset delimiters and
# the GOT, which are more a property of the compiler than the kernel.
#
# Some toolchains generate unresolved symbols which are supposed to be
# satisfied by the toolchain itself when the program is linked.
# Unfortunately, we do not know which of the symbols are generated by
# the toolchain.  Worse, they vary from platform to platform and
# toolchain to toolchain.  The good news, however, is that this will
# be detected by a compile-time failure, so we can fairly easily manage
# a quirktable here.
#
# We also allow calling ourselves externally with e.g.:
# make -f /sys/rump/Makefile.rump RUMP_SYMREN=ffs.kobj
#
.if ${MACHINE_CPU} == "mips"
_SYMQUIRK='|_gp_disp'
.elif ${MACHINE_CPU} == "hppa"
_SYMQUIRK='|\$$\$$'
.elif ${MACHINE_ARCH} == "powerpc64"
_SYMQUIRK="|PF_funcs"
.endif

#
# Prefix quirks.  At least one toolchain generates global
# symbols with prefixes which really need to remain as prefixes
# (i.e. the '.' on the front of some ppc64 globals).  The
# way to know if you have the problem is if you get later
# complaints about symbols like 'rumpns_XrumpBLAH' or 'XrumpBLAH';
# the 'X' part was added by the toolchain and will need to
# be mentioned here.
# 
.if ${MACHINE_ARCH} == "powerpc64"
_PQ="\.?"
.else
_PQ=
.endif

rump_symren: __archivebuild
.if !defined(RUMP_SYMREN)
	@@echo "Must supply RUMP_SYMREN for target rump_symren"
	@@false
.endif

# if we are called from lib build (RUMP_SYMREN is not specified),
# build the archive.  otherwise just rename symbols.
__archivebuild: .USE
.if defined(RUMP_SYMREN) && defined(RUMPTOP)
	@@echo "ERROR: RUMP_SYMREN can only be used standalone"
	@@false
.endif
.if defined(RUMP_SYMREN)
	${_MKMSG} " symbol rename " ${RUMP_SYMREN}
.else
	${_MKTARGET_BUILD}
	rm -f ${.TARGET}
.endif
	for renameobj in ${RUMP_SYMREN:U${.ALLSRC:C/(${RUMPOBJ_NORENAME:ts|})//g}}; do \
		${NM} -go $${renameobj} | ${TOOL_AWK} ' \
		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE|\.TOC\.'${_SYMQUIRK}'${RUMP_SYM_NORENAME:D|${RUMP_SYM_NORENAME}})/ \
		      {s=$$NF;sub(/^'${_PQ}'/, "&rumpns_", s); print $$NF, s}'\
		    | sort | uniq  > renametab.$${renameobj}; \
		${OBJCOPY} --preserve-dates --redefine-syms \
		    renametab.$${renameobj} $${renameobj}; \
		rm -f renametab.$${renameobj}; \
	done
.if !defined(RUMP_SYMREN)
	${AR} ${_ARFL} ${.TARGET} \
	    `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
.endif

COMMENT?=	(no description)
rumpdescribe: .PHONY
	@@printf '%-24s %s\n' '${LIB}' '${COMMENT}'

CPPFLAGS+=	${CPPIFLAGS}
LINTFLAGS+=	${CPPIFLAGS:S/^/-Z /}

_BSD_IOCONF_MK_USER_=1
.include <bsd.ioconf.mk>

.-include "${NETBSDSRCDIR}/sys/arch/${MACHINE_CPU}/include/Makefile.inc"
.-include "${NETBSDSRCDIR}/sys/arch/${MACHINE}/include/Makefile.inc"

.endif # _RUMP_MK
@


1.137
log
@version dup3
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.136 2024/02/04 18:52:36 andvar Exp $
d57 1
a57 1
CPPFLAGS+=	${RUMP_NBCOMPAT:C/[1-9]0/-DCOMPAT_&/g}
@


1.136
log
@fix tripple/quadruple "r" letter typos in comments and log messages.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.135 2023/07/28 18:19:01 christos Exp $
d51 1
a51 1
RUMP_NBCOMPAT=	50 60 70 80 90 100
@


1.135
log
@Add epoll(2) from Theodore Preduta as part of GSoC 2023
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.134 2022/05/03 08:34:00 hannken Exp $
d243 1
a243 1
# build the arrrrchive.  otherwise just rename symbols.
@


1.134
log
@Make option VNODE_LOCKDEBUG more functional.

- Add "LOCKED=EXCL" option for vnode operations needing exclusive locked nodes.

- As it is impossible to check for shared locks held by current thread avoid
  false assertions by testing for exclusive lock only in the "LOCKED=NO" case.

- New option "RUMP_VNODE_LOCKDEBUG" enables VNODE_LOCKDEBUG for the rump kernel.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.133 2021/07/07 11:51:45 martin Exp $
d51 1
a51 1
RUMP_NBCOMPAT=	50 60 70 80 90
@


1.133
log
@Allow to set sanitizer flags for the rump build from the
build.sh command line, like: -V RUMP_SANITIZE=address
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.132 2021/04/25 15:16:56 christos Exp $
d126 4
@


1.132
log
@use MACHINE_MIPS64
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.131 2021/04/13 22:23:42 christos Exp $
d27 5
@


1.132.2.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.133 2021/07/07 11:51:45 martin Exp $
a26 5
.if ${RUMP_SANITIZE:Uno} != "no"
CFLAGS+=	-fsanitize=${RUMP_SANITIZE}
LDFLAGS+=	-fsanitize=${RUMP_SANITIZE}
.endif

@


1.131
log
@Pass -isystem and -imacro ccp flags to lint
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.130 2021/03/14 13:11:59 rin Exp $
d36 1
a36 1
.if !empty(MACHINE_ARCH:Mmips64*)
@


1.130
log
@Build rump for PPC_OEA64 on evbppc64.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.129 2020/06/12 11:04:45 roy Exp $
d59 1
a59 1
CPPFLAGS+=	-imacros ${RUMPTOP}/include/opt/opt_rumpkernel.h
d61 1
a61 1
CPPFLAGS+=	-imacros ${BUILDRUMP_IMACROS}
d73 2
a74 2
CPPFLAGS+=	-isystem ${RUMPTOP}/../arch
CPPFLAGS+=	-isystem ${RUMPTOP}/..
d264 3
@


1.130.2.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.131 2021/04/13 22:23:42 christos Exp $
d59 1
a59 1
CPPIFLAGS+=	-imacros ${RUMPTOP}/include/opt/opt_rumpkernel.h
d61 1
a61 1
CPPIFLAGS+=	-imacros ${BUILDRUMP_IMACROS}
d73 2
a74 2
CPPIFLAGS+=	-isystem ${RUMPTOP}/../arch
CPPIFLAGS+=	-isystem ${RUMPTOP}/..
a263 3
CPPFLAGS+=	${CPPIFLAGS}
LINTFLAGS+=	${CPPIFLAGS:S/^/-Z /}

@


1.129
log
@Remove in-kernel handling of Router Advertisements

This is much better handled by a user-land tool.
Proposed on tech-net here:
https://mail-index.netbsd.org/tech-net/2020/04/22/msg007766.html

Note that the ioctl SIOCGIFINFO_IN6 no longer sets flags. That now
needs to be done using the pre-existing SIOCSIFINFO_FLAGS ioctl.

Compat is fully provided where it makes sense, but trying to turn on
RA handling will obviously throw an error as it no longer exists.

Note that if you use IPv6 temporary addresses, this now needs to be
turned on in dhcpcd.conf(5) rather than in sysctl.conf(5).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.128 2020/05/29 00:05:26 kamil Exp $
d139 2
a140 1
.if (${MACHINE} == "evbppc")
d142 3
@


1.129.2.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.130 2021/03/14 13:11:59 rin Exp $
d139 1
a139 2
.if ${MACHINE} == "evbppc"
.  if ${MACHINE_ARCH} == "powerpc"
a140 3
.  else
CPPFLAGS+=	-DPPC_OEA64
.  endif
@


1.128
log
@Set -fno-delete-null-pointer-checks for RUMP/MKSANITIZER with Clang

NULL + 0 arithmetic raises LLVM UBSan warnings, specially in sys/pslist.h
in the type-safe macros _PSLIST_VALIDATE_PTRS and _PSLIST_VALIDATE_CONTAINER.

Proposes on <tech-userlevel> without objections.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.127 2020/03/09 14:45:41 kamil Exp $
d46 1
a46 1
RUMP_NBCOMPAT=	50 60 70 80
@


1.127
log
@Revert previous

Requested by <riastradh>
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.125 2020/02/20 22:52:10 joerg Exp $
d27 6
@


1.126
log
@Build RUMP with -fno-delete-null-pointer-checks on all compilers

no-delete-null-pointer-checks is required in Clang/LLVM at least for
NULL + 0 operations that trigger LLVM UBSan and could be miscompiled.
@
text
@d25 1
a25 3
# no-delete-null-pointer-checks is required in Clang/LLVM at least for
# NULL + 0 operations that trigger LLVM UBSan and could be miscompiled.
CFLAGS+=    -fno-delete-null-pointer-checks
@


1.125
log
@The global offset table is spelled .TOC. on PPC64, so preserve that symbol.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.124 2018/03/03 22:46:30 christos Exp $
d25 3
a27 1
CFLAGS+=    ${${ACTIVE_CC} == "gcc":? -fno-delete-null-pointer-checks :}
@


1.124
log
@Disable NULL pointer check deletion like we do for the kernel in
src/sys/conf/Makefile.kern.inc. This is the same code we are compiling after
all and it has the same issues.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.123 2018/01/18 00:32:49 mrg Exp $
d238 1
a238 1
		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}'${RUMP_SYM_NORENAME:D|${RUMP_SYM_NORENAME}})/ \
@


1.124.4.1
log
@Merge changes from current as of 20200406
@
text
@d1 1
a1 1
#	$NetBSD$
d238 1
a238 1
		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE|\.TOC\.'${_SYMQUIRK}'${RUMP_SYM_NORENAME:D|${RUMP_SYM_NORENAME}})/ \
@


1.124.10.1
log
@Sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.125 2020/02/20 22:52:10 joerg Exp $
d238 1
a238 1
		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE|\.TOC\.'${_SYMQUIRK}'${RUMP_SYM_NORENAME:D|${RUMP_SYM_NORENAME}})/ \
@


1.123
log
@implement 32-bit compat support for raidframe.

convert several raidframe ioctls to be bitsize idempotent so that
they work the same in 32 and 64 bit worlds, allowing netbsd32 to
configure and query raid properly.  remove useless 'row' in a few
places.  add COMPAT_80 and put the old ioctls there.

raidframeio.h:
  RAIDFRAME_TEST_ACC
  - remove, unused
  RAIDFRAME_GET_COMPONENT_LABEL
  - convert to label not pointer to label
  RAIDFRAME_CHECK_RECON_STATUS_EXT
  RAIDFRAME_CHECK_PARITYREWRITE_STATUS_EXT
  RAIDFRAME_CHECK_COPYBACK_STATUS_EXT
  - convert to progress info not pointer to info
  RAIDFRAME_GET_INFO
  - version entirely.
raidframevar.h:
  - rf_recon_req{} has row, flags and raidPtr removed (they're
    not a useful part of this interface.)
  - RF_Config_s{} and RF_DeviceConfig_s{} have numRow/rows removed.
  - RF_RaidDisk_s{} is re-ordered slightly to fix alignment
    padding - the actual data was already OK.
  - InstallSpareTable() loses row argument

rf_compat32.c has code for RF_Config_s{} in 32 bit mode, used
by RAIDFRAME_CONFIGURE and RAIDFRAME_GET_INFO32.

rf_compat80.c has code for rf_recon_req{}, RF_RaidDisk_s{} and
RF_DeviceConfig_s{} to handle RAIDFRAME_FAIL_DISK,
RAIDFRAME_GET_COMPONENT_LABEL, RAIDFRAME_CHECK_RECON_STATUS_EXT,
RAIDFRAME_CHECK_PARITYREWRITE_STATUS_EXT,
RAIDFRAME_CHECK_COPYBACK_STATUS_EXT, RAIDFRAME_GET_INFO.

move several of the per-ioctl code blocks into separate functions.

add rf_recon_req_internal{} to replace old usage of global
rf_recon_req{} that had unused void * in the structure, ruining
it's 32/64 bit ABI.

add missing case for RAIDFRAME_GET_INFO50.

adjust raid tests to use the new .conf format, and add a case to
test the old method as well.

raidctl:
deal with lack of 'row' members in a couple of places.
fail request no longer takes row.
handle "START array" sections with just "numCol numSpare", ie
no "numRow" specified.  for now, generate old-style configuration
but update raidctl.8 to specify the new style (keeping reference
to the old style.)

note that: RF_ComponentLabel_s::{row,num_rows} and
RF_SingleComponent_s::row are obsolete but not removed yet.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.122 2017/10/08 18:46:10 joerg Exp $
d22 5
@


1.122
log
@Honor REPROFLAGS for rump components.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.121 2016/07/09 05:52:22 matt Exp $
d35 1
a35 1
RUMP_NBCOMPAT=	50 60 70
@


1.121
log
@Pass down ${CPUFLAGS}
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.120 2015/11/15 13:50:10 pooka Exp $
d152 1
a152 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${CPUFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*${rcusrc}.c}
d156 1
a156 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d160 1
a160 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d164 1
a164 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
@


1.120
log
@describe => rumpdescribe
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.119 2015/10/19 16:16:32 pooka Exp $
d152 1
a152 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*${rcusrc}.c}
d156 1
a156 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d160 1
a160 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d164 1
a164 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
@


1.119
log
@Add a COMMENT describing what each component roughly does.

"make describe" prints the comment.

Requested/inspired by Vincent Schwarzer on rumpkernel-users
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.118 2015/08/24 22:52:15 pooka Exp $
d246 1
a246 1
describe: .PHONY
@


1.118
log
@Remove individual opt_foo.h files, continue consolidating to opt_rumpkernel.h
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.117 2015/08/24 22:31:33 pooka Exp $
d245 4
@


1.117
log
@remove librump/rumpnet/opt, consolidate in rump/include/opt
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.116 2015/08/24 18:17:04 pooka Exp $
a56 1
CPPFLAGS+=	-I${RUMPTOP}/librump/rumpkern/opt
@


1.116
log
@Remove unnecessary DPSRCS+=

-imacros automatically results in a dependency.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.115 2015/08/24 09:45:44 pooka Exp $
d56 1
@


1.115
log
@Use BUILDRUMP_IMACROS if specified.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.114 2015/08/21 12:39:07 pooka Exp $
a133 1
DPSRCS+=	${RUMPTOP}/include/opt/opt_rumpkernel.h
@


1.114
log
@Move constant cpp macros from Makefile.rump into opt_rumpkernel.h
(makes cc invocation lines a bit shorter)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.113 2015/06/03 14:40:11 pooka Exp $
d49 3
@


1.113
log
@Add a "default" alias for RUMP_NBCOMPAT, in case "default" and "all"
stop being the same thing in the future.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.112 2015/06/03 10:49:14 pooka Exp $
a42 2
CPPFLAGS+=	-DMAXUSERS=32

d47 3
a49 2
CPPFLAGS+=	-D_KERNEL -DMULTIPROCESSOR -D_MODULE -DMODULAR
CPPFLAGS+=	-DDEBUGPRINT
d120 1
a120 1
CPPFLAGS+=	-D__NetBSD__ ${RUMPKERN_UNDEF}
d129 1
a129 1
# If this file changes, we need a full rebuild
d131 1
@


1.112
log
@Add "all" and "none" as acceptable RUMP_NBCOMPAT value aliases to
undefined and empty, respectively.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.111 2015/04/24 06:29:56 pooka Exp $
d33 2
a34 2
RUMP_NBCOMPAT?=all
.if ${RUMP_NBCOMPAT} == "all"
@


1.111
log
@There are tests which rely on compat code continuing to be present,
so default RUMP_NBCOMPAT to all releases.

reported by gson
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.110 2015/04/23 14:49:26 pooka Exp $
d32 8
a39 2
RUMP_NBCOMPAT?=	50 60 70
# normalize alternatively accepted comma-separated list
@


1.110
log
@Rename RUMP_COMPAT to RUMP_NBCOMBAT to better signify what the
variable does.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.109 2015/04/23 14:39:03 pooka Exp $
d32 1
a32 4
RUMP_NBCOMPAT?=	60 70
.if ${RUMP_NBCOMPAT} == "all"
RUMP_NBCOMPAT=	50 60 70
.endif
@


1.109
log
@For RUMP_COMPAT, accept "all" as an alias.

Also accept a comma-separated list, since that's easier to pass through
shells than a whitespace-separated list.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.108 2015/04/23 10:52:18 pooka Exp $
d32 3
a34 3
RUMP_COMPAT?=	60 70
.if ${RUMP_COMPAT} == "all"
RUMP_COMPAT=	50 60 70
d37 2
a38 2
RUMP_COMPAT:=	${RUMP_COMPAT:S/,/ /g}
CPPFLAGS+=	${RUMP_COMPAT:C/[1-9]0/-DCOMPAT_&/g}
@


1.108
log
@Default compat to 60 70, now that it hopefully generates no fallout.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.107 2015/04/22 18:14:55 pooka Exp $
d33 5
@


1.107
log
@Put 50 back to compat list for a while (some fallout)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.106 2015/04/22 18:12:39 pooka Exp $
d32 1
a32 1
RUMP_COMPAT?=	50 60 70
@


1.106
log
@Define rump_nativeabi_p() under arch, where one would logically expect
it to be defined.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.105 2015/04/22 17:58:19 pooka Exp $
d32 1
a32 1
RUMP_COMPAT?=	60 70
@


1.105
log
@default compat to 60 & 70
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.104 2015/04/22 16:59:45 pooka Exp $
a15 1
CPPFLAGS+=	-D_RUMP_NATIVE_ABI
@


1.104
log
@Generate -DCOMPAT_nn from a list of nn provided in RUMP_COMPAT
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.103 2014/12/02 01:59:10 pooka Exp $
d33 1
a33 1
RUMP_COMPAT?=	50 60
@


1.103
log
@Remove shlib_version files and just use Makefile SHLIB_MAJOR/MINOR,
with the default provided by Makefile.rump (they're all 0.0 anyway)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.102 2014/12/01 23:08:15 pooka Exp $
d33 3
a36 1
CPPFLAGS+=	-DCOMPAT_50=1 -DCOMPAT_60=1
@


1.102
log
@need -Wno-unused-parameter with -Wextra
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.101 2014/12/01 22:58:41 pooka Exp $
d47 3
@


1.101
log
@define the warnings used for hypercall components once
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.100 2014/12/01 22:54:32 pooka Exp $
d126 2
a127 1
RUMPCOMP_USER_WARNFLAGS=-Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes
@


1.100
log
@RUMPCOMP_USER has been deprecated for long enough, remove it.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.99 2014/07/22 20:25:13 alnsn Exp $
d125 2
a126 1
# XXX: Warning flags are not in CWARNFLAGS.  Manually add a few important ones.
d141 1
a141 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d145 1
a145 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d149 1
a149 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
@


1.99
log
@Implement rumpcomp_sync_icache() hyprecall for mips and add
a barebone implementation if mips cache ops to librumpkern_sljit.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.98 2014/06/20 11:57:56 pooka Exp $
a126 4
.ifdef RUMPCOMP_USER
.warning RUMPCOMP_USER is deprecated.  Use RUMPCOMP_USER_SRCS
RUMPCOMP_USER_SRCS= rumpcomp_user.c
.endif
@


1.99.4.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.103 2014/12/02 01:59:10 pooka Exp $
a46 3
SHLIB_MAJOR?=	0
SHLIB_MINOR?=	0

d125 1
a125 3
# no easy way to get WARNS out of bsd.sys.mk
RUMPCOMP_USER_WARNFLAGS=	-Wall -Wextra -Wno-unused-parameter
RUMPCOMP_USER_WARNFLAGS+=	-Wstrict-prototypes -Wmissing-prototypes
d127 4
d144 1
a144 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d148 1
a148 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d152 1
a152 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
@


1.99.4.2
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.99.4.1 2015/04/06 15:18:24 skrll Exp $
d16 1
a32 11
# which NetBSD compat to build
RUMP_NBCOMPAT?=default
.if ${RUMP_NBCOMPAT} == "all" || ${RUMP_NBCOMPAT} == "default"
RUMP_NBCOMPAT=	50 60 70
.endif
.if ${RUMP_NBCOMPAT} == "none"
RUMP_NBCOMPAT=
.endif
RUMP_NBCOMPAT:=	${RUMP_NBCOMPAT:S/,/ /g}
CPPFLAGS+=	${RUMP_NBCOMPAT:C/[1-9]0/-DCOMPAT_&/g}

d34 1
d194 1
a194 1
#
@


1.99.4.3
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.99.4.2 2015/06/06 14:40:26 skrll Exp $
d43 2
d49 2
a50 6

CPPFLAGS+=	-imacros ${RUMPTOP}/include/opt/opt_rumpkernel.h
.ifdef BUILDRUMP_IMACROS
CPPFLAGS+=	-imacros ${BUILDRUMP_IMACROS}
.endif

d54 1
a54 1
CPPFLAGS+=	-I${RUMPTOP}/include/opt
d121 1
a121 1
CPPFLAGS+=	${RUMPKERN_UNDEF}
d130 1
a130 1
# If any of these files change, we need a full rebuild
@


1.99.4.4
log
@Sync with HEAD (as of 26th Dec)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.99.4.3 2015/09/22 12:06:12 skrll Exp $
a244 4
COMMENT?=	(no description)
rumpdescribe: .PHONY
	@@printf '%-24s %s\n' '${LIB}' '${COMMENT}'

@


1.99.4.5
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.99.4.4 2015/12/27 12:10:08 skrll Exp $
d152 1
a152 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${CPUFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*${rcusrc}.c}
d156 1
a156 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d160 1
a160 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d164 1
a164 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
@


1.98
log
@Some rump kernel components for interfacing with the environment need
to access both NetBSD kernel facilities and facilities provided by the
environment.

Where the environment's headers can be #included without namespace
conflict (which can be done - with care - for some Xen mini-os
headers), it is convenient to simply allow the rump kernel code to
call directly into the environment.

This also requires not mangling the symbol names.

So provide a variable RUMP_SYM_NORENAME which can be set by a component
namefile to a series of symbols or symbol prefixes (in makefile-quoted
awk regexp syntax).  For example, in the rumpuser-xen xenbus driver:
 RUMP_SYM_NORENAME=xenbus_|HYPERVISOR_|wake$$|block$$|schedule$$|force_evtchn

Signed-off-by: Ian Jackson <Ian.Jackson@@eu.citrix.com>
(proposed on rumpkernel-users; very minor modification by myself)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.97 2014/04/25 11:49:16 pooka Exp $
d23 10
@


1.97
log
@Remove old HAVE_SUN_LD compat handling, it was there long enough.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.96 2014/04/23 23:25:45 pooka Exp $
d211 1
a211 1
		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
@


1.96
log
@Add a RUMP_USE_CTOR compile-time switch.  If defined, use
__attribute__((constructor)) to determine which rump kernel components
and kernel modules are linked into the rump kernel.  If not defined
(default), use the regular approach with link sets.

This option is aimed to fix problems with toolchains where using link
sets is not possible because the linker does not generate the requisite
__start/__stop symbols for the link set sections (e.g. GNU gold, OS X, ...).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.95 2014/04/15 13:41:46 pooka Exp $
d48 1
a48 1
.if ${RUMP_LDSCRIPT} == "sun" || defined(HAVE_SUN_LD)
@


1.95
log
@add multi-inclusion protection
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.94 2014/03/16 15:31:03 pooka Exp $
d54 2
@


1.94
log
@Introduce RUMP_CURLWP compile option to select curlwp scheme.
Default is still "hypercall".
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.93 2014/03/16 14:02:06 pooka Exp $
d4 3
d226 2
@


1.94.2.1
log
@Rebase.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.99 2014/07/22 20:25:13 alnsn Exp $
a3 3
.if !defined(_RUMP_MK)
_RUMP_MK= #defined

a19 10
# Define baseline cpu for mips ports, required for
# rumpcomp_sync_icache() hypercall.
.if !empty(MACHINE_ARCH:Mmips*)
.if !empty(MACHINE_ARCH:Mmips64*)
CPPFLAGS+=	-DMIPS64=1
.else
CPPFLAGS+=	-DMIPS1=1
.endif
.endif

d45 1
a45 1
.if ${RUMP_LDSCRIPT} == "sun"
a50 2
.elif ${RUMP_LDSCRIPT} == "ctor"
CPPFLAGS+=	-DRUMP_USE_CTOR
d206 1
a206 1
		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}'${RUMP_SYM_NORENAME:D|${RUMP_SYM_NORENAME}})/ \
a222 2

.endif # _RUMP_MK
@


1.93
log
@Allow RUMP_LDSCRIPT itself to be used to specify which ldscript to use.
HAVE_SUN_LD will be deprecated in the future.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.92 2014/03/15 15:15:26 pooka Exp $
d56 12
@


1.92
log
@Allow compile-time optimizations to curlwp.  This can have a pretty
staggering impact on performance.  When running sendto() in a loop,
the improvement is 200k more calls per second with an inlined __thread
curlwp as opposed to the default.  In other words, it shaves off hundreds
of CPU cycles per call (~20%).  Even just eliminating the x86_curlwp()
call in favor of an inline gives an improvement of 60k calls per second.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.91 2014/03/13 01:34:06 pooka Exp $
d42 1
a42 1
RUMP_LDSCRIPT?=yes
d45 1
a45 1
.ifdef HAVE_SUN_LD
d49 2
d52 1
a52 1
LDFLAGS+=	-Wl,-T,${RUMPTOP}/ldscript.rump
@


1.91
log
@Allow multiple "rumpcomp_user" source modules to be specified by
introducing RUMPCOMP_USER_SRCS.  Make RUMPCOMP_USER issue a deprecation
warning, but for compat make it set RUMPCOMP_USER_SRCS=rumpcomp_user.c
for now.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.90 2014/03/10 22:38:53 pooka Exp $
d11 1
a11 2
.if ${MACHINE_ARCH} == "i386" || \
    ${MACHINE_ARCH} == "x86_64"
d17 1
a17 1
CPPFLAGS+=	-D_RUMPKERNEL
@


1.90
log
@Move the "is arch capable of loading native kernel modules into
rump kernel" clauses from bsd.own.mk to Makefile.rump.  Also,
add a rump_nativeabi_p() call to determine if rump kernel is
compiled with native ABI support.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.89 2013/12/09 17:57:11 pooka Exp $
d99 5
a103 1
.ifdef RUMPCOMP_USER && !defined(RUMPKERN_ONLY)
d109 2
a110 1
rumpcomp_user.d: rumpcomp_user.c
d112 1
a112 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*rumpcomp_user.c}
d114 1
a114 1
rumpcomp_user.o: rumpcomp_user.c
d116 1
a116 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}
d118 1
a118 1
rumpcomp_user.pico: rumpcomp_user.c
d120 1
a120 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}
d122 1
a122 1
rumpcomp_user.po: rumpcomp_user.c
d124 1
a124 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}
d126 3
a128 2
RUMPOBJ_NORENAME+=rumpcomp_user.*o
SRCS+=rumpcomp_user.c
d191 2
a192 2
	for obj in ${RUMP_SYMREN:U${.ALLSRC:N${RUMPOBJ_NORENAME}}}; do \
		${NM} -go $${obj} | ${TOOL_AWK} ' \
d195 1
a195 1
		    | sort | uniq  > renametab.$${obj}; \
d197 2
a198 2
		    renametab.$${obj} $${obj}; \
		rm -f renametab.$${obj}; \
@


1.89
log
@Make ktrace a compile-time option
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.88 2013/12/09 16:54:20 pooka Exp $
d9 8
a16 3
# If RUMPKMOD is _not_ set (only on capable archs, from bsd.own.mk),
# use rump ABI instead of the NetBSD kernel ABI.
.ifndef RUMPKMOD
a18 2
.else
CPPFLAGS+=	-D_RUMP_NATIVE_ABI
@


1.88
log
@Support ktrace for rump kernels.

Requested by Justin Cormack on rumpkernel-users.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.87 2013/09/03 19:57:02 pooka Exp $
a26 1
CPPFLAGS+=	-DKTRACE
d65 5
@


1.87
log
@RUMPCOMP_USEROBJ -> RUMPOBJ_NORENAME

Widens the implied usage scope of the variable.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.86 2013/08/30 10:29:06 pooka Exp $
d27 1
@


1.86
log
@Rename RUMPTEST_BUILDSH to RUMPKERN_ONLY.  Turns out not building any
POSIX implementations of hypercalls is useful beyond the build.sh test,
such as when building rump kernels for non-POSIX hosts.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.85 2013/08/05 16:00:57 joerg Exp $
d113 1
a113 1
RUMPCOMP_USEROBJ=rumpcomp_user.*o
d177 1
a177 1
	for obj in ${RUMP_SYMREN:U${.ALLSRC:N${RUMPCOMP_USEROBJ}}}; do \
@


1.85
log
@The linker script is the argument of -T, so keep them together.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.84 2013/07/16 19:07:54 pooka Exp $
d91 1
a91 1
.ifdef RUMPCOMP_USER && !defined(RUMPTEST_BUILDSH)
@


1.84
log
@COMPAT_60 for rump kernels.

Requested via github (buildrump.sh)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.83 2013/07/09 17:49:37 pooka Exp $
d48 1
a48 1
LDFLAGS+=	-Wl,-T ${RUMPTOP}/ldscript.rump
@


1.83
log
@Fix pasto: BUILDRUMP_CPPFLAGS was used twice.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.82 2013/07/04 10:14:04 pooka Exp $
d19 1
a19 1
CPPFLAGS+=	-DCOMPAT_50=1
@


1.82
log
@Apparently warning flags are not kept in CWARNFLAGS.  Compensate.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.81 2013/04/28 12:54:39 pooka Exp $
d111 1
a111 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}
@


1.81
log
@fix "build.sh rumptest" wrt private hypercalls
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.80 2013/04/28 10:25:04 pooka Exp $
d89 1
d96 1
d103 1
a103 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}
d107 1
a107 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}
d111 1
a111 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}
@


1.81.4.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD$
d19 1
a19 1
CPPFLAGS+=	-DCOMPAT_50=1 -DCOMPAT_60=1
d48 1
a48 1
LDFLAGS+=	-Wl,-T,${RUMPTOP}/ldscript.rump
a88 1
# XXX: Warning flags are not in CWARNFLAGS.  Manually add a few important ones.
a94 1
RUMPCOMP_USER_WERROR = ${${_NOWERROR} == "no" :?-Werror:}
d101 1
a101 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}
d105 1
a105 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}
d109 1
a109 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}
@


1.81.4.2
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.81.4.1 2013/08/28 23:59:36 rmind Exp $
a3 3
.if !defined(_RUMP_MK)
_RUMP_MK= #defined

d9 6
a14 4
# Use NetBSD kernel ABI by default on x86 archs.  Performance-related
# compile-time options may override this at a later date.
.if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64")
_RUMP_NATIVEABI= yes
a15 4
.else
_RUMP_NATIVEABI= no
CPPFLAGS:=	-I${RUMPTOP}/include ${CPPFLAGS}
CPPFLAGS+=	-D_RUMPKERNEL -I${RUMPTOP}/librump/rumpkern
d40 1
a40 1
RUMP_LDSCRIPT?=	GNU
d43 1
a43 1
.if ${RUMP_LDSCRIPT} == "sun"
d47 1
a47 1
.elif ${RUMP_LDSCRIPT} == "GNU"
a48 16
.elif ${RUMP_LDSCRIPT} == "ctor"
CPPFLAGS+=	-DRUMP_USE_CTOR
.else
.error Unknown ldscript ${RUMP_LDSCRIPT}
.endif
.endif

.if defined(RUMP_CURLWP)
.if   ${RUMP_CURLWP} == "hypercall"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP_HYPERCALL
.elif ${RUMP_CURLWP} == "__thread"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP___THREAD
.elif ${RUMP_CURLWP} == "register"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP_REGISTER
.else
.error Unsupported curlwp scheme: ${RUMP_CURLWP}
a64 5
RUMP_KTRACE?=yes
.if ${RUMP_KTRACE} == "yes"
CPPFLAGS+=	-DKTRACE
.endif

d91 1
a91 5
.ifdef RUMPCOMP_USER
.warning RUMPCOMP_USER is deprecated.  Use RUMPCOMP_USER_SRCS
RUMPCOMP_USER_SRCS= rumpcomp_user.c
.endif
.ifdef RUMPCOMP_USER_SRCS && !defined(RUMPKERN_ONLY)
d97 1
a97 2
.for rcusrc in ${RUMPCOMP_USER_SRCS:R}
${rcusrc}.d: ${rcusrc}.c
d99 1
a99 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*${rcusrc}.c}
d101 1
a101 1
${rcusrc}.o: ${rcusrc}.c
d103 1
a103 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d105 1
a105 1
${rcusrc}.pico: ${rcusrc}.c
d107 1
a107 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d109 1
a109 1
${rcusrc}.po: ${rcusrc}.c
d111 1
a111 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d113 2
a114 3
RUMPOBJ_NORENAME+=${rcusrc}.o ${rcusrc}.pico ${rcusrc}.po
SRCS+=${rcusrc}.c
.endfor
d177 2
a178 2
	for renameobj in ${RUMP_SYMREN:U${.ALLSRC:C/(${RUMPOBJ_NORENAME:ts|})//g}}; do \
		${NM} -go $${renameobj} | ${TOOL_AWK} ' \
d181 1
a181 1
		    | sort | uniq  > renametab.$${renameobj}; \
d183 2
a184 2
		    renametab.$${renameobj} $${renameobj}; \
		rm -f renametab.$${renameobj}; \
a195 2

.endif # _RUMP_MK
@


1.80
log
@Build only rumpcomp_user.c as part of the rumpcomp_user rules
(otherwise ioconf.c wants to be part of .ALLSRC for whatever reason
I'm not really interested in, but which the make gurus will surely
explain to me)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.79 2013/04/27 12:51:45 pooka Exp $
d90 1
a90 1
.ifdef RUMPCOMP_USER
@


1.79
log
@Allow to completely skip the ldscript, useful for linkers that don't need one.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.78 2013/03/17 01:13:00 christos Exp $
d97 1
a97 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*.c}
d101 1
a101 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*.c}
d105 1
a105 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*.c}
d109 1
a109 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*.c}
@


1.78
log
@fix typo
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.77 2013/03/16 23:51:39 christos Exp $
d40 2
d50 1
@


1.77
log
@order too
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.76 2013/03/16 23:37:43 christos Exp $
d94 1
a94 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:uM*.c}
@


1.76
log
@uniquefy, really should fix this so there are no dup rules.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.75 2013/03/16 21:38:21 christos Exp $
d94 1
a94 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:u:M*.c}
d98 1
a98 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:u:M*.c}
d102 1
a102 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:u:M*.c}
d106 1
a106 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:u:M*.c}
@


1.75
log
@Fix the build w/o DESTDIR
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.74 2013/03/15 12:42:18 pooka Exp $
d94 1
a94 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:M*.c}
d98 1
a98 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:M*.c}
d102 1
a102 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:M*.c}
d106 1
a106 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:M*.c}
@


1.74
log
@one more typofix
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.73 2013/03/15 12:18:41 pooka Exp $
d86 1
d88 4
d94 1
a94 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS:U-isysroot ${DESTDIR}} ${RUMPCOMP_USER_CPPFLAGS} ${.CURDIR}/rumpcomp_user.c
d98 1
a98 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS:U-isysroot ${DESTDIR}} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.CURDIR}/rumpcomp_user.c
d102 1
a102 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS:U-isysroot ${DESTDIR}} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.CURDIR}/rumpcomp_user.c
d106 1
a106 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS:U-isysroot ${DESTDIR}} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.CURDIR}/rumpcomp_user.c
@


1.73
log
@On second thought, let's use make syntax in makefiles ...
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.72 2013/03/15 12:15:52 pooka Exp $
d44 1
a44 1
PATH:		${RUMPTOP}
@


1.72
log
@Use correct ldscript etc. for Sun ld.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.71 2013/03/15 11:15:22 pooka Exp $
d47 1
a47 1
.fi
@


1.71
log
@Use "-isysroot ${DESTDIR}" for RUMPCOMP_USER when run as part of build.sh
so as to catch the necessary headers, which, unlike in the buildrump.sh
case, are not supposed to be intermingled with the ones provided by
the host.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.70 2013/03/01 18:11:11 pooka Exp $
d40 6
d47 1
@


1.70
log
@Shuffle the namespaces in the previous around a bit, and make it
rumpcomp_user instead of rumpuser_component.  This makes sure the
rumpuser namespace is used only by librumpuser.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.69 2013/03/01 14:05:43 pooka Exp $
d82 1
a82 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.CURDIR}/rumpcomp_user.c
d86 1
a86 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.CURDIR}/rumpcomp_user.c
d90 1
a90 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.CURDIR}/rumpcomp_user.c
d94 1
a94 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.CURDIR}/rumpcomp_user.c
@


1.69
log
@Allow rump kernel components to define their own hypercalls.  This is
useful for example for supporting the tap device on Linux, for which
Linux-specific ioctl's are required (or at least so I was told).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.68 2012/11/22 21:21:21 pooka Exp $
d79 2
a80 2
.ifdef RUMPUSER_COMPONENT
rumpuser_component.d: rumpuser_component.c
d82 1
a82 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPUSER_COMPONENT_CPPFLAGS} ${.CURDIR}/rumpuser_component.c
d84 1
a84 1
rumpuser_component.o: rumpuser_component.c
d86 1
a86 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPUSER_COMPONENT_CPPFLAGS} ${RUMPUSER_COMPONENT_CFLAGS} -c ${.CURDIR}/rumpuser_component.c
d88 1
a88 1
rumpuser_component.pico: rumpuser_component.c
d90 1
a90 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPUSER_COMPONENT_CPPFLAGS} ${RUMPUSER_COMPONENT_CFLAGS} -c ${.CURDIR}/rumpuser_component.c
d92 1
a92 1
rumpuser_component.po: rumpuser_component.c
d94 1
a94 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPUSER_COMPONENT_CPPFLAGS} ${RUMPUSER_COMPONENT_CFLAGS} -c ${.CURDIR}/rumpuser_component.c
d96 2
a97 2
RUMPUSER_OBJ=rumpuser_component.*o
SRCS+=rumpuser_component.c
d160 1
a160 1
	for obj in ${RUMP_SYMREN:U${.ALLSRC:N${RUMPUSER_OBJ}}}; do \
@


1.68
log
@Pass linker script with -Wl,-T to avoid clang incompating itself out
without flagging an error.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.67 2012/11/21 17:53:10 pooka Exp $
d76 25
a158 1
	${AR} ${_ARFL} ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
d160 9
a168 7
	${NM} -go ${RUMP_SYMREN:U${.TARGET}} | ${TOOL_AWK} '	\
	    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
	      {s = $$NF; sub(/^'${_PQ}'/, "&rumpns_", s); print $$NF, s}' \
	    | sort | uniq  > renametab.${.TARGET}
	${OBJCOPY} --preserve-dates --redefine-syms \
	    renametab.${.TARGET} ${RUMP_SYMREN:U${.TARGET}}
	rm -f renametab.${.TARGET}
d170 2
a171 1
	${AR} ${_ARRANFL} ${.TARGET}
@


1.67
log
@Instead of maintaining an evergrowing list of -U's, leave that up
to an external script.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.66 2012/11/21 17:51:42 pooka Exp $
d40 1
a40 1
LDFLAGS+=	-T ${RUMPTOP}/ldscript.rump
@


1.66
log
@Don't duplicate arbitrary chunks of bsd.sys.mk in here (especially
-Wsign-compare, since that doesn't even work with the kernel, and was
just previously masked by -isystem).  Reorder a bit too.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.65 2012/11/21 17:48:05 pooka Exp $
d62 2
a63 3
# aaand make sure cc doesn't source files any wild ideas
CPPFLAGS+=	-D__NetBSD__
CPPFLAGS+=	-Ulinux -U__linux -U__linux__ -U__gnu_linux__
@


1.65
log
@Don't unconditionally use the error-silencing magic of -isystem
(as opposed to -I) on every component, only the zfs ones depend on it
to build.  Regular modules might benefit from a similar move.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.64 2012/11/13 19:12:42 pooka Exp $
d18 4
d23 1
a23 5
.if (defined(HAVE_GCC) && ${HAVE_GCC} >= 3) || defined(HAVE_LLVM)
CFLAGS+=	-Wsign-compare
CFLAGS+=	-Wno-pointer-sign -Wno-attributes
CFLAGS+=	-std=gnu99
.endif
a25 2
CPPFLAGS+=	-DMAXUSERS=32
CPPFLAGS+=	-DCOMPAT_50=1
a30 1
CPPFLAGS+=	-nostdinc
@


1.64
log
@add some -U's for linux builds
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.63 2012/08/10 16:05:27 joerg Exp $
d30 1
a30 1
CPPFLAGS+=	-I${RUMPTOP}/../../common/include -isystem ${RUMPTOP}/../arch
d33 10
a42 1
CPPFLAGS+=	-nostdinc -isystem ${RUMPTOP}/..
@


1.63
log
@Deal with optional HAVE_GCC.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.62 2012/08/05 15:37:39 pooka Exp $
d56 1
d58 1
@


1.63.2.1
log
@Resync to 2012-11-19 00:00:00 UTC
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.64 2012/11/13 19:12:42 pooka Exp $
a55 1
# aaand make sure cc doesn't source files any wild ideas
a56 1
CPPFLAGS+=	-Ulinux -U__linux -U__linux__ -U__gnu_linux__
@


1.63.2.2
log
@resync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.63.2.1 2012/11/20 03:02:49 tls Exp $
a17 4
CPPFLAGS+=	-DMAXUSERS=32
CPPFLAGS+=	-DCOMPAT_50=1

CPPFLAGS+=	-nostdinc
d19 5
a23 1

d26 2
d30 1
a30 1
CPPFLAGS+=	-I${RUMPTOP}/../../common/include
d33 2
a34 10

.ifdef NEED_ISYSTEM
CPPFLAGS+=	-isystem ${RUMPTOP}/../arch
CPPFLAGS+=	-isystem ${RUMPTOP}/..
.else
CPPFLAGS+=	-I${RUMPTOP}/../arch
CPPFLAGS+=	-I${RUMPTOP}/..
.endif

LDFLAGS+=	-Wl,-T ${RUMPTOP}/ldscript.rump
d56 3
a58 2
# also, give those builds a way to undef the local compiler's macros
CPPFLAGS+=	-D__NetBSD__ ${RUMPKERN_UNDEF}
@


1.63.2.3
log
@resync from head
@
text
@d1 1
a1 1
#	$NetBSD$
a39 8
RUMP_LDSCRIPT?=yes
.if ${RUMP_LDSCRIPT} != "no"
# my ld or yours?
.ifdef HAVE_SUN_LD
LDFLAGS+=	-Wl,-M ${RUMPTOP}/ldscript_sun.rump
SRCS+=		linksyms_sun.c
.PATH:		${RUMPTOP}
.else
a40 2
.endif
.endif
a75 30
# Support for component-specific hypercalls
#


.ifdef RUMPCOMP_USER && !defined(RUMPTEST_BUILDSH)
.if empty(DESTDIR)
DESTDIR=/
.endif
BUILDRUMP_CPPFLAGS ?= -isysroot ${DESTDIR}
rumpcomp_user.d: rumpcomp_user.c
	${_MKTARGET_CREATE}
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*rumpcomp_user.c}

rumpcomp_user.o: rumpcomp_user.c
	${_MKTARGET_COMPILE}
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}

rumpcomp_user.pico: rumpcomp_user.c
	${_MKTARGET_COMPILE}
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}

rumpcomp_user.po: rumpcomp_user.c
	${_MKTARGET_COMPILE}
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*rumpcomp_user.c}

RUMPCOMP_USEROBJ=rumpcomp_user.*o
SRCS+=rumpcomp_user.c
.endif

#
d134 1
d136 7
a142 9
	for obj in ${RUMP_SYMREN:U${.ALLSRC:N${RUMPCOMP_USEROBJ}}}; do \
		${NM} -go $${obj} | ${TOOL_AWK} ' \
		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
		      {s=$$NF;sub(/^'${_PQ}'/, "&rumpns_", s); print $$NF, s}'\
		    | sort | uniq  > renametab.$${obj}; \
		${OBJCOPY} --preserve-dates --redefine-syms \
		    renametab.$${obj} $${obj}; \
		rm -f renametab.$${obj}; \
	done
d144 1
a144 2
	${AR} ${_ARFL} ${.TARGET} \
	    `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
@


1.63.2.4
log
@Rebase to HEAD as of a few days ago.
@
text
@a3 3
.if !defined(_RUMP_MK)
_RUMP_MK= #defined

d9 3
a11 7
# Use NetBSD kernel ABI by default on x86 archs.  Performance-related
# compile-time options may override this at a later date.
.if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64")
_RUMP_NATIVEABI= yes
CPPFLAGS+=	-D_RUMP_NATIVE_ABI
.else
_RUMP_NATIVEABI= no
d13 1
a13 8
CPPFLAGS+=	-D_RUMPKERNEL -I${RUMPTOP}/librump/rumpkern
.endif

# Define baseline cpu for mips ports, required for
# rumpcomp_sync_icache() hypercall.
.if !empty(MACHINE_ARCH:Mmips*)
.if !empty(MACHINE_ARCH:Mmips64*)
CPPFLAGS+=	-DMIPS64=1
d15 1
a15 2
CPPFLAGS+=	-DMIPS1=1
.endif
d19 1
a19 1
CPPFLAGS+=	-DCOMPAT_50=1 -DCOMPAT_60=1
d40 1
a40 1
RUMP_LDSCRIPT?=	GNU
d43 1
a43 1
.if ${RUMP_LDSCRIPT} == "sun"
a46 4
.elif ${RUMP_LDSCRIPT} == "GNU"
LDFLAGS+=	-Wl,-T,${RUMPTOP}/ldscript.rump
.elif ${RUMP_LDSCRIPT} == "ctor"
CPPFLAGS+=	-DRUMP_USE_CTOR
d48 1
a48 13
.error Unknown ldscript ${RUMP_LDSCRIPT}
.endif
.endif

.if defined(RUMP_CURLWP)
.if   ${RUMP_CURLWP} == "hypercall"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP_HYPERCALL
.elif ${RUMP_CURLWP} == "__thread"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP___THREAD
.elif ${RUMP_CURLWP} == "register"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP_REGISTER
.else
.error Unsupported curlwp scheme: ${RUMP_CURLWP}
a64 5
RUMP_KTRACE?=yes
.if ${RUMP_KTRACE} == "yes"
CPPFLAGS+=	-DKTRACE
.endif

a88 1
# XXX: Warning flags are not in CWARNFLAGS.  Manually add a few important ones.
d90 1
a90 5
.ifdef RUMPCOMP_USER
.warning RUMPCOMP_USER is deprecated.  Use RUMPCOMP_USER_SRCS
RUMPCOMP_USER_SRCS= rumpcomp_user.c
.endif
.ifdef RUMPCOMP_USER_SRCS && !defined(RUMPKERN_ONLY)
d95 1
a95 3
RUMPCOMP_USER_WERROR = ${${_NOWERROR} == "no" :?-Werror:}
.for rcusrc in ${RUMPCOMP_USER_SRCS:R}
${rcusrc}.d: ${rcusrc}.c
d97 1
a97 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*${rcusrc}.c}
d99 1
a99 1
${rcusrc}.o: ${rcusrc}.c
d101 1
a101 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d103 1
a103 1
${rcusrc}.pico: ${rcusrc}.c
d105 1
a105 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d107 1
a107 1
${rcusrc}.po: ${rcusrc}.c
d109 1
a109 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d111 2
a112 3
RUMPOBJ_NORENAME+=${rcusrc}.o ${rcusrc}.pico ${rcusrc}.po
SRCS+=${rcusrc}.c
.endfor
d175 3
a177 3
	for renameobj in ${RUMP_SYMREN:U${.ALLSRC:C/(${RUMPOBJ_NORENAME:ts|})//g}}; do \
		${NM} -go $${renameobj} | ${TOOL_AWK} ' \
		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}'${RUMP_SYM_NORENAME:D|${RUMP_SYM_NORENAME}})/ \
d179 1
a179 1
		    | sort | uniq  > renametab.$${renameobj}; \
d181 2
a182 2
		    renametab.$${renameobj} $${renameobj}; \
		rm -f renametab.$${renameobj}; \
a193 2

.endif # _RUMP_MK
@


1.63.2.5
log
@update from HEAD
@
text
@d16 1
d33 2
a34 10
# which NetBSD compat to build
RUMP_NBCOMPAT?=default
.if ${RUMP_NBCOMPAT} == "all" || ${RUMP_NBCOMPAT} == "default"
RUMP_NBCOMPAT=	50 60 70
.endif
.if ${RUMP_NBCOMPAT} == "none"
RUMP_NBCOMPAT=
.endif
RUMP_NBCOMPAT:=	${RUMP_NBCOMPAT:S/,/ /g}
CPPFLAGS+=	${RUMP_NBCOMPAT:C/[1-9]0/-DCOMPAT_&/g}
d40 2
a41 6

CPPFLAGS+=	-imacros ${RUMPTOP}/include/opt/opt_rumpkernel.h
.ifdef BUILDRUMP_IMACROS
CPPFLAGS+=	-imacros ${BUILDRUMP_IMACROS}
.endif

d45 1
a45 4
CPPFLAGS+=	-I${RUMPTOP}/include/opt

SHLIB_MAJOR?=	0
SHLIB_MINOR?=	0
d109 1
a109 1
CPPFLAGS+=	${RUMPKERN_UNDEF}
d118 1
a118 1
# If any of these files change, we need a full rebuild
d125 1
a125 3
# no easy way to get WARNS out of bsd.sys.mk
RUMPCOMP_USER_WARNFLAGS=	-Wall -Wextra -Wno-unused-parameter
RUMPCOMP_USER_WARNFLAGS+=	-Wstrict-prototypes -Wmissing-prototypes
d127 4
d140 1
a140 1
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${CPUFLAGS} ${REPROFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*${rcusrc}.c}
d144 1
a144 1
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${REPROFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d148 1
a148 1
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${REPROFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
d152 1
a152 1
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${CPUFLAGS} ${REPROFLAGS} ${RUMPCOMP_USER_WERROR} ${RUMPCOMP_USER_WARNFLAGS} ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}
a232 4
COMMENT?=	(no description)
rumpdescribe: .PHONY
	@@printf '%-24s %s\n' '${LIB}' '${COMMENT}'

@


1.62
log
@Make it easy to turn -DDIAGNOSTIC off (RUMP_DIAGNOSTIC=no) and -DDEBUG
on (RUMP_DEBUG=yes).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.61 2011/05/10 00:33:58 matt Exp $
d19 1
a19 1
.if defined(HAVE_GCC) && ${HAVE_GCC} >= 3
@


1.61
log
@Make rump compile things with -std=gnu99 like the kernel and modules.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.60 2011/02/01 01:15:51 matt Exp $
a26 1
CPPFLAGS+=	-DDIAGNOSTIC
d35 9
a43 1
#CPPFLAGS+=	-DDEBUG
@


1.61.12.1
log
@Don't use ldscript unless HAVE_BINUTILS == 219
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.61 2011/05/10 00:33:58 matt Exp $
a34 1
.if ${HAVE_BINUTILS} == "219"
a35 1
.endif
@


1.61.4.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.61 2011/05/10 00:33:58 matt Exp $
d19 1
a19 1
.if (defined(HAVE_GCC) && ${HAVE_GCC} >= 3) || defined(HAVE_LLVM)
d27 1
d36 1
a36 9

RUMP_DIAGNOSTIC?=yes
.if ${RUMP_DIAGNOSTIC} == "yes"
CPPFLAGS+=	-DDIAGNOSTIC
.endif

.ifdef RUMP_DEBUG
CPPFLAGS+=	-DDEBUG
.endif
@


1.61.4.2
log
@sync with (a bit old) head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.61.4.1 2012/10/30 17:22:52 yamt Exp $
a17 4
CPPFLAGS+=	-DMAXUSERS=32
CPPFLAGS+=	-DCOMPAT_50=1

CPPFLAGS+=	-nostdinc
d19 5
a23 1

d26 2
d30 1
a30 1
CPPFLAGS+=	-I${RUMPTOP}/../../common/include
d33 2
a34 10

.ifdef NEED_ISYSTEM
CPPFLAGS+=	-isystem ${RUMPTOP}/../arch
CPPFLAGS+=	-isystem ${RUMPTOP}/..
.else
CPPFLAGS+=	-I${RUMPTOP}/../arch
CPPFLAGS+=	-I${RUMPTOP}/..
.endif

LDFLAGS+=	-Wl,-T ${RUMPTOP}/ldscript.rump
d56 1
a56 2
# also, give those builds a way to undef the local compiler's macros
CPPFLAGS+=	-D__NetBSD__ ${RUMPKERN_UNDEF}
@


1.61.4.3
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.61.4.2 2013/01/16 05:33:51 yamt Exp $
a3 3
.if !defined(_RUMP_MK)
_RUMP_MK= #defined

d9 6
a14 4
# Use NetBSD kernel ABI by default on x86 archs.  Performance-related
# compile-time options may override this at a later date.
.if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64")
_RUMP_NATIVEABI= yes
a15 4
.else
_RUMP_NATIVEABI= no
CPPFLAGS:=	-I${RUMPTOP}/include ${CPPFLAGS}
CPPFLAGS+=	-D_RUMPKERNEL -I${RUMPTOP}/librump/rumpkern
d19 1
a19 1
CPPFLAGS+=	-DCOMPAT_50=1 -DCOMPAT_60=1
d40 1
a40 27
RUMP_LDSCRIPT?=	GNU
.if ${RUMP_LDSCRIPT} != "no"
# my ld or yours?
.if ${RUMP_LDSCRIPT} == "sun"
LDFLAGS+=	-Wl,-M ${RUMPTOP}/ldscript_sun.rump
SRCS+=		linksyms_sun.c
.PATH:		${RUMPTOP}
.elif ${RUMP_LDSCRIPT} == "GNU"
LDFLAGS+=	-Wl,-T,${RUMPTOP}/ldscript.rump
.elif ${RUMP_LDSCRIPT} == "ctor"
CPPFLAGS+=	-DRUMP_USE_CTOR
.else
.error Unknown ldscript ${RUMP_LDSCRIPT}
.endif
.endif

.if defined(RUMP_CURLWP)
.if   ${RUMP_CURLWP} == "hypercall"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP_HYPERCALL
.elif ${RUMP_CURLWP} == "__thread"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP___THREAD
.elif ${RUMP_CURLWP} == "register"
CPPFLAGS+=	-DRUMP_CURLWP=RUMP_CURLWP_REGISTER
.else
.error Unsupported curlwp scheme: ${RUMP_CURLWP}
.endif
.endif
a54 5
RUMP_KTRACE?=yes
.if ${RUMP_KTRACE} == "yes"
CPPFLAGS+=	-DKTRACE
.endif

a75 38
# Support for component-specific hypercalls
#

# XXX: Warning flags are not in CWARNFLAGS.  Manually add a few important ones.

.ifdef RUMPCOMP_USER
.warning RUMPCOMP_USER is deprecated.  Use RUMPCOMP_USER_SRCS
RUMPCOMP_USER_SRCS= rumpcomp_user.c
.endif
.ifdef RUMPCOMP_USER_SRCS && !defined(RUMPKERN_ONLY)
.if empty(DESTDIR)
DESTDIR=/
.endif
BUILDRUMP_CPPFLAGS ?= -isysroot ${DESTDIR}
RUMPCOMP_USER_WERROR = ${${_NOWERROR} == "no" :?-Werror:}
.for rcusrc in ${RUMPCOMP_USER_SRCS:R}
${rcusrc}.d: ${rcusrc}.c
	${_MKTARGET_CREATE}
	${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} ${BUILDRUMP_CPPFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${.ALLSRC:O:u:M*${rcusrc}.c}

${rcusrc}.o: ${rcusrc}.c
	${_MKTARGET_COMPILE}
	${CC} -o ${.TARGET} ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}

${rcusrc}.pico: ${rcusrc}.c
	${_MKTARGET_COMPILE}
	${CC} -o ${.TARGET} -fPIC -DPIC ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}

${rcusrc}.po: ${rcusrc}.c
	${_MKTARGET_COMPILE}
	${CC} -o ${.TARGET} ${PROFFLAGS} -pg ${DBG} ${CWARNFLAGS} ${RUMPCOMP_USER_WERROR} -Wall -Wmissing-prototypes ${BUILDRUMP_CPPFLAGS} ${BUILDRUMP_CFLAGS} ${RUMPCOMP_USER_CPPFLAGS} ${RUMPCOMP_USER_CFLAGS} -c ${.ALLSRC:O:u:M*${rcusrc}.c}

RUMPOBJ_NORENAME+=${rcusrc}.o ${rcusrc}.pico ${rcusrc}.po
SRCS+=${rcusrc}.c
.endfor
.endif

#
d134 1
d136 7
a142 9
	for renameobj in ${RUMP_SYMREN:U${.ALLSRC:C/(${RUMPOBJ_NORENAME:ts|})//g}}; do \
		${NM} -go $${renameobj} | ${TOOL_AWK} ' \
		    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
		      {s=$$NF;sub(/^'${_PQ}'/, "&rumpns_", s); print $$NF, s}'\
		    | sort | uniq  > renametab.$${renameobj}; \
		${OBJCOPY} --preserve-dates --redefine-syms \
		    renametab.$${renameobj} $${renameobj}; \
		rm -f renametab.$${renameobj}; \
	done
d144 1
a144 2
	${AR} ${_ARFL} ${.TARGET} \
	    `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
a151 2

.endif # _RUMP_MK
@


1.60
log
@Define COMPAT_50 to be 1 just like config(8) would be opt_compat_netbsd.h
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.59 2011/01/06 11:22:54 pooka Exp $
d19 5
@


1.59
log
@Support LOCKDEBUG.  To use it, compile sys/rump with RUMP_LOCKDEBUG=yes.

requested by martin (sparc64 gdb cannot reliably produce a stack trace)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.58 2010/12/06 09:12:34 pooka Exp $
d23 1
a23 1
CPPFLAGS+=	-DCOMPAT_50
@


1.59.2.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.61 2011/05/10 00:33:58 matt Exp $
a18 5
.if defined(HAVE_GCC) && ${HAVE_GCC} >= 3
CFLAGS+=	-Wsign-compare
CFLAGS+=	-Wno-pointer-sign -Wno-attributes
CFLAGS+=	-std=gnu99
.endif
d23 1
a23 1
CPPFLAGS+=	-DCOMPAT_50=1
@


1.59.4.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.60 2011/02/01 01:15:51 matt Exp $
d23 1
a23 1
CPPFLAGS+=	-DCOMPAT_50=1
@


1.58
log
@use -isystem where appropriate
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.57 2010/05/11 21:08:07 pooka Exp $
d33 4
@


1.57
log
@Limit visibility of _RUMPKERNEL to prevent abuse.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.56 2010/04/26 23:01:53 pooka Exp $
d26 1
a26 1
CPPFLAGS+=	-I${RUMPTOP}/../../common/include -I${RUMPTOP}/../arch
d29 1
a29 1
CPPFLAGS+=	-nostdinc -I${RUMPTOP}/..
@


1.56
log
@Give a cpp hint if the native kernel abi is supported.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.55 2010/03/28 04:29:34 mrg Exp $
d13 1
a19 1
CPPFLAGS+=	-D_RUMPKERNEL
@


1.55
log
@apply a patch from dennis fergusson:

fix the powerpc64 quirk handling by introducing a prefix quirk and
using it as appropriate.  fix the (postfix) quirk.

now rump and powerpc64 get along nicely.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.54 2010/03/22 05:39:00 mrg Exp $
d13 2
@


1.54
log
@add + _SYMQUIRK='|\.(rump|RUMP)' for powerpc64, as recommended by pooka.
it gets rid of many of the warnings trying to link rump_cd9960, but
there are a bunch remaining.  atomic ops seem missing, and some ktrace
points.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.53 2010/03/21 06:55:44 pooka Exp $
d73 16
a88 1
_SYMQUIRK='|\.(rump|RUMP)'
d112 2
a113 2
	    $$NF!~/^(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
	      {printf "%s rumpns_%s\n", $$NF, $$NF}' \
@


1.53
log
@Move make snippets for use with config(1) ioconf functionality from
rump into share/mk.  This is to make it useful for all kernel
builders.

Note: we have waaay too many weird and wonderful ways of making
kernel code (monolithic kernel, modules, rump).  There should be
only one way to build kernel code instead of a maze of twisty little
.mk files, all not quite alike.  When that is fixed, this snippet can go
into the more generic .mk file.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.52 2010/03/01 15:41:15 pooka Exp $
d72 2
@


1.52
log
@Rename IOCONFIG to IOCONF.  It matches the config(1) keyword and
aligns better in Makefiles.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.51 2010/02/17 13:28:40 pooka Exp $
d105 2
a106 15
# If IOCONF is defined, autocreate ioconf.c and locators.h.
# This is useful mainly for devices.
.if !empty(IOCONF)
ioconf.c: ${IOCONF}
	${TOOL_CONFIG} -b ${.OBJDIR} -s ${RUMPTOP}/.. ${.CURDIR}/${IOCONF}
	# config doesn't change the files if they're unchanged.  however,
	# here we want to satisfy our make dependency, so force a
	# timestamp update
	touch ioconf.c locators.h

locators.h: ioconf.c

CLEANFILES+= ioconf.c locators.h
DPSRCS+= ioconf.c locators.h
.endif
@


1.52.2.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.52 2010/03/01 15:41:15 pooka Exp $
a12 3
CPPFLAGS+=	-D_RUMPKERNEL
.else
CPPFLAGS+=	-D_RUMP_NATIVE_ABI
d17 1
a71 17
.elif ${MACHINE_ARCH} == "powerpc64"
_SYMQUIRK="|PF_funcs"
.endif

#
# Prefix quirks.  At least one toolchain generates global
# symbols with prefixes which really need to remain as prefixes
# (i.e. the '.' on the front of some ppc64 globals).  The
# way to know if you have the problem is if you get later
# complaints about symbols like 'rumpns_XrumpBLAH' or 'XrumpBLAH';
# the 'X' part was added by the toolchain and will need to
# be mentioned here.
# 
.if ${MACHINE_ARCH} == "powerpc64"
_PQ="\.?"
.else
_PQ=
d95 2
a96 2
	    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
	      {s = $$NF; sub(/^'${_PQ}'/, "&rumpns_", s); print $$NF, s}' \
d105 15
a119 2
_BSD_IOCONF_MK_USER_=1
.include <bsd.ioconf.mk>
@


1.52.2.2
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD$
d23 1
a23 1
CPPFLAGS+=	-DCOMPAT_50=1
d26 1
a26 1
CPPFLAGS+=	-I${RUMPTOP}/../../common/include -isystem ${RUMPTOP}/../arch
d29 1
a29 1
CPPFLAGS+=	-nostdinc -isystem ${RUMPTOP}/..
a32 4
.ifdef RUMP_LOCKDEBUG
CPPFLAGS+=	-DLOCKDEBUG
.endif

@


1.52.2.3
log
@sync with head
@
text
@a18 5
.if defined(HAVE_GCC) && ${HAVE_GCC} >= 3
CFLAGS+=	-Wsign-compare
CFLAGS+=	-Wno-pointer-sign -Wno-attributes
CFLAGS+=	-std=gnu99
.endif
@


1.51
log
@Invert inverted comment and verbosify it.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.50 2010/02/16 20:42:44 pooka Exp $
d105 1
a105 1
# If IOCONFIG is defined, autocreate ioconf.c and locators.h.
d107 3
a109 3
.if !empty(IOCONFIG)
ioconf.c: ${IOCONFIG}
	${TOOL_CONFIG} -b ${.OBJDIR} -s ${RUMPTOP}/.. ${.CURDIR}/${IOCONFIG}
@


1.50
log
@Globally define -Wno-pointer-sign, as it has become a pointless
exercise of "add it to every Makefile individually".

XXX: should autosynchronize with the rest of the kernel buildflags
in sys/conf/Makefile.kern.inc.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.49 2010/02/09 16:16:26 pooka Exp $
d9 2
a10 1
# use kernel ABI instead of rump ABI (needs md code)
@


1.49
log
@IOCONFIG comes from .CURDIR
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.48 2010/02/03 21:15:39 pooka Exp $
d15 1
a15 1
CWARNFLAGS+=	-Wno-format-zero-length
@


1.48
log
@add a rule for locators.h too
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.47 2010/02/03 21:11:24 pooka Exp $
d108 1
a108 1
	${TOOL_CONFIG} -b ${.OBJDIR} -s ${RUMPTOP}/.. ${IOCONFIG} 
@


1.48.2.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD$
d9 1
a9 2
# If RUMPKMOD is _not_ set (only on capable archs, from bsd.own.mk),
# use rump ABI instead of the NetBSD kernel ABI.
a11 2
.else
CPPFLAGS+=	-D_RUMP_NATIVE_ABI
d15 1
a15 1
CWARNFLAGS+=	-Wno-format-zero-length -Wno-pointer-sign
a70 17
.elif ${MACHINE_ARCH} == "powerpc64"
_SYMQUIRK="|PF_funcs"
.endif

#
# Prefix quirks.  At least one toolchain generates global
# symbols with prefixes which really need to remain as prefixes
# (i.e. the '.' on the front of some ppc64 globals).  The
# way to know if you have the problem is if you get later
# complaints about symbols like 'rumpns_XrumpBLAH' or 'XrumpBLAH';
# the 'X' part was added by the toolchain and will need to
# be mentioned here.
# 
.if ${MACHINE_ARCH} == "powerpc64"
_PQ="\.?"
.else
_PQ=
d94 2
a95 2
	    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
	      {s = $$NF; sub(/^'${_PQ}'/, "&rumpns_", s); print $$NF, s}' \
d104 15
a118 2
_BSD_IOCONF_MK_USER_=1
.include <bsd.ioconf.mk>
@


1.48.2.2
log
@Sync with HEAD.
@
text
@a12 1
CPPFLAGS+=	-D_RUMPKERNEL
d19 1
@


1.47
log
@If IOCONFIG is defined, autogenerate ioconf.c and locators.h
from ${IOCONFIG}.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.46 2010/01/31 00:38:36 pooka Exp $
d114 2
@


1.46
log
@Make (no pun intended) it possible to perform component symbol
protection from a shell prompt with the command line:

    make -f /sys/rump/Makefile RUMP_SYMREN=module.kobj

This is benefitial especially on i386, where rump ABI matches the
kernel ABI (sans the renaming isolation).  In the above example
module.kobj can then be loaded in a rump kernel either statically
at link-time simply by giving module.kobj as an object to the
linker, or dynamically at runtime by calling rump_sys_modctl(MODCTL_LOAD).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.45 2009/12/12 17:10:19 pooka Exp $
d103 15
a117 1
	
@


1.45
log
@Use linker script to make __start/stop_link_set_modules be present
in libs built with binutils >=2.19.  This is a less error-prone
method than the previous where components had to be tagged in the
Makefile as modules (and if they weren't, things broke.  and vice
versa).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.44 2009/11/27 13:36:30 pooka Exp $
d63 4
d72 9
d82 7
d92 2
a93 1
	${NM} -go ${.TARGET} | ${TOOL_AWK} '	\
d98 1
a98 1
	    renametab.${.TARGET} ${.TARGET}
d100 1
d102 2
a103 1

@


1.44
log
@Include arch/include/Makefile.inc for some compiler flags.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.43 2009/11/20 12:24:17 pooka Exp $
d27 1
a48 9
.ifdef RUMP_ISMODULE
.PATH:		${RUMPTOP}/librump
SRCS+=		rump_module.c
.endif
.ifdef RUMP_ISDOMAIN
.PATH:		${RUMPTOP}/librump
SRCS+=		rump_domain.c
.endif

@


1.43
log
@Hmm, in addition to leaving out -lc, -nostdlibs also leaves out
libgcc, and causes problems on some platforms.  Currently there is
no easy way to say "link against libgcc but not against libc", so
just comment out -nostdlibs until a better way is invented.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.42 2009/11/17 16:17:06 pooka Exp $
d88 3
@


1.42
log
@Don't link rump kernel libs against libc.  They have no host system
dependencies apart from indirect ones via rumpuser.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.41 2009/09/13 22:51:41 pooka Exp $
d30 4
a33 1
LDFLAGS+=	-nodefaultlibs
@


1.41
log
@binutils 2.19 has changed the old behaviour of defining __start_SECTNAME
for orphaned sections to using PROVIDE.  What this means is that
unless a rump component internally references that symbol, it will
not be included in the component shared library, and hence cannot
be referenced when the component is loaded.  Add a workaround which
works both with 2.16 and 2.19: force a reference to the __start
symbol internally and hence retain it in the resulting library.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.40 2009/09/08 20:24:08 pooka Exp $
d29 3
@


1.40
log
@kernel code needs -Wno-format-zero-length
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.39 2009/09/07 13:02:37 pooka Exp $
d42 9
@


1.39
log
@Always define __NetBSD__ (for builds on non-NetBSD)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.38 2009/05/03 16:53:54 pooka Exp $
d15 1
@


1.38
log
@define DEBUGPRINT
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.37 2009/04/26 20:45:37 pooka Exp $
d28 3
@


1.37
log
@prettyprint long line, no functional change
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.36 2009/04/01 17:51:12 perry Exp $
d20 1
@


1.36
log
@More reproducible build fixes:

1) invoke objcopy with --preserve-dates or it will update all the
   dates in the .a file to the present date.
2) add an invocation of ar-as-ranlib or the object file index ends up
   with the date in it. (it might also end up with an incorrect
   index.)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.35 2009/03/21 04:59:08 pooka Exp $
d64 2
a65 1
	${OBJCOPY} --preserve-dates --redefine-syms renametab.${.TARGET} ${.TARGET}
@


1.35
log
@remove RANLIB too.  pointed out by perry.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.34 2009/03/19 12:01:50 pooka Exp $
d64 1
a64 1
	${OBJCOPY} --redefine-syms renametab.${.TARGET} ${.TARGET}
d66 1
@


1.34
log
@Reflect the change to archivebuild in bsd.lib.mk rev 1.296 for
deterministic builds, as hinted by perry.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.33 2009/02/12 13:23:17 lukem Exp $
a65 1
	${RANLIB} ${.TARGET}
@


1.33
log
@Drop to WARNS?=3 as src/sys doesn't compile with -Wsign-compare yet
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.32 2009/01/23 19:14:30 pooka Exp $
d59 1
a59 1
	${AR} cq ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
@


1.32
log
@* enable COMPAT_50 (we need a better compat model here, but this is
  enough for now)
* _RUMPKERNEL is not going anywhere anymore, so adjust comment
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.31 2009/01/18 20:42:11 he Exp $
d4 1
a4 1
WARNS?=		4
@


1.32.2.1
log
@Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.38 2009/05/03 16:53:54 pooka Exp $
d4 1
a4 1
WARNS?=		3	# XXX: src/sys won't compile with -Wsign-compare yet
a19 1
CPPFLAGS+=	-DDEBUGPRINT
d59 1
a59 1
	${AR} ${_ARFL} ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
d64 1
a64 2
	${OBJCOPY} --preserve-dates --redefine-syms \
	    renametab.${.TARGET} ${.TARGET}
d66 1
a66 1
	${AR} ${_ARRANFL} ${.TARGET}
@


1.31
log
@Change the use of formally undocumented features, which have now been
made to fail.  Specifically, change
.ifdef(SYMBOL) -> .ifdef SYMBOL or .if defined(SYMBOL),
and corresponding for .ifndef.

Also correct one error in lib/libm/Makefile (.ifdef (${MKCOMPLEX} != "no")?!?).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.30 2009/01/14 23:22:09 pooka Exp $
d15 1
a15 1
CPPFLAGS+=	-D_RUMPKERNEL	# XXX: this should die
d19 1
@


1.30
log
@Do rump kernel symbol protection for vax.  All archs support it now.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.29 2009/01/12 02:22:55 pooka Exp $
d10 1
a10 1
.ifndef(RUMPKMOD)
@


1.29
log
@* Add adapted version of the userspace atomic_cas ops for platforms
  lacking special instructions.  We always use the spinlocked version
  (could use RAS on UP NetBSD host, but it's not portable).
* Add platform-based symbol quirk tables for selectively not renaming
  toolchain symbols for some platforms.  Although, this should really
  depend on the (toolchain,platform)-tuple and not just the platform.

This allows arm, hppa, mips and sh3 to build succesfully with an
isolated rump kernel namespace.  ... now, one arch remains: vax.
you must compile vax.  then, only then will you MI be.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.28 2009/01/11 12:55:37 pooka Exp $
a58 1
.if ${MACHINE_CPU} != "vax"
a64 1
.endif
@


1.28
log
@Treat all of ^__ as compiler namespace and do not rename those
symbols.  This fixes e.g. fortify and sh3 millicode issues.  This
is still not perfect, however, since e.g. the MIPS _gp_disp is not
in ^__.

XXX: we provide a few ^__ symbols in the kernel, but those can be
easily renamed.  The harder problem is how to keep the kernel clean
of those afterwards.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.27 2009/01/10 23:38:40 pooka Exp $
d43 12
a54 1

d59 1
a59 2
.if ${MACHINE_CPU} != "mips" && ${MACHINE_CPU} != "sh3" \
 && ${MACHINE_CPU} != "arm" && ${MACHINE_CPU} != "vax"
d61 1
a61 1
	    $$NF!~/^(rump|RUMP|__|_GLOBAL_OFFSET_TABLE)/ \
@


1.27
log
@* sparc supports rump kernel symbol rename
* plonk vax in here since it has issues with rename
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.26 2009/01/10 20:19:43 pooka Exp $
d51 1
a51 1
	    $$NF!~/^(rump|RUMP|__(start|stop)_link_set|_GLOBAL_OFFSET_TABLE)/ \
@


1.26
log
@Disable symbol renaming for now on arm, mips, sh3 and sparc to
allow them to build.  Some libgcc symbols are being renamed also,
plus not all atomic operations are provided by libkern on these
archs.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.25 2009/01/08 20:00:12 pooka Exp $
d49 1
a49 1
 && ${MACHINE_CPU} != "arm" && ${MACHINE_CPU} != "sparc"
@


1.25
log
@Add Makefile.rump to DPSRCS.  Should solve issues with UPDATE=1 builds.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.24 2009/01/08 18:42:42 pooka Exp $
d43 1
d48 2
d56 1
@


1.24
log
@Rename symbols in rump kernel libraries to always belong to a "rump"
symbol namespace.  This has several implications:
  * no symbols are accidentally linked against host platform libraries
  * all host platform access is done via rumpuser, and hence the
    portability of rump is now well defined
  * functionality such as proplib can now exist within the rump virtual
    kernel and the application using it

Thanks to uwe for originally suggesting the bulk renaming approach
over a pint of what I believe was very crisp, curious and untypical
stout.  It had an almost acidic characteristic with fruity notes
and lacking dark and roasted flavours.

And thanks to lukem for pointing me in the right direction with make.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.23 2009/01/02 11:13:38 pooka Exp $
d33 2
a34 2
# If an options are changed, trigger a rebuild
${SRCS:S/.c/.o/g}: ${RUMPTOP}/Makefile.rump
@


1.23
log
@Define -DMODULAR in Makefile.rump instead of the sys/rump/librump
Makefile.inc so that it gets picked up by UPDATE=1
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.22 2009/01/01 22:16:35 pooka Exp $
d35 19
@


1.22
log
@disable strict aliasing to mirror kernel build flags
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.21 2009/01/01 19:43:57 pooka Exp $
d16 1
a16 1
CPPFLAGS+=	-D_KERNEL -DMULTIPROCESSOR -D_MODULE
@


1.21
log
@Purge multiple kernel opt files.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.20 2008/12/30 21:31:10 pooka Exp $
d14 1
a14 1
CFLAGS+=	-ffreestanding
@


1.20
log
@Move list of rump-uses-kmod archs to bsd.own.mk for wider consumption.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.18 2008/12/29 22:16:15 pooka Exp $
d17 1
d22 1
@


1.19
log
@Switch amd64 rumps to the kernel ABI.
@
text
@d7 2
d10 1
a10 2
.if ${MACHINE_ARCH} != "i386" && \
    ${MACHINE_ARCH} != "x86_64"
@


1.18
log
@Switch i386 away from rump/include/machine.  This means that rump
on i386 now uses the native kernel ABI.  This in turn means that
rump modules and kernel modules are binary equivalent and can be
used interchangeably.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.17 2008/12/29 18:53:57 pooka Exp $
d8 2
a9 1
.if ${MACHINE_ARCH} != "i386"
@


1.17
log
@We are conseptually a module, so -D_MODULE.  Group CPPFLAGS better.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.16 2008/12/16 23:49:48 pooka Exp $
d7 5
a15 1
CPPFLAGS:=	-I${RUMPTOP}/include ${CPPFLAGS}
d18 1
@


1.16
log
@Pick PPC_OEA over PPC_IBM4XX.  I've decided I like it more.
(plus it hopefully builds without source changes)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.15 2008/12/16 23:17:17 pooka Exp $
d8 3
a10 1
CPPFLAGS+=	-D_KERNEL -D_RUMPKERNEL -DMULTIPROCESSOR -DDIAGNOSTIC
@


1.15
log
@liberate trailing whitespace
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.14 2008/12/16 23:16:46 pooka Exp $
d19 1
a19 1
CPPFLAGS+=	-DPPC_IBM4XX
@


1.14
log
@-Isys/arch is used in kernel builds
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.13 2008/12/08 12:57:33 pooka Exp $
d10 1
a10 1
CPPFLAGS+=	-I${.CURDIR} -I. 
@


1.13
log
@Instead of punishing all archs for a fake vmparam.h, punish only
evbppc for its insolence and pick a ppc cpu family at random in
Makefile.rump.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.12 2008/10/09 13:40:38 pooka Exp $
d11 1
a11 1
CPPFLAGS+=	-I${RUMPTOP}/../../common/include
@


1.12
log
@Compile all rump kernel portions with -DMULTIPROCESSOR.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.11 2008/07/29 20:18:25 pooka Exp $
d17 5
@


1.12.2.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.31 2009/01/18 20:42:11 he Exp $
d7 2
a8 4
.include <bsd.own.mk>

# use kernel ABI instead of rump ABI (needs md code)
.ifndef RUMPKMOD
d10 2
a11 11
.endif

CFLAGS+=	-ffreestanding -fno-strict-aliasing
CPPFLAGS+=	-D_RUMPKERNEL	# XXX: this should die
CPPFLAGS+=	-D_KERNEL -DMULTIPROCESSOR -D_MODULE -DMODULAR
CPPFLAGS+=	-DMAXUSERS=32
CPPFLAGS+=	-DDIAGNOSTIC
CPPFLAGS+=	-I${.CURDIR} -I.
CPPFLAGS+=	-I${RUMPTOP}/../../common/include -I${RUMPTOP}/../arch
CPPFLAGS+=	-I${RUMPTOP}/include
CPPFLAGS+=	-I${RUMPTOP}/librump/rumpkern/opt
d17 2
a18 38
# workaround: evbppc is not a well-defined arch
.if (${MACHINE} == "evbppc")
CPPFLAGS+=	-DPPC_OEA
.endif

# If this file changes, we need a full rebuild
DPSRCS+=	${RUMPTOP}/Makefile.rump

#
# Rename library symbols before use.  If a symbol does not already belong
# to a rump namespace ("rump" or "RUMP"), prefix it with "rumpns".  This
# avoids accidentally linking any kernel symbol against host platform
# libraries.  The only non-renamed symbols are linkset delimiters and
# the GOT, which are more a property of the compiler than the kernel.
#
# Some toolchains generate unresolved symbols which are supposed to be
# satisfied by the toolchain itself when the program is linked.
# Unfortunately, we do not know which of the symbols are generated by
# the toolchain.  Worse, they vary from platform to platform and
# toolchain to toolchain.  The good news, however, is that this will
# be detected by a compile-time failure, so we can fairly easily manage
# a quirktable here.
.if ${MACHINE_CPU} == "mips"
_SYMQUIRK='|_gp_disp'
.elif ${MACHINE_CPU} == "hppa"
_SYMQUIRK='|\$$\$$'
.endif
__archivebuild: .USE
	${_MKTARGET_BUILD}
	rm -f ${.TARGET}
	${AR} cq ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
	${NM} -go ${.TARGET} | ${TOOL_AWK} '	\
	    $$NF!~/^(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
	      {printf "%s rumpns_%s\n", $$NF, $$NF}' \
	    | sort | uniq  > renametab.${.TARGET}
	${OBJCOPY} --redefine-syms renametab.${.TARGET} ${.TARGET}
	rm -f renametab.${.TARGET}
	${RANLIB} ${.TARGET}
@


1.12.2.2
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.12.2.1 2009/01/19 13:20:20 skrll Exp $
d4 1
a4 1
WARNS?=		3	# XXX: src/sys won't compile with -Wsign-compare yet
d15 1
a15 1
CPPFLAGS+=	-D_RUMPKERNEL
a18 1
CPPFLAGS+=	-DCOMPAT_50
@


1.12.2.3
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.12.2.2 2009/03/03 18:34:07 skrll Exp $
d59 1
a59 1
	${AR} ${_ARFL} ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
d64 1
a64 2
	${OBJCOPY} --preserve-dates --redefine-syms \
	    renametab.${.TARGET} ${.TARGET}
d66 1
a66 1
	${AR} ${_ARRANFL} ${.TARGET}
@


1.11
log
@Prevent amd64 compiler flag -mcmodel=kernel for rump kernel code.
This allows to compile rump libraries as shared libraries also on mad64.

Problem spotted by Greg Oster.  I guess his build broke or something ...
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.10 2008/07/29 13:17:41 pooka Exp $
d8 1
a8 1
CPPFLAGS+=	-D_KERNEL -D_RUMPKERNEL -DDIAGNOSTIC
@


1.10
log
@Install rump libraries and utilities to the base system and remove the
private non-installed build infrastructure from sys/rump.

breakdown of commit:
  * install relevant headers into /usr/include/rump
  * build sys/rump/librump/rumpuser and sys/rump/librump/rumpkern
    from src/lib and install as librumpuser and librump, respectively
    + this retains the ability to test a librump build with just the
      kernel sources at hand
  * move sys/rump/fs/lib/libukfs and sys/rump/fs/lib/libp2k to src/lib
    for general consumption, they are not kernel-space dwellers anyway
  * build and install sys/rump/fs/lib/lib$fs as librumpfs_$fs
  * add chapter 3 manual pages for rump, rumpuser, ukfs and p2k
  * build and install userspace kernel file system daemons if MKPUFFS=yes
    is spexified
  * retire fsconsole for now, it will make a comeback with an actually
    implemented version shortly
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.9 2008/07/18 16:20:03 pooka Exp $
d15 2
@


1.9
log
@enable DIAGNOSTIC
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.8 2008/05/31 19:28:36 ad Exp $
a3 5
.include <bsd.own.mk>

LIBISPRIVATE=	yes
NOMAN=		wizd

d5 1
a5 1
DBG=		-g -O0
d7 3
d11 3
d15 2
a16 11
.if "${RUMPKERNEL}" != "no"
CFLAGS+=	-ffreestanding
CPPFLAGS:=	-I${NETBSDSRCDIR}/sys/rump/include ${CPPFLAGS}
CPPFLAGS+=	-D_KERNEL -I${NETBSDSRCDIR}/common/include
CPPFLAGS+=	-D_RUMPKERNEL -DDEBUG -DDIAGNOSTIC
CPPFLAGS+=	-nostdinc -I${NETBSDSRCDIR}/sys
.endif

LDFLAGS+=	-Wl,--wrap=malloc

LIBRUMPDIR != cd ${NETBSDSRCDIR}/sys/rump/librump/rumpkern && ${PRINTOBJDIR}
@


1.8
log
@Turn off DIAGNOSTIC so it builds.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.7 2008/05/03 14:48:31 lukem Exp $
d18 1
a18 1
CPPFLAGS+=	-D_RUMPKERNEL -DDEBUG
@


1.8.4.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.12 2008/10/09 13:40:38 pooka Exp $
d4 5
d10 1
a10 1
NOLINT=		# kernel code
d12 3
d16 5
a20 6
CPPFLAGS+=	-D_KERNEL -D_RUMPKERNEL -DMULTIPROCESSOR -DDIAGNOSTIC
CPPFLAGS:=	-I${RUMPTOP}/include ${CPPFLAGS}
CPPFLAGS+=	-I${.CURDIR} -I. 
CPPFLAGS+=	-I${RUMPTOP}/../../common/include
CPPFLAGS+=	-nostdinc -I${RUMPTOP}/..
#CPPFLAGS+=	-DDEBUG
d22 1
a22 1
RUMPKERNEL=	This is NetBSD and I am the rump.  Good evening.
d24 1
a24 2
# If an options are changed, trigger a rebuild
${SRCS:S/.c/.o/g}: ${RUMPTOP}/Makefile.rump
@


1.8.4.2
log
@Update haad-dm branch to haad-dm-base2.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.13 2008/12/08 12:57:33 pooka Exp $
a16 5
# workaround: evbppc is not a well-defined arch
.if (${MACHINE} == "evbppc")
CPPFLAGS+=	-DPPC_IBM4XX
.endif

@


1.8.2.1
log
@Sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.9 2008/07/18 16:20:03 pooka Exp $
d18 1
a18 1
CPPFLAGS+=	-D_RUMPKERNEL -DDEBUG -DDIAGNOSTIC
@


1.8.2.2
log
@Sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.11 2008/07/29 20:18:25 pooka Exp $
d4 5
d10 1
a10 1
NOLINT=		# kernel code
d12 3
d16 5
a20 6
CPPFLAGS+=	-D_KERNEL -D_RUMPKERNEL -DDIAGNOSTIC
CPPFLAGS:=	-I${RUMPTOP}/include ${CPPFLAGS}
CPPFLAGS+=	-I${.CURDIR} -I. 
CPPFLAGS+=	-I${RUMPTOP}/../../common/include
CPPFLAGS+=	-nostdinc -I${RUMPTOP}/..
#CPPFLAGS+=	-DDEBUG
d22 1
a22 1
RUMPKERNEL=	This is NetBSD and I am the rump.  Good evening.
d24 1
a24 2
# If an options are changed, trigger a rebuild
${SRCS:S/.c/.o/g}: ${RUMPTOP}/Makefile.rump
@


1.7
log
@Rename MKPRIVATELIB to LIBISPRIVATE, to make it clearer that this is
a variable that is used by in-tree Makefiles to control behaviour.
(MKsomevar variables are generally intended to be controlled by the end-user)
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.6 2008/01/24 22:41:07 pooka Exp $
d17 1
a17 1
CPPFLAGS+=	-D_KERNEL -DDIAGNOSTIC -I${NETBSDSRCDIR}/common/include
@


1.7.2.1
log
@Sync w/ -current. 34 merge conflicts to follow.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.7 2008/05/03 14:48:31 lukem Exp $
d17 1
a17 1
CPPFLAGS+=	-D_KERNEL -I${NETBSDSRCDIR}/common/include
@


1.7.2.2
log
@Sync with wrstuden-revivesa-base-2.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.7.2.1 2008/06/23 04:32:02 wrstuden Exp $
d4 5
d10 1
a10 1
NOLINT=		# kernel code
d12 3
d16 5
a20 6
CPPFLAGS+=	-D_KERNEL -D_RUMPKERNEL -DDIAGNOSTIC
CPPFLAGS:=	-I${RUMPTOP}/include ${CPPFLAGS}
CPPFLAGS+=	-I${.CURDIR} -I. 
CPPFLAGS+=	-I${RUMPTOP}/../../common/include
CPPFLAGS+=	-nostdinc -I${RUMPTOP}/..
#CPPFLAGS+=	-DDEBUG
d22 1
a22 1
RUMPKERNEL=	This is NetBSD and I am the rump.  Good evening.
d24 1
a24 2
# If an options are changed, trigger a rebuild
${SRCS:S/.c/.o/g}: ${RUMPTOP}/Makefile.rump
@


1.7.2.3
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.7.2.2 2008/09/18 04:37:03 wrstuden Exp $
d8 1
a8 1
CPPFLAGS+=	-D_KERNEL -D_RUMPKERNEL -DMULTIPROCESSOR -DDIAGNOSTIC
@


1.6
log
@Use namei() etc. from kernel sources instead of a reimplementation.
To accommodate, give the rootvnode its own vnode op vector with a
simple lookup operation.  This is used for looking up the file
system's device vnode instead of doing that directly in a homesmoked
namei().
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.5 2007/08/25 10:22:31 pooka Exp $
d6 1
a6 1
MKPRIVATELIB=	yes
a7 2
MKLINT?=	no
MKPIC?=		no
@


1.6.6.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD$
d6 1
a6 1
LIBISPRIVATE=	yes
d8 2
d19 1
a19 1
CPPFLAGS+=	-D_KERNEL -I${NETBSDSRCDIR}/common/include
@


1.6.6.2
log
@Sync with HEAD.
@
text
@d4 5
d10 1
a10 1
NOLINT=		# kernel code
d12 3
d16 5
a20 6
CPPFLAGS+=	-D_KERNEL -D_RUMPKERNEL -DDIAGNOSTIC
CPPFLAGS:=	-I${RUMPTOP}/include ${CPPFLAGS}
CPPFLAGS+=	-I${.CURDIR} -I. 
CPPFLAGS+=	-I${RUMPTOP}/../../common/include
CPPFLAGS+=	-nostdinc -I${RUMPTOP}/..
#CPPFLAGS+=	-DDEBUG
d22 1
a22 1
RUMPKERNEL=	This is NetBSD and I am the rump.  Good evening.
d24 1
a24 2
# If an options are changed, trigger a rebuild
${SRCS:S/.c/.o/g}: ${RUMPTOP}/Makefile.rump
@


1.6.6.3
log
@Sync with HEAD.
@
text
@d7 2
a8 4
.include <bsd.own.mk>

# use kernel ABI instead of rump ABI (needs md code)
.ifndef(RUMPKMOD)
d10 2
a11 11
.endif

CFLAGS+=	-ffreestanding -fno-strict-aliasing
CPPFLAGS+=	-D_RUMPKERNEL	# XXX: this should die
CPPFLAGS+=	-D_KERNEL -DMULTIPROCESSOR -D_MODULE -DMODULAR
CPPFLAGS+=	-DMAXUSERS=32
CPPFLAGS+=	-DDIAGNOSTIC
CPPFLAGS+=	-I${.CURDIR} -I.
CPPFLAGS+=	-I${RUMPTOP}/../../common/include -I${RUMPTOP}/../arch
CPPFLAGS+=	-I${RUMPTOP}/include
CPPFLAGS+=	-I${RUMPTOP}/librump/rumpkern/opt
d17 2
a18 38
# workaround: evbppc is not a well-defined arch
.if (${MACHINE} == "evbppc")
CPPFLAGS+=	-DPPC_OEA
.endif

# If this file changes, we need a full rebuild
DPSRCS+=	${RUMPTOP}/Makefile.rump

#
# Rename library symbols before use.  If a symbol does not already belong
# to a rump namespace ("rump" or "RUMP"), prefix it with "rumpns".  This
# avoids accidentally linking any kernel symbol against host platform
# libraries.  The only non-renamed symbols are linkset delimiters and
# the GOT, which are more a property of the compiler than the kernel.
#
# Some toolchains generate unresolved symbols which are supposed to be
# satisfied by the toolchain itself when the program is linked.
# Unfortunately, we do not know which of the symbols are generated by
# the toolchain.  Worse, they vary from platform to platform and
# toolchain to toolchain.  The good news, however, is that this will
# be detected by a compile-time failure, so we can fairly easily manage
# a quirktable here.
.if ${MACHINE_CPU} == "mips"
_SYMQUIRK='|_gp_disp'
.elif ${MACHINE_CPU} == "hppa"
_SYMQUIRK='|\$$\$$'
.endif
__archivebuild: .USE
	${_MKTARGET_BUILD}
	rm -f ${.TARGET}
	${AR} cq ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
	${NM} -go ${.TARGET} | ${TOOL_AWK} '	\
	    $$NF!~/^(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
	      {printf "%s rumpns_%s\n", $$NF, $$NF}' \
	    | sort | uniq  > renametab.${.TARGET}
	${OBJCOPY} --redefine-syms renametab.${.TARGET} ${.TARGET}
	rm -f renametab.${.TARGET}
	${RANLIB} ${.TARGET}
@


1.6.8.1
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.6 2008/01/24 22:41:07 pooka Exp $
d6 1
a6 1
LIBISPRIVATE=	yes
d8 2
@


1.6.8.2
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.6.8.1 2008/05/18 12:35:45 yamt Exp $
d17 1
a17 1
CPPFLAGS+=	-D_KERNEL -I${NETBSDSRCDIR}/common/include
@


1.6.10.1
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.6 2008/01/24 22:41:07 pooka Exp $
d6 1
a6 1
LIBISPRIVATE=	yes
d8 2
@


1.6.10.2
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.6.10.1 2008/05/16 02:25:50 yamt Exp $
d4 4
a7 2
WARNS?=		3	# XXX: src/sys won't compile with -Wsign-compare yet
NOLINT=		# kernel code
d9 2
a10 1
.include <bsd.own.mk>
d12 1
a12 4
# use kernel ABI instead of rump ABI (needs md code)
.ifndef RUMPKMOD
CPPFLAGS:=	-I${RUMPTOP}/include ${CPPFLAGS}
.endif
d14 6
a19 19
CFLAGS+=	-ffreestanding -fno-strict-aliasing
CPPFLAGS+=	-D_RUMPKERNEL
CPPFLAGS+=	-D_KERNEL -DMULTIPROCESSOR -D_MODULE -DMODULAR
CPPFLAGS+=	-DMAXUSERS=32
CPPFLAGS+=	-DDIAGNOSTIC
CPPFLAGS+=	-DCOMPAT_50
CPPFLAGS+=	-DDEBUGPRINT
CPPFLAGS+=	-I${.CURDIR} -I.
CPPFLAGS+=	-I${RUMPTOP}/../../common/include -I${RUMPTOP}/../arch
CPPFLAGS+=	-I${RUMPTOP}/include
CPPFLAGS+=	-I${RUMPTOP}/librump/rumpkern/opt
CPPFLAGS+=	-nostdinc -I${RUMPTOP}/..
#CPPFLAGS+=	-DDEBUG

RUMPKERNEL=	This is NetBSD and I am the rump.  Good evening.

# workaround: evbppc is not a well-defined arch
.if (${MACHINE} == "evbppc")
CPPFLAGS+=	-DPPC_OEA
d22 1
a22 2
# If this file changes, we need a full rebuild
DPSRCS+=	${RUMPTOP}/Makefile.rump
d24 1
a24 31
#
# Rename library symbols before use.  If a symbol does not already belong
# to a rump namespace ("rump" or "RUMP"), prefix it with "rumpns".  This
# avoids accidentally linking any kernel symbol against host platform
# libraries.  The only non-renamed symbols are linkset delimiters and
# the GOT, which are more a property of the compiler than the kernel.
#
# Some toolchains generate unresolved symbols which are supposed to be
# satisfied by the toolchain itself when the program is linked.
# Unfortunately, we do not know which of the symbols are generated by
# the toolchain.  Worse, they vary from platform to platform and
# toolchain to toolchain.  The good news, however, is that this will
# be detected by a compile-time failure, so we can fairly easily manage
# a quirktable here.
.if ${MACHINE_CPU} == "mips"
_SYMQUIRK='|_gp_disp'
.elif ${MACHINE_CPU} == "hppa"
_SYMQUIRK='|\$$\$$'
.endif
__archivebuild: .USE
	${_MKTARGET_BUILD}
	rm -f ${.TARGET}
	${AR} ${_ARFL} ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
	${NM} -go ${.TARGET} | ${TOOL_AWK} '	\
	    $$NF!~/^(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
	      {printf "%s rumpns_%s\n", $$NF, $$NF}' \
	    | sort | uniq  > renametab.${.TARGET}
	${OBJCOPY} --preserve-dates --redefine-syms \
	    renametab.${.TARGET} ${.TARGET}
	rm -f renametab.${.TARGET}
	${AR} ${_ARRANFL} ${.TARGET}
@


1.6.10.3
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.6.10.2 2009/05/04 08:14:24 yamt Exp $
a14 1
CWARNFLAGS+=	-Wno-format-zero-length
a27 3
# make sure __NetBSD__ gets defined (for builds on non-NetBSD)
CPPFLAGS+=	-D__NetBSD__

a37 9
.ifdef RUMP_ISMODULE
.PATH:		${RUMPTOP}/librump
SRCS+=		rump_module.c
.endif
.ifdef RUMP_ISDOMAIN
.PATH:		${RUMPTOP}/librump
SRCS+=		rump_domain.c
.endif

@


1.6.10.4
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.6.10.3 2009/09/16 13:38:03 yamt Exp $
d9 1
a9 2
# If RUMPKMOD is _not_ set (only on capable archs, from bsd.own.mk),
# use rump ABI instead of the NetBSD kernel ABI.
d15 1
a15 1
CWARNFLAGS+=	-Wno-format-zero-length -Wno-pointer-sign
a26 1
LDFLAGS+=	-T ${RUMPTOP}/ldscript.rump
a28 6
# kernel libs should not get linked against libc
# XXX: actually, we would like to enable this but cannot, since it
# also leaves out libgcc, it causes problems on some platforms.
# revisit some day.
#LDFLAGS+=	-nodefaultlibs

d42 9
a64 4
#
# We also allow calling ourselves externally with e.g.:
# make -f /sys/rump/Makefile.rump RUMP_SYMREN=ffs.kobj
#
a69 9

rump_symren: __archivebuild
.if !defined(RUMP_SYMREN)
	@@echo "Must supply RUMP_SYMREN for target rump_symren"
	@@false
.endif

# if we are called from lib build (RUMP_SYMREN is not specified),
# build the arrrrchive.  otherwise just rename symbols.
a70 7
.if defined(RUMP_SYMREN) && defined(RUMPTOP)
	@@echo "ERROR: RUMP_SYMREN can only be used standalone"
	@@false
.endif
.if defined(RUMP_SYMREN)
	${_MKMSG} " symbol rename " ${RUMP_SYMREN}
.else
d74 1
a74 2
.endif
	${NM} -go ${RUMP_SYMREN:U${.TARGET}} | ${TOOL_AWK} '	\
d79 1
a79 1
	    renametab.${.TARGET} ${RUMP_SYMREN:U${.TARGET}}
a80 1
.if !defined(RUMP_SYMREN)
a81 20
.endif

# If IOCONF is defined, autocreate ioconf.c and locators.h.
# This is useful mainly for devices.
.if !empty(IOCONF)
ioconf.c: ${IOCONF}
	${TOOL_CONFIG} -b ${.OBJDIR} -s ${RUMPTOP}/.. ${.CURDIR}/${IOCONF}
	# config doesn't change the files if they're unchanged.  however,
	# here we want to satisfy our make dependency, so force a
	# timestamp update
	touch ioconf.c locators.h

locators.h: ioconf.c

CLEANFILES+= ioconf.c locators.h
DPSRCS+= ioconf.c locators.h
.endif

.-include "${NETBSDSRCDIR}/sys/arch/${MACHINE_CPU}/include/Makefile.inc"
.-include "${NETBSDSRCDIR}/sys/arch/${MACHINE}/include/Makefile.inc"
@


1.6.10.5
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.6.10.4 2010/03/11 15:04:32 yamt Exp $
a12 3
CPPFLAGS+=	-D_RUMPKERNEL
.else
CPPFLAGS+=	-D_RUMP_NATIVE_ABI
d17 1
a71 17
.elif ${MACHINE_ARCH} == "powerpc64"
_SYMQUIRK="|PF_funcs"
.endif

#
# Prefix quirks.  At least one toolchain generates global
# symbols with prefixes which really need to remain as prefixes
# (i.e. the '.' on the front of some ppc64 globals).  The
# way to know if you have the problem is if you get later
# complaints about symbols like 'rumpns_XrumpBLAH' or 'XrumpBLAH';
# the 'X' part was added by the toolchain and will need to
# be mentioned here.
# 
.if ${MACHINE_ARCH} == "powerpc64"
_PQ="\.?"
.else
_PQ=
d95 2
a96 2
	    $$NF!~/^'${_PQ}'(rump|RUMP|__|_GLOBAL_OFFSET_TABLE'${_SYMQUIRK}')/ \
	      {s = $$NF; sub(/^'${_PQ}'/, "&rumpns_", s); print $$NF, s}' \
d105 15
a119 2
_BSD_IOCONF_MK_USER_=1
.include <bsd.ioconf.mk>
@


1.5
log
@Don't play rename & typecast games with kauth_cred_t, but rather
declare the type in rump.h only if necessary with the help of ifdef
magic.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.4 2007/08/15 22:13:15 pooka Exp $
d20 1
a20 1
CPPFLAGS+=	-D_RUMPKERNEL
@


1.5.2.1
log
@sync with HEAD
@
text
@d1 1
a1 1
#	Makefile.rump,v 1.5 2007/08/25 10:22:31 pooka Exp
d20 1
a20 1
CPPFLAGS+=	-D_RUMPKERNEL -DDEBUG
@


1.5.12.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.6 2008/01/24 22:41:07 pooka Exp $
d20 1
a20 1
CPPFLAGS+=	-D_RUMPKERNEL -DDEBUG
@


1.5.10.1
log
@file Makefile.rump was added on branch jmcneill-pm on 2007-11-02 12:43:13 +0000
@
text
@d1 26
@


1.5.10.2
log
@Reduce diff to HEAD by adding files forgotten in early merges.
@
text
@a0 26
#	$NetBSD: Makefile.rump,v 1.5 2007/08/25 10:22:31 pooka Exp $
#

.include <bsd.own.mk>

MKPRIVATELIB=	yes
NOMAN=		wizd
MKLINT?=	no
MKPIC?=		no

WARNS?=		4
DBG=		-g -O0

CPPFLAGS+=	-I${.CURDIR} -I. 

.if "${RUMPKERNEL}" != "no"
CFLAGS+=	-ffreestanding
CPPFLAGS:=	-I${NETBSDSRCDIR}/sys/rump/include ${CPPFLAGS}
CPPFLAGS+=	-D_KERNEL -DDIAGNOSTIC -I${NETBSDSRCDIR}/common/include
CPPFLAGS+=	-D_RUMPKERNEL
CPPFLAGS+=	-nostdinc -I${NETBSDSRCDIR}/sys
.endif

LDFLAGS+=	-Wl,--wrap=malloc

LIBRUMPDIR != cd ${NETBSDSRCDIR}/sys/rump/librump/rumpkern && ${PRINTOBJDIR}
@


1.5.4.1
log
@file Makefile.rump was added on branch yamt-lazymbuf on 2007-09-03 14:44:26 +0000
@
text
@d1 26
@


1.5.4.2
log
@sync with head.
@
text
@a0 26
#	$NetBSD$
#

.include <bsd.own.mk>

MKPRIVATELIB=	yes
NOMAN=		wizd
MKLINT?=	no
MKPIC?=		no

WARNS?=		4
DBG=		-g -O0

CPPFLAGS+=	-I${.CURDIR} -I. 

.if "${RUMPKERNEL}" != "no"
CFLAGS+=	-ffreestanding
CPPFLAGS:=	-I${NETBSDSRCDIR}/sys/rump/include ${CPPFLAGS}
CPPFLAGS+=	-D_KERNEL -DDIAGNOSTIC -I${NETBSDSRCDIR}/common/include
CPPFLAGS+=	-D_RUMPKERNEL
CPPFLAGS+=	-nostdinc -I${NETBSDSRCDIR}/sys
.endif

LDFLAGS+=	-Wl,--wrap=malloc

LIBRUMPDIR != cd ${NETBSDSRCDIR}/sys/rump/librump/rumpkern && ${PRINTOBJDIR}
@


1.5.4.3
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.5.4.2 2007/09/03 14:44:26 yamt Exp $
d20 1
a20 1
CPPFLAGS+=	-D_RUMPKERNEL -DDEBUG
@


1.4
log
@Wrap malloc() so that we catch the kernel arguments (namely M_ZERO)
properly.  It's fairly amusing that this wasn't noticed until now.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.3 2007/08/07 21:33:13 pooka Exp $
d20 1
@


1.4.2.1
log
@file Makefile.rump was added on branch vmlocking on 2007-08-20 22:07:08 +0000
@
text
@d1 25
@


1.4.2.2
log
@Sync with HEAD.
@
text
@a0 25
#	$NetBSD: Makefile.rump,v 1.4 2007/08/15 22:13:15 pooka Exp $
#

.include <bsd.own.mk>

MKPRIVATELIB=	yes
NOMAN=		wizd
MKLINT?=	no
MKPIC?=		no

WARNS?=		4
DBG=		-g -O0

CPPFLAGS+=	-I${.CURDIR} -I. 

.if "${RUMPKERNEL}" != "no"
CFLAGS+=	-ffreestanding
CPPFLAGS:=	-I${NETBSDSRCDIR}/sys/rump/include ${CPPFLAGS}
CPPFLAGS+=	-D_KERNEL -DDIAGNOSTIC -I${NETBSDSRCDIR}/common/include
CPPFLAGS+=	-nostdinc -I${NETBSDSRCDIR}/sys
.endif

LDFLAGS+=	-Wl,--wrap=malloc

LIBRUMPDIR != cd ${NETBSDSRCDIR}/sys/rump/librump/rumpkern && ${PRINTOBJDIR}
@


1.4.2.3
log
@Sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.4.2.2 2007/08/20 22:07:08 ad Exp $
a19 1
CPPFLAGS+=	-D_RUMPKERNEL
@


1.3
log
@Compile kernel stuff with DIAGNOSTIC.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.2 2007/08/07 10:30:39 pooka Exp $
d23 2
@


1.3.2.1
log
@file Makefile.rump was added on branch nick-csl-alignment on 2007-08-15 13:50:07 +0000
@
text
@d1 23
@


1.3.2.2
log
@Sync with HEAD.
@
text
@a0 23
#	$NetBSD: Makefile.rump,v 1.3 2007/08/07 21:33:13 pooka Exp $
#

.include <bsd.own.mk>

MKPRIVATELIB=	yes
NOMAN=		wizd
MKLINT?=	no
MKPIC?=		no

WARNS?=		4
DBG=		-g -O0

CPPFLAGS+=	-I${.CURDIR} -I. 

.if "${RUMPKERNEL}" != "no"
CFLAGS+=	-ffreestanding
CPPFLAGS:=	-I${NETBSDSRCDIR}/sys/rump/include ${CPPFLAGS}
CPPFLAGS+=	-D_KERNEL -DDIAGNOSTIC -I${NETBSDSRCDIR}/common/include
CPPFLAGS+=	-nostdinc -I${NETBSDSRCDIR}/sys
.endif

LIBRUMPDIR != cd ${NETBSDSRCDIR}/sys/rump/librump/rumpkern && ${PRINTOBJDIR}
@


1.3.2.3
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.3.2.2 2007/08/15 13:50:07 skrll Exp $
a19 1
CPPFLAGS+=	-D_RUMPKERNEL
a22 2
LDFLAGS+=	-Wl,--wrap=malloc

@


1.2
log
@-I${NETBSDSRCDIR}/common/include
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.rump,v 1.1 2007/08/05 22:28:01 pooka Exp $
d19 1
a19 1
CPPFLAGS+=	-D_KERNEL -I${NETBSDSRCDIR}/common/include
@


1.1
log
@Introduce RUMPs - Runnable Userspace Meta-Programs

/sys/rump contains programs which run unmodified kernel code in an
emulated userspace environment.  The kernel environment is provided
by librump.  Currently supported are a number of file systems,
which by using puffs integrate seamlessly into the system and
provide a similar user experience to if the code was running as
part of the kernel.  Potential future rumpification targets include
for example parts of the networking stack and some device drivers.

This work was supported by Google Summer of Code 2007.
@
text
@d1 1
a1 1
#	$NetBSD$
d19 1
a19 1
CPPFLAGS+=	-D_KERNEL
@


1.1.2.1
log
@file Makefile.rump was added on branch matt-mips64 on 2007-08-05 22:28:02 +0000
@
text
@d1 23
@


1.1.2.2
log
@Introduce RUMPs - Runnable Userspace Meta-Programs

/sys/rump contains programs which run unmodified kernel code in an
emulated userspace environment.  The kernel environment is provided
by librump.  Currently supported are a number of file systems,
which by using puffs integrate seamlessly into the system and
provide a similar user experience to if the code was running as
part of the kernel.  Potential future rumpification targets include
for example parts of the networking stack and some device drivers.

This work was supported by Google Summer of Code 2007.
@
text
@a0 23
#	$NetBSD: Makefile.rump,v 1.1 2007/08/05 22:28:01 pooka Exp $
#

.include <bsd.own.mk>

MKPRIVATELIB=	yes
NOMAN=		wizd
MKLINT?=	no
MKPIC?=		no

WARNS?=		4
DBG=		-g -O0

CPPFLAGS+=	-I${.CURDIR} -I. 

.if "${RUMPKERNEL}" != "no"
CFLAGS+=	-ffreestanding
CPPFLAGS:=	-I${NETBSDSRCDIR}/sys/rump/include ${CPPFLAGS}
CPPFLAGS+=	-D_KERNEL
CPPFLAGS+=	-nostdinc -I${NETBSDSRCDIR}/sys
.endif

LIBRUMPDIR != cd ${NETBSDSRCDIR}/sys/rump/librump/rumpkern && ${PRINTOBJDIR}
@

