qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] makefile: detect corrupted elf files


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH] makefile: detect corrupted elf files
Date: Sun, 26 May 2013 16:11:21 +0300

On Sun, May 26, 2013 at 02:48:11PM +0200, Stefan Weil wrote:
> Am 26.05.2013 14:31, schrieb Michael S. Tsirkin:
> > On Sun, May 26, 2013 at 10:12:21AM +0100, Peter Maydell wrote:
> >> On 26 May 2013 08:35, Michael S. Tsirkin <address@hidden> wrote:
> >>> On Sat, May 25, 2013 at 05:32:24PM +0000, Blue Swirl wrote:
> >>>> Another way to handle this would be to enhance GCC and linker to use
> >>>> atomic operations when producing or combining object files. The tools
> >>>> could also print a SHA of the object which the next user should
> >>>> verify. Even better, the object files should include a robust checksum
> >>>> to ensure integrity.
> >>> I think we can make the makefile more robust. It can create a temporary
> >>> file in same directory and rename when ready. This will prevent
> >>> corrupted files from appearing in the first place.
> >> I definitely think individual project makefiles are the wrong place
> >> to fix this. If create-as-temp-and-rename is useful functionality
> >> it needs to go in the compiler so that everybody benefits.
> > This will not help users on existing systems.
> > Also it's not just compiler. We'd have to do it in linker,
> > asm, ... lots of work.
> > You are wellcome to implement this in compiler/linker/etc if you like
> > but we will still want to handle it in our makefile as well.
> >
> >> Or you
> >> could write yourself a cc wrapper that did the renaming and use
> >> configure's --cc= flag.
> >>
> >> thanks
> >> -- PMM
> > We also run lots of scripts in our makefiles. Would you like
> > to also change each of them individually? Add wrapper scripts for e.g.
> > python? What's the benefit as compared to just fixing it all in one
> > place in the makefile?
> 
> 
> GNU make automatically removes .o files which were built
> because of a Makefile rule if that rule returns an error, so
> OOM or compiler crashes should not result in corrupted .o
> files.

Not if make itself is killed.

> The same applies to other kinds of files built by
> make.

Another problem is power failures and other cases of sudden reboot.

> 
> If there are corrupted files, we have to look whether the
> Makefile rules for those files are correct (or exist at all).
> Are there other Open Source projects which try to detect
> corrupted elf files? I know none.
> 
> Regards
> Stefan W.
> 

It saves me time, at least.
I can keep it out of tree if it rubs others the wrong way
for some reason, it's no big deal.
If I have some spare time I might code up the more
generic thing with create then rename for all files,
if I do we can discuss that.

-- 
MST



reply via email to

[Prev in Thread] Current Thread [Next in Thread]