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

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



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).

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