Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jun 2016 21:49:49 +0300
From:      Andrey Chernov <ache@freebsd.org>
To:        Bryan Drewery <bdrewery@FreeBSD.org>, current@freebsd.org
Subject:   Re: 'make depend' or 'make' bug on recent --current
Message-ID:  <bec48601-f6b4-6b8a-dc0d-fad47416723b@freebsd.org>
In-Reply-To: <311f3a82-b702-d375-170f-82ae39236ab0@FreeBSD.org>
References:  <092f5e98-dae8-dbc9-2a6e-7068b972278f@freebsd.org> <311f3a82-b702-d375-170f-82ae39236ab0@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--8jNqIFH4PwimuQaBNpLe7tjQdW5s70omS
Content-Type: multipart/mixed; boundary="nUMjutJv2e59cDmvHJ5GRn46pgaFPrVw6"
From: Andrey Chernov <ache@freebsd.org>
To: Bryan Drewery <bdrewery@FreeBSD.org>, current@freebsd.org
Message-ID: <bec48601-f6b4-6b8a-dc0d-fad47416723b@freebsd.org>
Subject: Re: 'make depend' or 'make' bug on recent --current
References: <092f5e98-dae8-dbc9-2a6e-7068b972278f@freebsd.org>
 <311f3a82-b702-d375-170f-82ae39236ab0@FreeBSD.org>
In-Reply-To: <311f3a82-b702-d375-170f-82ae39236ab0@FreeBSD.org>

--nUMjutJv2e59cDmvHJ5GRn46pgaFPrVw6
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 01.06.2016 21:18, Bryan Drewery wrote:
> On 6/1/2016 6:11 AM, Andrey Chernov wrote:
>> Steps to reproduce:
>>
>> cd /usr/src/lib/libc/stdlib
>> touch *div*.c
>> cd ..
>> make depend
>> make
>>
>> And see how imaxdiv.o only is recompiled.
>> No div.o ldiv.o lldiv.o are recompiled.
>=20
> My dev system is busy at the moment. I'll test it and get back to you.

I need to add that I do 'make cleandepend/cleandir/cleanobj' + 'make
obj' again and full rebuild with no old files, but the bug repeated again=
=2E

>> P.S. new make depend is simple disgusting. It tends to recompile
>> everything in the system if some minor header file is touched, but
>=20
> If the header is used by all source files then that is expected.
>=20
> However if you do not have a .depend.obj.o file then it is quite
> aggressive with building.  If you touch any header it will rebuild
> everything.  But you shouldn't get into that situation unless you rm -f=

> .depend* first.
>=20
>> completely forget to recompile source code changes. I suggest to back
>> out all AI in that area.
>> 'make depend' is not time-consuming task and good old way never made
>> mistakes.
>=20
> The graph in the original commit for WITH_FAST_DEPEND disagrees.
> https://svnweb.freebsd.org/base?view=3Drevision&revision=3D290433
>=20
> We run the preprocessor once now, not twice.

It sounds good, just implemented bad. You measure some spherical chicken
in vacuum, not what really happens. In the old times I almost never have
clang libs rebuild (few files from there max when FreeBSD_version is
increased), but now I got them fully rebuilt with any header change.
That is the biggest slowdown and not what you try to measure.
Don't ever use 'make world'. Try to rebuild the system incrementally and
you'll see.



--nUMjutJv2e59cDmvHJ5GRn46pgaFPrVw6--

--8jNqIFH4PwimuQaBNpLe7tjQdW5s70omS
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJXTy5NAAoJEKUckv0MjfbKNOcH/0kLuYNN+dkXiURb9E9fRZ+9
qfeyHOBIUxggqd20f01wpKZZtbjethI5FJgYpcus6gSMbz1kf1qmCi2Rd7byGaql
540am8ktwZ+lx/FlZ1uE88BbquB5dbyAs3ASFDCQavLOk+wgku4bAc47IhUBlrbm
nbU8OHZ1gPXUO3Ctic1tibKPbBj9R33aNRbXpe3Jg9G7qaQNBQ/ZNi5KDRSgeS6C
x2u5Ummu2UlR47ubeSHrDpTkdmeuoKGbjJIczzjr+EtRXsN1Ti9KPoj/3Fyzo4cx
swNKS14BRRTubQqqomrXXBBhK8ivt7uog4/jonWGKGewPMqqtixtVqjdtlIB/6o=
=gWVT
-----END PGP SIGNATURE-----

--8jNqIFH4PwimuQaBNpLe7tjQdW5s70omS--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bec48601-f6b4-6b8a-dc0d-fad47416723b>