[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] build: include sys/sysmacros.h for major() a
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v3] build: include sys/sysmacros.h for major() and minor() |
Date: |
Thu, 29 Dec 2016 08:03:41 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 |
On 12/28/2016 02:04 PM, Christopher Covington wrote:
It's best when posting a v3 to do so as a new thread, rather than buried
in-reply-to an earlier thread, as some maintainers' tools overlook
deeply-threaded patches. Probably won't matter too much in this case,
but it's useful information for future submissions; other tips can be
found here:
http://wiki.qemu.org/Contribute/SubmitAPatch
> The definition of the major() and minor() macros are moving within glibc to
> <sys/sysmacros.h>.
Or more precisely, major() and minor() have ALWAYS been in
<sys/sysmacros.h> under glibc, but are now being removed from
<sys/types.h>. But your patch is the correct fix: if <sys/sysmacros.h>
exists, include it.
> Include this header when it is available to avoid the
> following sorts of build-stopping messages:
>
> qga/commands-posix.c: In function ‘dev_major_minor’:
> qga/commands-posix.c:656:13: error: In the GNU C Library, "major" is defined
> by <sys/sysmacros.h>. For historical compatibility, it is
> currently defined by <sys/types.h> as well, but we plan to
> remove this soon. To use "major", include <sys/sysmacros.h>
> directly. If you did not intend to use a system-defined macro
> "major", you should undefine it after including <sys/types.h>. [-Werror]
> *devmajor = major(st.st_rdev);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~
>
> qga/commands-posix.c:657:13: error: In the GNU C Library, "minor" is defined
> by <sys/sysmacros.h>. For historical compatibility, it is
> currently defined by <sys/types.h> as well, but we plan to
> remove this soon. To use "minor", include <sys/sysmacros.h>
> directly. If you did not intend to use a system-defined macro
> "minor", you should undefine it after including <sys/types.h>. [-Werror]
> *devminor = minor(st.st_rdev);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~
>
> The additional include allows the build to complete on Fedora 26 (Rawhide)
> with glibc version 2.24.90.
>
> Signed-off-by: Christopher Covington <address@hidden>
> ---
> configure | 18 ++++++++++++++++++
> include/sysemu/os-posix.h | 4 ++++
> 2 files changed, 22 insertions(+)
Reviewed-by: Eric Blake <address@hidden>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature