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

[Minios-devel] [UNIKRAFT/NEWLIB PATCH 3/8] Adapt and use musl ioctl.h headers


  • To: minios-devel@xxxxxxxxxxxxx
  • From: Costin Lupu <costin.lupu@xxxxxxxxx>
  • Date: Mon, 5 Aug 2019 18:17:45 +0300
  • Cc: felipe.huici@xxxxxxxxx, simon.kuenzer@xxxxxxxxx, sharan.santhanam@xxxxxxxxx
  • Delivery-date: Mon, 05 Aug 2019 15:18:09 +0000
  • Ironport-phdr: 9a23:bFaJrxXBIAt9ku8+wnLHdb6rmOrV8LGtZVwlr6E/grcLSJyIuqrYbRGFt8tkgFKBZ4jH8fUM07OQ7/m6HzVYvt3R6zgrS99lb1c9k8IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBoKevrB4Xck9q41/yo+53Ufg5EmCexbal9IRmrswndrNQajZdgJ6o+yRbErGZDdvhLy29vOV+dhQv36N2q/J5k/SRQuvYh+NBFXK7nYak2TqFWASo/PWwt68LlqRfMTQ2U5nsBSWoWiQZHAxLE7B7hQJj8tDbxu/dn1ymbOc32Sq00WSin4qx2RhLklDsLOjgk+2zRl8d+jr9UoAi5qhJ/3YDafY+bOvl5cKzfc9MVSnZOUMlKWixdG4OxdZcDAvAdMetaqYT2ulsArQG5BQmpHO7i1DhIhmTq3a071eQqDAfI3BE4H9ITrX/Zq8n6NKAJUeCpzanIyy/Pb/dL2Tfl9YjFaQwuoeqWUbJobMre0lMjFxnCjliJr4HuIjCb1vwVvmSG4OdsSPijhm0npg1rvDSj2MUhhpPHi44N11zJ+jh1zJw2KNC4UkJ3f9CpHZVKuy2HOIZ6XMUvSHxytikg0L0Jo5u7cTAPyJQg2hHQdeSKc5ON4hL/TOaRJip4hG59dLK/mRmy9U+gx/XiVsmxyllKry5FnsPQuXAWzRDT8tWHReBn8ke73jaDzwHT6udaLkAojafXNpEszqMqmpcQsUnPBDH6lFv0gaOMeEgo4u2o5P7mYrXiqJ+cLYh0igTmP6syncy/Gvg4MgkIX2SB/eS8yaXj/VDiTbpWlf06iLHZsI3BKsgBvK65BBdZ0pw/5BanEzemzNMYkGECLFJEfhKHjo/pO0rXLP/lE/i/nUqjkDNwyvDCP73hGYnNLmPZnLbuY7l97VRQyA0pzdBQ/5hUEK0OIOrvWk/ts9zVFhE5PBKww+bmENVyyJkSWWKSAq+YLKzSsESF5uQxLOaQYI8aoi3yJ+I76P7zlXU5g0MSfbG13ZsLb3C1Bu9mI0WDbnr2mNgBF30GvhEkQ+zslF2CUSRcZ3CoUKI5/Tw7DpypApvHRo+3m7ONxjm0HoBObGBcFl+MCWvod5mDW/oUcyKSI8phkjsCVbS7SI8hyA+htAn7yrV5NOrZ4SsYuoz/29hx/eLcjgs++iJpD5fV72bYSmByn2QTAjM7wq17iUh80UuYl7h1hbpfD9MAyelOV1IRMoXAzuoyL83qR0qVddCSVFegBNG7GSwZRcl328IEJVx6TYbxxivf1janVudG34eAA4Y5p/rR
  • Ironport-sdr: 7GWVBJjE++lCZxy3md/ju6njeZ7WM6YdVfyZ4xioySSPh6fUec304ZBow0KtgXKmKsL9vVnjfk 1ITnmi1jOZrw==
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>

lwip library has its own definition for SIOCATMARK which we cannot overwrite, so
we avoid to use our own in that case. Also, the same definition for winsize
structure is already provided by the musl headers, so we stick to those.

This patch also adds licenses for the musl ioctl.h headers.

Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx>
---
 Makefile.uk                             | 11 ++++++----
 include/sys/ioctl.h                     |  8 ++-----
 musl-imported/arch/generic/bits/ioctl.h | 28 ++++++++++++++++++++++++-
 musl-imported/include/sys/ioctl.h       | 24 +++++++++++++++++++++
 4 files changed, 60 insertions(+), 11 deletions(-)

diff --git a/Makefile.uk b/Makefile.uk
index abd556a..f11d443 100644
--- a/Makefile.uk
+++ b/Makefile.uk
@@ -65,10 +65,13 @@ LIBNEWLIB_LIBM = 
$(LIBNEWLIBC_ORIGIN)/$(LIBNEWLIB_SUBDIR)/newlib/libm
 
################################################################################
 # Library includes
 
################################################################################
-CINCLUDES-$(CONFIG_LIBNEWLIBC)   += -I$(LIBNEWLIBC_BASE)/include
-CINCLUDES-$(CONFIG_LIBNEWLIBC)   += -I$(LIBNEWLIB_LIBC)/include
-CXXINCLUDES-$(CONFIG_LIBNEWLIBC) += -I$(LIBNEWLIBC_BASE)/include
-CXXINCLUDES-$(CONFIG_LIBNEWLIBC) += -I$(LIBNEWLIB_LIBC)/include
+LIBNEWLIBC_COMMON_INCLUDES-y     += -I$(LIBNEWLIBC_BASE)/include
+LIBNEWLIBC_COMMON_INCLUDES-y     += -I$(LIBNEWLIBC_BASE)/musl-imported/include
+LIBNEWLIBC_COMMON_INCLUDES-y     += 
-I$(LIBNEWLIBC_BASE)/musl-imported/arch/generic
+LIBNEWLIBC_COMMON_INCLUDES-y     += -I$(LIBNEWLIB_LIBC)/include
+
+CINCLUDES-$(CONFIG_LIBNEWLIBC)   += $(LIBNEWLIBC_COMMON_INCLUDES-y)
+CXXINCLUDES-$(CONFIG_LIBNEWLIBC) += $(LIBNEWLIBC_COMMON_INCLUDES-y)
 
 LIBNEWLIBM_CINCLUDES   += -I$(LIBNEWLIB_LIBM)/common
 LIBNEWLIBM_CXXINCLUDES += -I$(LIBNEWLIB_LIBM)/common
diff --git a/include/sys/ioctl.h b/include/sys/ioctl.h
index 9d9d924..a797dda 100644
--- a/include/sys/ioctl.h
+++ b/include/sys/ioctl.h
@@ -34,9 +34,5 @@
  * THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY.
  */
 
-struct winsize {
-       unsigned short ws_row;
-       unsigned short ws_col;
-       unsigned short ws_xpixel;
-       unsigned short ws_ypixel;
-};
+#include_next <sys/ioctl.h>
+
diff --git a/musl-imported/arch/generic/bits/ioctl.h 
b/musl-imported/arch/generic/bits/ioctl.h
index d1a6c03..fff7774 100644
--- a/musl-imported/arch/generic/bits/ioctl.h
+++ b/musl-imported/arch/generic/bits/ioctl.h
@@ -1,3 +1,27 @@
+/* SPDX-License-Identifier: MIT */
+/* ----------------------------------------------------------------------
+ * Copyright © 2005-2014 Rich Felker, et al.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * ----------------------------------------------------------------------
+ */
 #define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
 #define _IOC_NONE  0U
 #define _IOC_WRITE 1U
@@ -103,8 +127,10 @@
 #define SIOCSPGRP       0x8902
 #define FIOGETOWN       0x8903
 #define SIOCGPGRP       0x8904
+#ifndef CONFIG_LIBLWIP
 #define SIOCATMARK      0x8905
+#endif
 #define SIOCGSTAMP      0x8906
 #define SIOCGSTAMPNS    0x8907
 
-#include <bits/ioctl_fix.h>
+//TODO #include <bits/ioctl_fix.h>
diff --git a/musl-imported/include/sys/ioctl.h 
b/musl-imported/include/sys/ioctl.h
index 372e3dd..b1cf5c1 100644
--- a/musl-imported/include/sys/ioctl.h
+++ b/musl-imported/include/sys/ioctl.h
@@ -1,3 +1,27 @@
+/* SPDX-License-Identifier: MIT */
+/* ----------------------------------------------------------------------
+ * Copyright © 2005-2014 Rich Felker, et al.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * ----------------------------------------------------------------------
+ */
 #ifndef        _SYS_IOCTL_H
 #define        _SYS_IOCTL_H
 #ifdef __cplusplus
-- 
2.20.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

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