Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Nov 2002 13:38:10 +0200
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        "M. Warner Losh" <imp@bsdimp.com>, current@FreeBSD.org
Subject:   Re: Cross-Development with NetBSD
Message-ID:  <20021122113810.GA11000@sunbay.com>
In-Reply-To: <3DDD3432.2E7950A@mindspring.com>
References:  <20021121151714.U961-100000@squirm.dsto.defence.gov.au> <20021121.001014.56348240.imp@bsdimp.com> <20021121102050.GC81999@sunbay.com> <20021121.062809.64538355.imp@bsdimp.com> <20021121142826.GA12467@sunbay.com> <3DDD3432.2E7950A@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--E13BgyNx05feLLmH
Content-Type: multipart/mixed; boundary="MW5yreqqjyrRcusr"
Content-Disposition: inline


--MW5yreqqjyrRcusr
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 21, 2002 at 11:29:54AM -0800, Terry Lambert wrote:
> Ruslan Ermilov wrote:
> > > NetBSD builds a directory full of tools that you can later use to
> > > incrementally build, say, 'ls' or 'cat' because one can define
> > > USETOOLS to be 'yes' and have the make automatically pick them up when
> > > rebuilding.  There are a few of the details I'm a little unclear on,
> > > but that's the jist of it.
> >
> > We also can, this just requires a few really tiny tweaks to Makefile.in=
c1,
> > and I've posted them already some time ago -- basically, for each archi=
tecture
> > you should build the subset of buildworld targets (WMAKE_TGTS), up to a=
nd
> > including _libraries (if you want to build roughly any bit later), and
> > them you can ``make {depend|all} SUBDIR_OVERRIDE=3Dbin/cat'' for each of
> > the desired TARGET_ARCH.
>=20
> Any ETA on when this will be committed?
>=20
It's already available, in some form (please see the attached).

> > I know that the Alpha and sparc64 binaries produced on i386 work.
>=20
> I thought that the Alpha boot blocks ended up too large in the
> cross-build case?  They did, last time I tried it.
>=20
"Binaries" in the usual sense -- libraries and programs.  As for
boot blocks, they seem to be fine nowadays -- but I lack the
necessary h/w to actually test (and fix if needed the building of)
them:

ftp://ftp.sunbay.net/pub/FreeBSD/snapshots/alpha/

> > I know that cross-compiling i386 on either Alpha or sparc64 is
> > broken (GCC sometimes produces different assembler output than
> > the native compiler).  I lack the necessary hardware to actually
> > test/fix the issues with cross-releases.
>=20
> I don't think he was attacking you, personally, to ask you to
> fix the problem, I think he was just noting the problem exists.
>=20
I don't think either -- please see my reply to Warner.  :-)

> One thing that would help a lot -- and probably be helpful in
> general -- would be a binary compare tool that ignored date
> stamps in things like libraries, tar images, etc., so that you
> could compare where things differ, easily, allowing someone to
> track down differences.
>=20
I use -save-temps option to cc(1) to do this, if I find any
differences, and compare .s and .i files instead.

> It would be helpful in general to be able to compare what you
> built vs. a release version, to assemble binary only delta lists,
> for preparations for upgrade tools, etc..
>=20
> I keep meaning to do this, but I really don't want to have to
> release the tool under the GPL, if I don't have to.


Cheers,
--=20
Ruslan Ermilov		Sysadmin and DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

--MW5yreqqjyrRcusr
Content-Type: message/rfc822
Content-Disposition: inline

Date: Wed, 7 Aug 2002 11:22:01 +0300
From: Ruslan Ermilov <ru@FreeBSD.org>
To: Mark Peek <mark@peek.org>
Subject: Re: Improving cross platform testing
Message-ID: <20020807082201.GA43529@sunbay.com>
References: <p05111a13b965bfe890e8@[10.1.1.73]> <20020725155042.GA26249@sunbay.com> <p05111a00b966678473b7@[10.1.10.118]>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="da4uJneut+ArUgXk"
Content-Disposition: inline
In-Reply-To: <p05111a00b966678473b7@[10.1.10.118]>
User-Agent: Mutt/1.3.99i


--da4uJneut+ArUgXk
Content-Type: multipart/mixed; boundary="l76fUT7nc3MelDdI"
Content-Disposition: inline


--l76fUT7nc3MelDdI
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Jul 25, 2002 at 07:46:50PM -0700, Mark Peek wrote:
> At 6:50 PM +0300 7/25/02, Ruslan Ermilov wrote:
> >How about this simple script (tinder.sh)?
> >
> >: #!/bin/sh
> >: cd /usr/src
> >: ARCHES=3D"i386 alpha sparc64"
> >: if [ "x$1" =3D "x" ]; then
> >:	for arch in ${ARCHES}; do
> >:		make TARGET_ARCH=3D${arch} -j4 -m/usr/src/share/mk \
> >:		    -fMakefile.inc1 -DNOCLEAN crossenv
> >:	done
> >: else
> >:	for arch in ${ARCHES}; do
> >:	for target in cleandir obj depend all; do
> >:		make TARGET_ARCH=3D${arch} ${target} SUBDIR_OVERRIDE=3D$1
> >:	done
> >:	done
> >: fi
> >
> >You could then run it twice:
> >
> >sh ./tinder.sh (rebuild cross environment: compiler, binutils, headers,=
=20
> >libs)
> >
> >sh ./tinder.sh bin/tcsh (test if bin/tcsh builds ok)
> >
> >
> >... with this small assorted patch for Makefile.inc1, just to avoid doing
> >a whole buildworld; we need it for PicoBSD anyway:
> >
> >%%%
> >Index: Makefile.inc1
> >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> >RCS file: /home/ncvs/src/Makefile.inc1,v
> >retrieving revision 1.297
> >diff -u -p -u -r1.297 Makefile.inc1
> >--- Makefile.inc1	24 Jul 2002 23:08:57 -0000	1.297
> >+++ Makefile.inc1	25 Jul 2002 15:37:51 -0000
> >@@ -329,6 +329,8 @@ WMAKE_TGTS+=3D	_includes _libraries _depen
> > buildworld: ${WMAKE_TGTS}
> > .ORDER: ${WMAKE_TGTS}
> >
> >+crossenv: ${WMAKE_TGTS:N_depend:Neverything}
> >+
> > #
> > # installcheck
> > #
> >%%%
>=20
>=20
> Very cool! I like it in principle! :-) The crossenv build worked fine=20
> but the compilation of bin/tcsh only resulted in building 3 copies of=20
> the i386 tcsh. I think it needs the WMAKE environment exported so it=20
> has the path to the cross compiler and points to the appropriate=20
> OBJDIR.
>=20
Here's the new script that should work.  Sorry for a late reply.


Cheers,
--=20
Ruslan Ermilov		Sysadmin and DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

--l76fUT7nc3MelDdI
Content-Type: application/x-sh
Content-Disposition: attachment; filename="tinder.sh"
Content-Transfer-Encoding: quoted-printable

#!/bin/sh=0A=0ASRC=3D/usr/src=0AARCHES=3D"i386 alpha sparc64"=0A=0Ausage()=
=0A{=0A	echo "usage: $0 crossenv | dir_to_build ..."=0A	exit 1=0A}=0A=0A[ $=
# -lt 1 ] && usage=0A=0Acd ${SRC} || exit 1=0A=0Acase "$1" in=0Acrossenv)=
=0A	[ $# -ne 1 ] && usage=0A	for arch in ${ARCHES}; do=0A		make TARGET_ARCH=
=3D${arch} -j4 -m${SRC}/share/mk \=0A		    -fMakefile.inc1 -DNOCLEAN crosse=
nv=0A	done=0A	;;=0A*)=0A	for arch in ${ARCHES}; do=0A	for target in _cleano=
bj _obj _depend everything; do=0A		make TARGET_ARCH=3D${arch} -m${SRC}/shar=
e/mk \=0A		    -fMakefile.inc1 ${target} SUBDIR_OVERRIDE=3D"$*"=0A	done=0A	=
done=0A	;;=0Aesac=0A
--l76fUT7nc3MelDdI--

--da4uJneut+ArUgXk
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iD8DBQE9UNipUkv4P6juNwoRAvxcAJ91LUlIHr8e1+vOr35ujYU8zudO4wCfUI3i
hcfmizCHrViepGk/NvrEBxw=
=Mcap
-----END PGP SIGNATURE-----

--da4uJneut+ArUgXk--

--MW5yreqqjyrRcusr--

--E13BgyNx05feLLmH
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQE93hciUkv4P6juNwoRAoTUAJ9CNoMdcNcWka4fuyomBdkqr3xkZgCfeR0j
4H+5zNPvwTC9CHSOLuyB3Bw=
=uo2+
-----END PGP SIGNATURE-----

--E13BgyNx05feLLmH--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021122113810.GA11000>