[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



Hi Simon,

For now I think it's better to stick to newlib because it might be that
only newlib chose to define those macro regardless whether they were
already defined before. If the same would apply for other libc
implementation then we'll update this when we'll use those other libc's.

Thanks,
Costin

On 3/22/19 4:32 PM, Simon Kuenzer wrote:
> 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
> 

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