Simon Kuenzer [Tue, 13 Jul 2021 19:13:13 +0000 (21:13 +0200)]
Correct license headers introduced by University Politehnica of Bucharest
This commit removes the additional clause
"THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY"
from BSD license headers that got introduced by mistake
with the following commits: 3602034 - Initial port of libcxx to Unikraft (Vlad-Andrei BĂDOIU (78692))
On the one hand, this additional clause is redundant because
the BSD license already states that it must remain and the
copyright notice must be kept.
On the other hand, the clause freezes the file header
and prohibits future contributors from extending the
copyright notice for their contributions. This additional
clause is not part of the official BSD 3-clause.
The original author(s) or an authorized representative from
the author's affiliation consents to the change with a
`Reviewed-by` tag to this commit.
Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu> Reviewed-by: Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
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>