Messages in this thread | | | From | Keith Owens <> | Subject | Re: Did someone try to boot 2.4.16 on a 386 ? [SOLVED] | Date | Sat, 01 Dec 2001 14:35:21 +1100 |
| |
On Sat, 1 Dec 2001 01:42:47 +0100 (CET), =?iso-8859-1?q?willy=20tarreau?= <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/
| |