Felipe Huici [Tue, 28 Jan 2020 12:55:45 +0000 (13:55 +0100)]
Fix crash due to atomics on bare-metal arm64
At the moment atomic operations are working on ARM64 for KVM; however,
they are not working on baremetal on ARM64 (i.e., on the Raspberry Pi
3B+). This can be most likely be solved by enabling the caches and
setting up a compatible memory configuration. In the meantime, these
patches allow us to have functionally-equivalent non-atomic
implementations of the gcc builtins working on baremetal on ARM64.
Once the issue is fixed this workaround can be removed.
Signed-off-by: Felipe Huici <felipe.huici@neclab.eu> Reviewed-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
The latest newlib patch, 05b35a729f9, enables the definitions of the
long double math functions. This patch solves the conflicts by removng
their external definitions from libcxx.
Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro> Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
Costin Lupu [Sun, 2 Jun 2019 13:46:16 +0000 (16:46 +0300)]
Fix some of the compiling warnings
This patch removes the "unused-parameter" warnings generated by the origin code
and the multiple definition warnings for _LIBCPP_BUILDING_LIBRARY and
_LIBCPPABI_VERSION macros.
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro> Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
Costin Lupu [Sat, 1 Jun 2019 20:16:49 +0000 (23:16 +0300)]
Add features.h
When threads are enabled, cxx library includes a 'features.h' header in its
'include/__config' header from origin. The header introduced by this patch
includes the 'sys/features.h' header from newlib.
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro> Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
This is our initial port of libcxx to Unikraft as an external
library. Libc is requiered for it to work. The dependency list
should contain: ...:$(UK_LIBS)/libunwind:
$(UK_LIBS)/compiler-rt:$(UK_LIBS)/libcxxabi:$(UK_LIBS)/libcxx:
$(UK_LIBS)/newlib:...
Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro> Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>