All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: peter.maydell@linaro.org, stefanha@gmail.com,
	qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>,
	qiaonuohan <qiaonuohan@cn.fujitsu.com>,
	kumagai-atsushi@mxc.nes.nec.co.jp, anderson@redhat.com,
	afaerber@suse.de
Subject: Re: [Qemu-devel] [PATCH v8 03/13] dump: add API to write header of flatten format
Date: Tue, 11 Feb 2014 10:06:08 +0100	[thread overview]
Message-ID: <87eh3at3wf.fsf@blackfin.pond.sub.org> (raw)
In-Reply-To: <52F95EB7.5080403@redhat.com> (Laszlo Ersek's message of "Tue, 11 Feb 2014 00:20:23 +0100")

Laszlo Ersek <lersek@redhat.com> writes:

> On 02/10/14 23:48, Luiz Capitulino wrote:
>> On Mon, 10 Feb 2014 22:57:15 +0100
>> Laszlo Ersek <lersek@redhat.com> wrote:
>
>>> In short, -Werror and bisection don't mix. They already don't, and we
>>> shouldn't expect them to.
>> 
>> I understand what you're saying, and I don't want people to do needless and
>> endless respins, but letting bisect break at will doesn't seem a good option
>> either.
>> 
>> What other options do we have? What's the general QEMU directive in cases like
>> this?
>> 
>>  1. Do what you did in commit 27d59ccd?
>> 
>>  2. Apply it and let bisect break?
>> 
>>  3. Drop -Werror?
>
> In commit 27d59ccd, I introduced the create_blob_file() function, in
> "tests/i440fx-test.c". The patch was really about nothing else than
> introducing this function (which would have made no sense outside of
> said C file, so I made it static).
>
> (The new function was to be utilized in the next patch (3bcc77ae).)
>
> Of course gcc whined at 27d59ccd, and I was forced to call
> create_blob_file() from main() just to shut it up. This function call
> made absolutely no sense. I only added the call in order to convince gcc
> that create_blob_file() was not some abandoned, useless function.
>
> Of course, when the tree is built at 27d59ccd, *and* "tests/i440fx-test"
> is run, then create_blob_file() runs too, and it *has* an effect. A blob
> file is indeed created and unlinked. In other words, in that commit the
> utility function is actually exercised, *outside* its intended
> scope/context, just to shut up gcc.
>
> To follow suit, Qiao would have to call write_start_flat_header() and
> write_end_flat_header() *somewhere* in patch v8 03/13. It would be a
> terrible thing to do. It makes absolutely no sense to call these
> functions in this patch. And I don't think we could trick gcc with an
> "if (0) {...}", because the optimizer would eliminate the call and we'd
> be left with the original warning/error.
>
> Summary: in commit 27d59ccd, I did a horrible hack to shut up gcc. It
> was only permissible because the hack affected just a test case. It
> didn't affect production code that you actually might want to bisect.

Ugh!

> The general qemu (and edk2) approach is to rape the code until the
> *contemporary* gcc / compiler of choice shuts up. Then, at *real* bisect
> time later down the road, with a new compiler release, act surprised
> when the tree doesn't build. Then repeat/restart the bisection with
> -Werror disabled.

I always configure --disable-werror.  It doesn't make the sky fall.

> My specific proposal is to test-build the tree at all patches in the
> series, *except* at the last one, with -Werror disabled. Then build the
> tree at the final patch with -Werror enabled.

My proposal is a generalization of yours: use a bit of common sense for
a change :)

  reply	other threads:[~2014-02-11  9:06 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-28  6:21 [Qemu-devel] [PATCH v8 00/13] Make 'dump-guest-memory' dump in kdump-compressed format qiaonuohan
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 01/13] dump: const-qualify the buf of WriteCoreDumpFunction qiaonuohan
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 02/13] dump: add argument to write_elfxx_notes qiaonuohan
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 03/13] dump: add API to write header of flatten format qiaonuohan
2014-02-10 19:35   ` Luiz Capitulino
2014-02-10 21:57     ` Laszlo Ersek
2014-02-10 22:48       ` Luiz Capitulino
2014-02-10 23:20         ` Laszlo Ersek
2014-02-11  9:06           ` Markus Armbruster [this message]
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 04/13] dump: add API to write vmcore qiaonuohan
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 05/13] dump: add API to write elf notes to buffer qiaonuohan
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 06/13] dump: add support for lzo/snappy qiaonuohan
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 07/13] dump: add members to DumpState and init some of them qiaonuohan
2014-01-29 14:11   ` Laszlo Ersek
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 08/13] dump: add API to write dump header qiaonuohan
2014-01-28 11:51   ` Ekaterina Tumanova
2014-01-28 13:37     ` Laszlo Ersek
2014-01-28 14:42       ` Ekaterina Tumanova
2014-01-28 14:55         ` Laszlo Ersek
2014-01-29  1:39       ` Qiao Nuohan
2014-01-29 14:19   ` Laszlo Ersek
2014-01-30 17:14   ` Ekaterina Tumanova
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 09/13] dump: add API to write dump_bitmap qiaonuohan
2014-01-29 14:32   ` Laszlo Ersek
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 10/13] dump: add APIs to operate DataCache qiaonuohan
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 11/13] dump: add API to write dump pages qiaonuohan
2014-01-29 14:39   ` Laszlo Ersek
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 12/13] dump: make kdump-compressed format available for 'dump-guest-memory' qiaonuohan
2014-01-29 14:45   ` Laszlo Ersek
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 13/13] dump: add 'query-dump-guest-memory-capability' command qiaonuohan
2014-02-10 19:10   ` Luiz Capitulino
2014-02-10 22:02     ` Laszlo Ersek
2014-02-10 23:09       ` Paolo Bonzini
2014-02-10 23:09       ` Paolo Bonzini
2014-02-10 23:30         ` Laszlo Ersek
2014-02-10 23:34           ` Paolo Bonzini
2014-02-11  0:22             ` Laszlo Ersek
2014-02-11  2:37               ` Qiao Nuohan
2014-02-11  2:47             ` Luiz Capitulino
2014-02-11  3:20               ` Qiao Nuohan
2014-02-11  7:19               ` Paolo Bonzini
2014-02-11 13:26                 ` Eric Blake
2014-02-12  3:13                   ` [Qemu-devel] [PATCH v9 " Qiao Nuohan
2014-02-12  3:29                     ` Eric Blake
2014-02-12  6:34                       ` [Qemu-devel] [PATCH v10 " Qiao Nuohan
2014-02-12 14:49                         ` Luiz Capitulino
2014-02-13  1:48                           ` Qiao Nuohan
2014-02-13  2:57                             ` Luiz Capitulino
2014-02-13 13:13                             ` Eric Blake
2014-02-13 13:45                             ` Luiz Capitulino
2014-01-28  6:37 ` [Qemu-devel] [PATCH v8 00/13] Make 'dump-guest-memory' dump in kdump-compressed format Qiao Nuohan
2014-01-29 14:50 ` Laszlo Ersek
2014-01-30 17:01 ` [Qemu-devel] [PATCH] Define the architecture for compressed dump format Ekaterina Tumanova
2014-01-30 17:20   ` Laszlo Ersek
2014-01-31 13:45     ` [Qemu-devel] [PATCH v2] Define guest architecture for the compressed dump header Ekaterina Tumanova
2014-01-31 13:45       ` [Qemu-devel] [PATCH v2] Define the architecture for compressed dump format Ekaterina Tumanova
2014-01-31 13:56         ` Christian Borntraeger
2014-01-31 14:11         ` Laszlo Ersek
2014-01-31 15:04           ` [Qemu-devel] [PATCH v3 0/1] Detect arch for dump compressed header Ekaterina Tumanova
2014-01-31 15:04             ` [Qemu-devel] [PATCH v3 1/1] Define the architecture for compressed dump format Ekaterina Tumanova
2014-02-13 13:50               ` Luiz Capitulino
2014-01-31 17:14             ` [Qemu-devel] [PATCH v3 0/1] Detect arch for dump compressed header Laszlo Ersek
2014-02-10 21:23               ` Luiz Capitulino
2014-02-10 22:06                 ` Laszlo Ersek
2014-02-10  3:34             ` Qiao Nuohan
2014-02-10  8:29               ` Laszlo Ersek
2014-02-10  8:57                 ` Qiao Nuohan
2014-02-10 13:24                   ` Luiz Capitulino
2014-02-11 17:00 ` [Qemu-devel] [PATCH v8 00/13] Make 'dump-guest-memory' dump in kdump-compressed format Luiz Capitulino
2014-02-17 17:51   ` Luiz Capitulino
2014-02-18  6:16     ` Qiao Nuohan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87eh3at3wf.fsf@blackfin.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=afaerber@suse.de \
    --cc=anderson@redhat.com \
    --cc=kumagai-atsushi@mxc.nes.nec.co.jp \
    --cc=lcapitulino@redhat.com \
    --cc=lersek@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qiaonuohan@cn.fujitsu.com \
    --cc=stefanha@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.