]> xenbits.xensource.com Git - unikraft/libs/compiler-rt.git/log
unikraft/libs/compiler-rt.git
4 months ago.github/workflows: Introduce catalog tests stable staging RELEASE-0.18.0
Cezar Craciunoiu [Fri, 12 Apr 2024 14:07:30 +0000 (17:07 +0300)]
.github/workflows: Introduce catalog tests

Signed-off-by: Cezar Craciunoiu <cezar.craciunoiu@gmail.com>
Reviewed-by: Razvan Deaconescu <razvand@unikraft.io>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
GitHub-Closes: #20

18 months agoIntroduce `Library.uk` RELEASE-0.15.0 RELEASE-0.16.0
Alexander Jung [Tue, 11 Jul 2023 21:25:56 +0000 (21:25 +0000)]
Introduce `Library.uk`

This new file represents the first step towards proper versioning support of
external microlibrary in Unikraft.  The file itself acts as mechanism for
holding metadata-only values about the microlibrary.  This metadata is designed
to be compatible with GNU Make whilst simultaneously being human-readable and
readable by programs that are not GNU Make (e.g. tools such as KraftKit).

An important feature of this file is the inclusion of microlibrary versions.
In a later step, once relevant integrations have been made to Unikrat's core
build system and to relevant tools such as KraftKit, the user will be able to
see and select from different versions of the microlibrary.

In this initial commit, the relevant metadata is absorbed from both Makefile.uk,
Config.uk, but also includes new information such as SPDX License identifier.

Signed-off-by: Alexander Jung <alex@unikraft.io>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Reviewed-by: Razvan Deaconescu <razvand@unikraft.io>
GitHub-Closes: #15

20 months agoMakefile.uk: Remove redundant check for libunwind RELEASE-0.14.0
Andrei Tatar [Mon, 7 Aug 2023 16:39:50 +0000 (18:39 +0200)]
Makefile.uk: Remove redundant check for libunwind

Commit b5b1cf8 (Split off functionality that depends on libunwind)
removed the cyclic dependency between libunwind and libcompiler-rt and
correctly expressed the relationship through Kconfig, making the
build-time check for libunwind in Makefile.uk redundant.
This change removes said redundant check.

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Reviewed-by: Eduard Vintilă <eduard.vintila47@gmail.com>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #19

20 months agoSplit off functionality that relies on libm
Andrei Tatar [Tue, 25 Jul 2023 14:39:21 +0000 (16:39 +0200)]
Split off functionality that relies on libm

Previously some parts of compiler-rt depended on functions provided by a
math library, commonly supplied together with a real libc.
This change sections off the parts dependent on libm, allowing a minimal
compiler-rt to be built with nolibc alone.

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #18

20 months agoSplit off functionality that depends on libunwind
Andrei Tatar [Wed, 24 May 2023 13:45:44 +0000 (16:45 +0300)]
Split off functionality that depends on libunwind

Previously lib-compiler-rt depended on libunwind as it pulled in
<unwind.h>; this dependency however is isolated in gcc_personality_v0.c.
This change makes gcc personality an optional part of lib-compiler-rt,
allowing it to be built without an entire supporting C++ runtime.

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Reviewed-by: Eduard Vintilă <eduard.vintila47@gmail.com>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #14

20 months agoConfig.uk: Remove hard select of UKMMAP
Andrei Tatar [Wed, 12 Jul 2023 09:43:11 +0000 (11:43 +0200)]
Config.uk: Remove hard select of UKMMAP

Replace the hard `select' on UKMMAP with an `imply', so one can select
alternative mmap implemenations.

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #16

23 months agoBring back the fix for GCC atomic builtins
Andrei Tatar [Wed, 24 May 2023 10:45:17 +0000 (13:45 +0300)]
Bring back the fix for GCC atomic builtins

Commit d53cbfe6035f ("Update to LLVM 14.0.6") removed the patch that
adapts atomic.c to use GCC builtins instead of clang, however its
functionality is still required.
This change brings back this functionality in a cleaner and more
future-proof way, by providing a header that implements clang builtins
in terms of GCC ones.

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com>
Reviewed-by: Razvan Deaconescu <razvand@unikraft.io>
Approved-by: Eduard Vintilă <eduard.vintila47@gmail.com>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #12

23 months agoAdd compiler dependency to some warnings
Marco Schlumpp [Fri, 12 May 2023 09:30:53 +0000 (11:30 +0200)]
Add compiler dependency to some warnings

Clang and GCC support a different set of warnings.

Signed-off-by: Marco Schlumpp <marco@unikraft.io>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com>
Reviewed-by: Razvan Deaconescu <razvand@unikraft.io>
Approved-by: Eduard Vintilă <eduard.vintila47@gmail.com>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #12

23 months agoUpdate to LLVM 14.0.6
Andrei Tatar [Fri, 5 May 2023 19:20:40 +0000 (21:20 +0200)]
Update to LLVM 14.0.6

Co-authored-by: Marco Schlumpp <marco@unikraft.io>
Signed-off-by: Marco Schlumpp <marco@unikraft.io>
Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com>
Reviewed-by: Razvan Deaconescu <razvand@unikraft.io>
Approved-by: Eduard Vintilă <eduard.vintila47@gmail.com>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #12

23 months agoMakefile.uk: Group and sort library sources
Andrei Tatar [Fri, 5 May 2023 19:16:02 +0000 (21:16 +0200)]
Makefile.uk: Group and sort library sources

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com>
Reviewed-by: Razvan Deaconescu <razvand@unikraft.io>
Approved-by: Eduard Vintilă <eduard.vintila47@gmail.com>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #12

2 years agoAdd lib-libunwind as a dependency for lib-compiler-rt RELEASE-0.11.0 RELEASE-0.12.0 RELEASE-0.13.0 RELEASE-0.13.1
Delia-Maria Pavel [Sat, 10 Sep 2022 13:58:25 +0000 (16:58 +0300)]
Add lib-libunwind as a dependency for lib-compiler-rt

Signed-off-by: Delia-Maria Pavel <delia_maria.pavel@stud.acs.upb.ro>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Reviewed-by: Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Reviewed-by: Sergiu Moga <sergiu.moga@protonmail.com>
Approved-by: Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #8

2 years agoConfig.uk: Add LIBUKMMAP dependency
Razvan Deaconescu [Sun, 28 Aug 2022 17:16:29 +0000 (20:16 +0300)]
Config.uk: Add LIBUKMMAP dependency

`mprotect()` is required and it is part of the `ukmmap` internal
Unikraft library. Add required dependency to `Config.uk`.

Signed-off-by: Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com>
Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com>
Approved-by: Marc Rittinghaus <marc.rittinghaus@kit.edu>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #5

3 years agoCorrect license headers introduced by University Politehnica of Bucharest RELEASE-0.10.0 RELEASE-0.6 RELEASE-0.7.0 RELEASE-0.8.0 RELEASE-0.9.0
Simon Kuenzer [Tue, 13 Jul 2021 19:11:48 +0000 (21:11 +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:
 64d5663 - Initial port of compiler-rt 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>
3 years agoConfig: Remove leading whitespace in comment
Razvan Deaconescu [Sat, 1 May 2021 09:21:10 +0000 (12:21 +0300)]
Config: Remove leading whitespace in comment

Signed-off-by: Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Reviewed-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@upb.ro>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Pull-Request: #2

3 years agoConfig: Rename POSIX sysinfo dependency
Razvan Deaconescu [Sat, 1 May 2021 09:20:10 +0000 (12:20 +0300)]
Config: Rename POSIX sysinfo dependency

Rename `UKSYSINFO` to `LIBPOSIX_SYSINFO`.

Signed-off-by: Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Reviewed-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@upb.ro>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Pull-Request: #2

5 years agoAdd clrsbdi2 needed by tensorflowlite RELEASE-0.5
George Muraru [Wed, 15 Apr 2020 06:15:58 +0000 (09:15 +0300)]
Add clrsbdi2 needed by tensorflowlite

Signed-off-by: George Muraru <murarugeorgec@gmail.com>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoAdd suppress flag for cleaner build. RELEASE-0.4
Felipe Huici [Thu, 13 Feb 2020 20:42:40 +0000 (21:42 +0100)]
Add suppress flag for cleaner build.

Signed-off-by: Felipe Huici <felipe.huici@neclab.eu>
Reviewed-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
5 years agoAdd ARM64 support
Vlad-Andrei BĂDOIU (78692) [Tue, 14 Jan 2020 16:08:19 +0000 (16:08 +0000)]
Add ARM64 support

This patch makes the minimum amount of changes needed to support ARM64.
We now compile the cpu_model.c source file only for x86-64.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoRemove exportsyms.uk
Vlad-Andrei BĂDOIU (78692) [Fri, 1 Nov 2019 12:12:16 +0000 (12:12 +0000)]
Remove exportsyms.uk

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoEnable the libatomic implementation
Vlad-Andrei BĂDOIU (78692) [Wed, 30 Oct 2019 23:06:39 +0000 (23:06 +0000)]
Enable the libatomic implementation

compiler-rt contains an implementation of an atomics library. We provide
a config option for to enable this implementation.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoAdd __mulsc3 to exportsyms.uk
Vlad-Andrei BĂDOIU (78692) [Fri, 18 Oct 2019 11:01:04 +0000 (11:01 +0000)]
Add __mulsc3 to exportsyms.uk

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoMakefile.uk: Rename SUPPRESS_FLAGS to LIBCOMPILER_RT_SUPPRESS_FLAGS
Costin Lupu [Sat, 12 Oct 2019 12:25:42 +0000 (15:25 +0300)]
Makefile.uk: Rename SUPPRESS_FLAGS to LIBCOMPILER_RT_SUPPRESS_FLAGS

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoExport __udivti3 symbol
Felipe Huici [Tue, 17 Sep 2019 12:01:35 +0000 (14:01 +0200)]
Export __udivti3 symbol

Needed by our upcoming mbed TLS port.

Signed-off-by: Felipe Huici <felipe.huici@neclab.eu>
Reviewed-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
5 years agoExport symbols used by libgo
Costin Lupu [Wed, 21 Aug 2019 13:14:36 +0000 (16:14 +0300)]
Export symbols used by libgo

We add only the symbols needed by libgo.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoSupress unused-parameter warnings
Costin Lupu [Sun, 2 Jun 2019 13:27:43 +0000 (16:27 +0300)]
Supress unused-parameter warnings

Origin code generates "unused-parameter" warnings.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
6 years agoInitial port of compiler-rt to Unikraft
Vlad-Andrei BĂDOIU (78692) [Fri, 29 Mar 2019 00:55:17 +0000 (00:55 +0000)]
Initial port of compiler-rt to Unikraft

This is our initial port of compiler-rt to Unikraft as an external
library. The port currently requires a libc-equivalent (e.g.,
newlib), libunwind, libcxxabi and libcxx.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
6 years agoAdd .gitignore
Vlad-Andrei BĂDOIU (78692) [Fri, 29 Mar 2019 00:55:16 +0000 (00:55 +0000)]
Add .gitignore

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
6 years agoInitial commit (empty)
Vlad-Andrei Badoiu [Thu, 21 Mar 2019 15:45:11 +0000 (17:45 +0200)]
Initial commit (empty)