Re: Did someone try to boot 2.4.16 on a 386 ? [SOLVED]

Keith Owens (kaos@ocs.com.au)
Sat, 01 Dec 2001 14:35:21 +1100


On Sat, 1 Dec 2001 01:42:47 +0100 (CET),
willy tarreau <wtarreau@yahoo.fr> wrote:
>Just to say that I finally solved my problem. It came
>from a wrong vmlinux.lds that had been modified by a
>TUX patch applied to an earlier kernel sharing a hard
>link with this one. Although I think an unlink before
>a regeneration of this file would have been better,

A perfect example of why having the same tree for source and generated
files and using cp -al is a bad idea. cp -al picks up both source and
objects and you have to hope that anything that is overwritten is hard
link safe (I can tell you now that it is not). kbuild 2.5 allows
multiple builds from the same source tree into separate object trees
with different configs and is safe.

>I'll check around to see if there are other parts
>which risk to modify a file on disk without previously
>unlink it.

Any Makefile that does "some_command > target_file" or runs a utility
that does open(O_TRUNC) instead of unlink(), open(O_EXCL).

BTW, cp -al of a pristine source tree to multiple source trees followed
by multiple compiles in parallel is not safe either. make dep relies
on changing time stamps for include files, because the include files
are hard linked, a change in one compile affects the other trees, with
undefined results. Also fixed in kbuild 2.5.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/