[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [qemu-xen master] build: include sys/sysmacros.h for major() and minor()



commit acde9f32bb971f021557c15197f6cb677b1a3ab5
Author:     Christopher Covington <cov@xxxxxxxxxxxxxx>
AuthorDate: Wed Dec 28 15:04:33 2016 -0500
Commit:     Anthony PERARD <anthony.perard@xxxxxxxxxx>
CommitDate: Wed Mar 15 14:46:32 2017 +0000

    build: include sys/sysmacros.h for major() and minor()
    
    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.
    
    upstream-commit-id: 4d04351f4c3db3b70dc21f7fdc8155e341f39916
    
    Signed-off-by: Christopher Covington <cov@xxxxxxxxxxxxxx>
    Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
    Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
---
 configure                 | 18 ++++++++++++++++++
 include/sysemu/os-posix.h |  4 ++++
 2 files changed, 22 insertions(+)

diff --git a/configure b/configure
index 3770d7c..476210b 100755
--- a/configure
+++ b/configure
@@ -4734,6 +4734,20 @@ if test "$modules" = "yes" && test "$LD_REL_FLAGS" = ""; 
then
 fi
 
 ##########################################
+# check for sysmacros.h
+
+have_sysmacros=no
+cat > $TMPC << EOF
+#include <sys/sysmacros.h>
+int main(void) {
+    return makedev(0, 0);
+}
+EOF
+if compile_prog "" "" ; then
+    have_sysmacros=yes
+fi
+
+##########################################
 # End of CC checks
 # After here, no more $cc or $ld runs
 
@@ -5706,6 +5720,10 @@ if test "$have_af_vsock" = "yes" ; then
   echo "CONFIG_AF_VSOCK=y" >> $config_host_mak
 fi
 
+if test "$have_sysmacros" = "yes" ; then
+  echo "CONFIG_SYSMACROS=y" >> $config_host_mak
+fi
+
 # Hold two types of flag:
 #   CONFIG_THREAD_SETNAME_BYTHREAD  - we've got a way of setting the name on
 #                                     a thread we have a handle to
diff --git a/include/sysemu/os-posix.h b/include/sysemu/os-posix.h
index b0a6c06..900bdcb 100644
--- a/include/sysemu/os-posix.h
+++ b/include/sysemu/os-posix.h
@@ -34,6 +34,10 @@
 #include <netdb.h>
 #include <sys/un.h>
 
+#ifdef CONFIG_SYSMACROS
+#include <sys/sysmacros.h>
+#endif
+
 void os_set_line_buffering(void);
 void os_set_proc_name(const char *s);
 void os_setup_signal_handling(void);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.