From: "Michael S. Tsirkin" <mst@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: peter.maydell@linaro.org, Paolo Bonzini <pbonzini@redhat.com>,
jtomko@redhat.com, qemu-devel@nongnu.org, jingqi.liu@intel.com
Subject: Re: [PATCH 1/2] Use -isystem for linux-headers dir
Date: Thu, 12 Mar 2020 01:28:33 -0400 [thread overview]
Message-ID: <20200312012547-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20200311230806.GO1187748@habkost.net>
On Wed, Mar 11, 2020 at 07:08:06PM -0400, Eduardo Habkost wrote:
> On Wed, Mar 11, 2020 at 07:05:45PM -0400, Michael S. Tsirkin wrote:
> > On Wed, Mar 11, 2020 at 06:51:29PM -0400, Eduardo Habkost wrote:
> > > glibc and Linux-provided headers are known to generate macro
> > > redefinition warnings when used together. For example:
> > > <linux/mman.h> and <sys/mman.h> duplicate some macro definitions.
> > >
> > > We normally never see those warnings because GCC suppresses
> > > warnings generated by system headers. We carry our own copy of
> > > Linux header files, though, and this makes those warnings not be
> > > suppressed when glibc headers are included before Linux headers
> > > (e.g. if <sys/mman.h> is included before <linux/mman.h>).
> > >
> > > Use -isystem instead of -I for linux-headers. This makes the
> > > compiler treat our linux-headers directory the same way it treats
> > > system-provided Linux headers, and suppress warnings generated by
> > > them.
> > >
> > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > > ---
> > > Makefile.target | 2 +-
> > > configure | 2 +-
> > > 2 files changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/Makefile.target b/Makefile.target
> > > index 2d43dc586a..934a9f7431 100644
> > > --- a/Makefile.target
> > > +++ b/Makefile.target
> > > @@ -12,7 +12,7 @@ endif
> > >
> > > $(call set-vpath, $(SRC_PATH):$(BUILD_DIR))
> > > ifdef CONFIG_LINUX
> > > -QEMU_CFLAGS += -I../linux-headers
> > > +QEMU_CFLAGS += -isystem ../linux-headers
> > > endif
> > > QEMU_CFLAGS += -iquote .. -iquote $(SRC_PATH)/target/$(TARGET_BASE_ARCH) -DNEED_CPU_H
> > >
> > > diff --git a/configure b/configure
> > > index cbf864bff1..04a2a7f2dd 100755
> > > --- a/configure
> > > +++ b/configure
> > > @@ -899,7 +899,7 @@ Linux)
> > > linux="yes"
> > > linux_user="yes"
> > > kvm="yes"
> > > - QEMU_INCLUDES="-I\$(SRC_PATH)/linux-headers -I$PWD/linux-headers $QEMU_INCLUDES"
> > > + QEMU_INCLUDES="-isystem \$(SRC_PATH)/linux-headers -I$PWD/linux-headers $QEMU_INCLUDES"
> >
> > Shouldn't both be -isystem?
>
> I haven't noticed we had both.
>
> This line looks weird, does anybody know why we have
> $PWD/linux-headers here?
Look at the build directory and you'll figure it out:
$ ls -l $PWD/linux-headers/
total 0
lrwxrwxrwx. 1 mst mst 31 Mar 10 05:59 asm -> /scm/qemu/linux-headers/asm-x86
Introduced here:
commit a585140dd546ffb606ec506b362ab9decf1ab14e
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date: Wed May 29 23:30:43 2013 +1000
qemu: fix out of tree cross compile
The symlink to "asm" platform linux headers is made in the build tree by
the configure script but gcc is not told to look for them there.
The patch fixes this.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
--
MST
next prev parent reply other threads:[~2020-03-12 5:29 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-11 22:51 [PATCH 0/2] Fix MAP_SYNC support when host has older glibc version Eduardo Habkost
2020-03-11 22:51 ` [PATCH 1/2] Use -isystem for linux-headers dir Eduardo Habkost
2020-03-11 23:05 ` Michael S. Tsirkin
2020-03-11 23:08 ` Eduardo Habkost
2020-03-11 23:15 ` Eduardo Habkost
2020-03-12 5:28 ` Michael S. Tsirkin [this message]
2020-03-11 22:51 ` [PATCH 2/2] mmap-alloc: Include osdep.h before checking CONFIG_LINUX Eduardo Habkost
2020-03-11 23:06 ` Michael S. Tsirkin
2020-03-11 23:40 ` [PATCH 0/2] Fix MAP_SYNC support when host has older glibc version no-reply
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=20200312012547-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=ehabkost@redhat.com \
--cc=jingqi.liu@intel.com \
--cc=jtomko@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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).