• C
    build: include sys/sysmacros.h for major() and minor() · 4d04351f
    Christopher Covington 提交于
    The definition of the major() and minor() macros are moving within glibc to
    <sys/sysmacros.h>. 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: NChristopher Covington <cov@codeaurora.org>
    Reviewed-by: NEric Blake <eblake@redhat.com>
    Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
    4d04351f
configure 160.1 KB