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

Re: [Minios-devel] [UNIKRAFT PATCH] include/essentials: Fix redefinition warnings when using newlib



Hey Costin,

thanks a lot for this patch. In fact it solves some redefinition errors that we 
experience. The workaround so far was to include libc headers first and then 
essentials.h. But I agree it might not always work because of dependencies.

Instead of making this depending on newlib, can we make it libc generic by 
using CONFIG_HAVE_LIBC instead?

Thanks,

Simon

On 12.03.19, 07:32, "Costin Lupu" <costin.lupu@xxxxxxxxx> wrote:

    For some macrodefinitions, newlib headers do not care if they were
    previously defined and this results in redefinitions compiler warnings.
    In some way, it makes sense to give priority to newlib's definitions if
    one decides to use it as a libc implementation. Therefore we include the
    newlib headers in essentials.h to give priority to their definitions
    instead of ours.
    
    Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx>
    ---
     include/uk/essentials.h | 8 ++++++++
     1 file changed, 8 insertions(+)
    
    diff --git a/include/uk/essentials.h b/include/uk/essentials.h
    index 47e04f7c..cdcb5625 100644
    --- a/include/uk/essentials.h
    +++ b/include/uk/essentials.h
    @@ -38,6 +38,14 @@
     #ifndef __UK_ESSENTIALS_H__
     #define __UK_ESSENTIALS_H__
     
    +#include <uk/config.h>
    +
    +#if CONFIG_LIBNEWLIBC
    +#include <sys/cdefs.h>
    +#include <sys/param.h>
    +#include <inttypes.h>
    +#endif
    +
     #ifdef __cplusplus
     extern "C" {
     #endif
    -- 
    2.11.0
    
    

_______________________________________________
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®.