From: Luiz Capitulino <lcapitulino@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: peter.maydell@linaro.org, stefanha@gmail.com,
qemu-devel@nongnu.org, 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: Mon, 10 Feb 2014 17:48:41 -0500 [thread overview]
Message-ID: <20140210174841.51b3cf53@redhat.com> (raw)
In-Reply-To: <52F94B3B.4080706@redhat.com>
On Mon, 10 Feb 2014 22:57:15 +0100
Laszlo Ersek <lersek@redhat.com> wrote:
> On 02/10/14 20:35, Luiz Capitulino wrote:
> > On Tue, 28 Jan 2014 14:21:56 +0800
> > qiaonuohan <qiaonuohan@cn.fujitsu.com> wrote:
> >
> >> flatten format will be used when writing kdump-compressed format. The format is
> >> also used by makedumpfile, you can refer to the following URL to get more
> >> detailed information about flatten format of kdump-compressed format:
> >> http://sourceforge.net/projects/makedumpfile/
> >>
> >> The two functions here are used to write start flat header and end flat header
> >> to vmcore, and they will be called later when flatten format is used.
> >>
> >> struct MakedumpfileHeader stored at the head of vmcore is used to indicate the
> >> vmcore is in flatten format.
> >>
> >> struct MakedumpfileHeader {
> >> char signature[16]; /* = "makedumpfile" */
> >> int64_t type; /* = 1 */
> >> int64_t version; /* = 1 */
> >> };
> >>
> >> And struct MakedumpfileDataHeader, with offset and buf_size set to -1, is used
> >> to indicate the end of vmcore in flatten format.
> >>
> >> struct MakedumpfileDataHeader {
> >> int64_t offset; /* = -1 */
> >> int64_t buf_size; /* = -1 */
> >> };
> >>
> >> Signed-off-by: Qiao Nuohan <qiaonuohan@cn.fujitsu.com>
> >> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
> >
> > This patch breaks git bisect:
> >
> > /home/lcapitulino/work/src/upstream/qmp-unstable/dump.c:689:12: error: ‘write_start_flat_header’ defined but not used [-Werror=unused-function]
> > /home/lcapitulino/work/src/upstream/qmp-unstable/dump.c:715:12: error: ‘write_end_flat_header’ defined but not used [-Werror=unused-function]
> > cc1: all warnings being treated as errors
> > make[1]: *** [dump.o] Error 1
> > make[1]: *** Waiting for unfinished jobs....
> > make: *** [subdir-x86_64-softmmu] Error 2
>
> This is one of the most useless warnings (when turned into an error).
> It's common to add the building blocks first during a series, and then
> to put them to use all at once, in one of the later patches. I have
> faced this before (see commit 27d59ccd), and it sucks very hard.
> Catching unused functions is helpful when you don't know about them. The
> point of a patch series is that in patch N you know what you're going to
> do in patch N+2. IOW, you know the future, while gcc doesn't.
>
> Plus, bisection is *already* unusable with -Werror enabled. Suppose you
> want to bisect a really long range, including commits that had been
> written when gcc was only at, say, 4.4. At that time, gcc-4.4's -Werror
> flag let some things pass that will now most certainly break your
> bisection, when you compile the tree at those earlier commits with
> gcc-4.8. I'm not speaking theoretically, I have factually witnessed this.
>
> In effect, the -Werror flag *binds* a specific qemu commit to the gcc
> version that is shipped by the main distros at the time of the commit.
> In order to preserve all information, the commit would have to save the
> gcc version to build it with, and git bisect should restore that
> information (ie. require that you have that compiler version installed).
>
> 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 practice, in order to silence this warning, Qiao would have to move
> these function definitions into the patch that uses them (bad from a
> design and review standpoint), or add useless calls inside this patch
> (which I did in commit 27d59ccd, and which is ridiculous).
>
> Qiao could also play with the diagnostics pragma (ie. suppress the
> warning just in this patch, just for these functions), but that pragma
> only works with gcc-4.6+, if memory serves.
>
> Thanks
> Laszlo
>
next prev parent reply other threads:[~2014-02-10 22:49 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 [this message]
2014-02-10 23:20 ` Laszlo Ersek
2014-02-11 9:06 ` Markus Armbruster
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=20140210174841.51b3cf53@redhat.com \
--to=lcapitulino@redhat.com \
--cc=afaerber@suse.de \
--cc=anderson@redhat.com \
--cc=kumagai-atsushi@mxc.nes.nec.co.jp \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).