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

Re: [Minios-devel] [UNIKRAFT PATCH 0/6] Interrupt-safe compile units



On 13. Mar 2020, at 11:37, Felipe Huici <Felipe.Huici@xxxxxxxxx> wrote:
> 
> Some further information: what breaks is the use of file-specific includes or 
> flags, which explains why this works with noblic and not newlib (which uses 
> that mechanism).

Oh, right. It is in fact a white space problem with the build variable name 
generation functions (prefix_*) within support/build/Makefile.rules. I am 
sending a v2.

> 
> -- Felipe
> 
> On 13.03.20, 09:59, "Felipe Huici" <Felipe.Huici@xxxxxxxxx> wrote:
> 
>    Hi Simon,
> 
>    Thanks for the series! Unfortunately, it doesn't build against newlib, I 
> suppose you only tested it against noblic? Here's the compiler error I get:
> 
>      CC      libnewlibc: ffs.o
>      CC      libnewlibc: init.o
>      CC      libnewlibc: fini.o
>      CC      libnewlibc: collate.o
>    
> /root/workspace/gitlab/unikraft/upstreaming/apps/helloworld/build/libnewlibc/origin/newlib-2.5.0.20170922/newlib/libc/posix/collate.c:31:10:
>  fatal error: rune.h: No such file or directory
>     #include <rune.h>
>              ^~~~~~~~
>    compilation terminated.
> 
>    -- Felipe
> 
>    On 12.03.20, 15:11, "Simon Kuenzer" <simon.kuenzer@xxxxxxxxx> wrote:
> 
>        Prepares the build system to compile units that are safe to get
>        called from interrupt/trap context. For this purpose, a new
>        reserved variant is introduced: `isr`.
>        Whenever this variant is given to a source file, the build system
>        instructs the compiler to avoid using extended machine units
>        which aren't saved before entering interrupt context (e.g.,
>        floating point units, vector units):
>         LIBNAME_SRCS-y += $(LIBNAME_BASE)/handler.c|isr
> 
>        Simon Kuenzer (6):
>          build: buildrule: Strip arguments
>          build: Forward variant to build rules
>          build: Rename C++ buildrule to buildrule_cxx
>          build: Introduce COMPFLAGS(-y) and ARCHFLAGS(-y)
>          arch/*, build: Introduce reserved `isr` variant
>          doc: Document reserved `isr` variant
> 
>         Makefile                      |   6 +
>         Makefile.uk                   |  74 ++++-------
>         arch/arm/arm/Makefile.uk      |  57 +++++----
>         arch/arm/arm64/Makefile.uk    |  40 +++---
>         arch/x86/x86_64/Makefile.uk   |  87 +++++--------
>         doc/guides/developers-app.rst |  11 +-
>         plat/kvm/Makefile.uk          |   3 +-
>         support/build/Makefile.rules  | 234 +++++++++++++++++++---------------
>         8 files changed, 260 insertions(+), 252 deletions(-)
> 
>        -- 
>        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®.