diff mbox

[MINIOS,v2] Include string.h before console.h

Message ID 20171004135126.9131-1-wei.liu2@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wei Liu Oct. 4, 2017, 1:51 p.m. UTC
Starting from Xen commit af8d93564, it is required to include string.h
before console.h.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Julien Grall <julien.grall@arm.com>
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>

After applying this patch to mini-os I will update Xen's Config.mk to
fix the build failure in xen.git.

There are quite a few places in the not yet functioning arm port. I opt to
skip them so that we can unblock staging asap.
---
 lib/sys.c   | 1 +
 lwip-arch.c | 1 +
 main.c      | 1 +
 3 files changed, 3 insertions(+)

Comments

Samuel Thibault Oct. 4, 2017, 1:55 p.m. UTC | #1
Wei Liu, on mer. 04 oct. 2017 14:51:26 +0100, wrote:
> Starting from Xen commit af8d93564, it is required to include string.h
> before console.h.
> 
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Cc: Julien Grall <julien.grall@arm.com>
> Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
> 
> After applying this patch to mini-os I will update Xen's Config.mk to
> fix the build failure in xen.git.
> 
> There are quite a few places in the not yet functioning arm port. I opt to
> skip them so that we can unblock staging asap.
> ---
>  lib/sys.c   | 1 +
>  lwip-arch.c | 1 +
>  main.c      | 1 +
>  3 files changed, 3 insertions(+)
> 
> diff --git a/lib/sys.c b/lib/sys.c
> index b173bc8..23dc2a5 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -20,6 +20,7 @@
>  
>  #ifdef HAVE_LIBC
>  #include <os.h>
> +#include <string.h>
>  #include <console.h>
>  #include <sched.h>
>  #include <events.h>
> diff --git a/lwip-arch.c b/lwip-arch.c
> index 154617b..21e941e 100644
> --- a/lwip-arch.c
> +++ b/lwip-arch.c
> @@ -8,6 +8,7 @@
>  
>  #include <os.h>
>  #include <time.h>
> +#include <string.h>
>  #include <console.h>
>  #include <xmalloc.h>
>  #include <lwip/sys.h>
> diff --git a/main.c b/main.c
> index 263364c..4e42f53 100644
> --- a/main.c
> +++ b/main.c
> @@ -8,6 +8,7 @@
>  #include <os.h>
>  #include <kernel.h>
>  #include <sched.h>
> +#include <string.h>
>  #include <console.h>
>  #include <netfront.h>
>  #include <pcifront.h>
> -- 
> 2.11.0
>
Jan Beulich Oct. 5, 2017, 9:22 a.m. UTC | #2
>>> On 04.10.17 at 15:51, <wei.liu2@citrix.com> wrote:
> Starting from Xen commit af8d93564, it is required to include string.h
> before console.h.

But that's broken then - there shouldn't be such an effect for
anyone updating their public headers. IOW I think this needs
to be dealt with by further adjusting console.h, e.g. by
making the additions depend on a manifest symbol to be
defined.

Jan
Wei Liu Oct. 5, 2017, 9:28 a.m. UTC | #3
On Thu, Oct 05, 2017 at 03:22:33AM -0600, Jan Beulich wrote:
> >>> On 04.10.17 at 15:51, <wei.liu2@citrix.com> wrote:
> > Starting from Xen commit af8d93564, it is required to include string.h
> > before console.h.
> 
> But that's broken then - there shouldn't be such an effect for
> anyone updating their public headers. IOW I think this needs
> to be dealt with by further adjusting console.h, e.g. by
> making the additions depend on a manifest symbol to be
> defined.

This should work.

This isn't just console.h alone. Any header that uses
DEFINE_XEN_FLEX_RING will potentially need a manifest symbol. We get
away so far because the two other headers 9pfs.h and pvcalls.h are
relatively new.
Wei Liu Oct. 5, 2017, 9:39 a.m. UTC | #4
CC Stefano and Julien

On Thu, Oct 05, 2017 at 10:28:00AM +0100, Wei Liu wrote:
> On Thu, Oct 05, 2017 at 03:22:33AM -0600, Jan Beulich wrote:
> > >>> On 04.10.17 at 15:51, <wei.liu2@citrix.com> wrote:
> > > Starting from Xen commit af8d93564, it is required to include string.h
> > > before console.h.
> > 
> > But that's broken then - there shouldn't be such an effect for
> > anyone updating their public headers. IOW I think this needs
> > to be dealt with by further adjusting console.h, e.g. by
> > making the additions depend on a manifest symbol to be
> > defined.
> 
> This should work.
> 
> This isn't just console.h alone. Any header that uses
> DEFINE_XEN_FLEX_RING will potentially need a manifest symbol. We get
> away so far because the two other headers 9pfs.h and pvcalls.h are
> relatively new.
Jan Beulich Oct. 5, 2017, 9:43 a.m. UTC | #5
>>> On 05.10.17 at 11:28, <wei.liu2@citrix.com> wrote:
> On Thu, Oct 05, 2017 at 03:22:33AM -0600, Jan Beulich wrote:
>> >>> On 04.10.17 at 15:51, <wei.liu2@citrix.com> wrote:
>> > Starting from Xen commit af8d93564, it is required to include string.h
>> > before console.h.
>> 
>> But that's broken then - there shouldn't be such an effect for
>> anyone updating their public headers. IOW I think this needs
>> to be dealt with by further adjusting console.h, e.g. by
>> making the additions depend on a manifest symbol to be
>> defined.
> 
> This should work.
> 
> This isn't just console.h alone. Any header that uses
> DEFINE_XEN_FLEX_RING will potentially need a manifest symbol. We get
> away so far because the two other headers 9pfs.h and pvcalls.h are
> relatively new.

Right, and for new headers it is fine to establish prereq inclusion
requirements from the very beginning.

Jan
diff mbox

Patch

diff --git a/lib/sys.c b/lib/sys.c
index b173bc8..23dc2a5 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -20,6 +20,7 @@ 
 
 #ifdef HAVE_LIBC
 #include <os.h>
+#include <string.h>
 #include <console.h>
 #include <sched.h>
 #include <events.h>
diff --git a/lwip-arch.c b/lwip-arch.c
index 154617b..21e941e 100644
--- a/lwip-arch.c
+++ b/lwip-arch.c
@@ -8,6 +8,7 @@ 
 
 #include <os.h>
 #include <time.h>
+#include <string.h>
 #include <console.h>
 #include <xmalloc.h>
 #include <lwip/sys.h>
diff --git a/main.c b/main.c
index 263364c..4e42f53 100644
--- a/main.c
+++ b/main.c
@@ -8,6 +8,7 @@ 
 #include <os.h>
 #include <kernel.h>
 #include <sched.h>
+#include <string.h>
 #include <console.h>
 #include <netfront.h>
 #include <pcifront.h>