81 Commits

Author SHA1 Message Date
Christian Prochaska
597098845c libc: support pthread cleanup handlers
Fixes 
2020-02-20 12:08:16 +01:00
Christian Helmuth
ff5175ec76 libc: synchronization primitives based on monitor
The libc monitor facility enables the execution of monitor jobs by the
main thread when the monitor pool was charged. In comparison to the
current suspend/resume_all mechanism the main thread iterates over all
job functions in contrast to waking up all threads to check their
conditions by themselves. Threads are only woken up if the completion
condition was met.

This commit is the result of a collaboration with Christian Prochaska.
Many thanks for your support, Christian.

Fixes 
2020-02-10 14:21:47 +01:00
Christian Prochaska
be1ef01f10 stdcxx: add symbols needed by dosbox
Fixes 
2019-12-19 17:01:42 +01:00
Sebastian Sumpf
db18fc42fe libports: update mpfr to 4.0.2
issue 
2019-11-19 14:45:39 +01:00
Sebastian Sumpf
31a035a907 libports: update gmp from 4.3.2 to 6.1.2
issue 
2019-11-19 14:45:39 +01:00
Christian Helmuth
43f28e0451 stdcxx: add more missing symbols to ABI
Fixes 
2019-11-19 14:42:22 +01:00
Norman Feske
648bcd1505 libc: unify use of namespaces
This patch unifies the patterns of using the 'Genode' and 'Libc'
namespaces.

Types defined in the 'internal/' headers reside in the 'Libc'
namespace. The code in the headers does not need to use the
'Libc::' prefix.

Compilation units import the 'Libc' namespace after the definition of
local types. Local types reside in the 'Libc' namespace (and should
eventually move to an 'internal/' header).

Since the 'Libc' namespace imports the 'Genode' namespace, there is
no need to use the 'Genode::' prefix. Consequently, code in the
compilation units rarely need to qualify the 'Genode' or 'Libc'
namespaces.

There are a few cases where the 'Libc', the 'Genode', and the global
(libc) namespaces are ambigious. In these cases, an explicit
clarification is needed:

- 'Genode::Allocator' differs from 'Libc::Allocator'.
- 'Genode::Env' differs from 'Libc::Env'.
- Genode's string functions (strcmp, memcpy, strcpy) conflict
  with the names of the (global) libc functions.
- There exist both 'Genode::uint64_t' and the libc'c 'uint64_t'.

Issue 
2019-11-19 14:10:55 +01:00
Emery Hemingway
36111a2edf Libc: implement getifaddrs
Implement getifaddrs and freeifaddrs within the libc using socket
control files at the VFS. Add an "address" and "netmask" file to the
lwIP plugin.

Only a single IPv4 address is initially supported, and the broadcast
address returned will never be valid.

Fixes 
2019-09-02 16:36:07 +02:00
Christian Prochaska
d00cfd7cff stdcxx: add missing symbol for qt5 update
Fixes 
2019-08-28 14:22:33 +02:00
Johannes Kliemann
1bdd18a196 ada-runtime: update to 1.1 2019-08-21 13:25:25 +02:00
Christian Prochaska
35c724512d stdcxx: revert '_ZTISt16invalid_argument' symbol type to 'V'
Issue 
2019-08-21 12:37:01 +02:00
Sebastian Sumpf
59347d2560 stdcxx: make linkable for ARM 64-Bit
'typeinfo for std::invalid_argument' was not found when using 'V' (weak
object)

issue 
2019-07-09 08:55:23 +02:00
Johannes Kliemann
35b1440c97 ada-runtime: update to GCC 8.3.0
ref 
fixes 
2019-05-27 14:52:53 +02:00
Christian Prochaska
b4649d84ee ada-runtime: adjustments for Genode tool chain 19.05
Issue 
2019-05-27 14:52:52 +02:00
Christian Prochaska
eb4d431e76 stdcxx: update to version 8.3.0
Issue 
2019-05-27 14:52:52 +02:00
Christian Prochaska
8e2e4374f5 sanitizer: update to version 8.3.0
Issue 
2019-05-27 14:52:52 +02:00
Emery Hemingway
863654d188 Libc: update port to Freebsd 12
Fix 
2019-05-27 14:46:53 +02:00
Emery Hemingway
777d92f6de Port of OpenLibm
Replace the FreeBSD libm with OpenLibm, which is easier to port.
OpenLibm is used by Mirage's freestanding Ocaml runtime (sin POSIX).

https://openlibm.org/

Ref 
2019-05-27 14:46:53 +02:00
Christian Helmuth
9948a77558 spark: provide rcheck symbols in ABI 2019-04-09 12:30:35 +02:00
Alexander Senier
4c8d787918 Port libsparkcrypto 2019-03-18 15:56:23 +01:00
Emery Hemingway
127e5a2726 Add more features and symbols to libcrypto
Fix 
2019-03-18 15:56:23 +01:00
Alexander Senier
f30a82d599 ada: provide runtime symbols for elaboration code 2019-02-28 11:32:53 +01:00
Josef Söntgen
5bab5f4cca libc: extent vbox specific pthread_create API
Make it possible to adopt normal Genode::Threads for use within in a
pthread environment.

Issue .
2019-02-19 11:12:13 +01:00
Alexander Senier
5ccae43552 Rename Ada runtime to SPARK runtime
The minimal-footprint Ada runtime for implementing library-like
functionality in SPARK is now called "spark" runtime.

The full Ada runtime for entire components written in Ada and using the
libc as glue to the underlying system will move to the world repository
as "ada" runtime.

Issue 
2019-02-19 11:08:17 +01:00
Emery Hemingway
13268ec401 Update libpng to version 1.6.36
Fix 
2019-02-12 10:33:14 +01:00
Alexander Senier
14cd115c82 Support GNAT.IO in Ada programs 2019-01-14 12:21:10 +01:00
Norman Feske
39085f08fc Move libav, avplay, and qt_avplay to genode-world
Fixes 
2019-01-07 12:43:37 +01:00
Norman Feske
a15b825418 Move libsdl and companion libs to genode-world
Fixes 
2019-01-07 12:43:37 +01:00
Josef Söntgen
c58ad11f2f libports: update OpenSSL to 1.0.2q
And enable SSL_CONF_* in libssl, needed by lighttpd's mod_openssl.

Issue .
2019-01-07 12:33:54 +01:00
Christian Prochaska
c2884a6e63 libports: libubsan and libsanitizer_common
Issue 
2019-01-07 12:33:54 +01:00
Christian Helmuth
8236a18260 Revert "Use strictly-typed Microseconds for Libc timeout scheduling"
This reverts commit 4808565a28afe9ff248fb5c98aceb6f8d3e791c1.
2019-01-07 12:25:44 +01:00
Emery Hemingway
8a3b0ebea9 Use strictly-typed Microseconds for Libc timeout scheduling
Fix 
2019-01-07 12:25:42 +01:00
Emery Hemingway
7a11384177 Merge pthread into libc library
The pthread API is considered a standard feature of libc so better to
simply merge it with the libc. Pthreads are in fact already a part of
the libc in the form of weak symbols. This merger is also a prerequisite
for better integrating pthreads with the libc I/O task.

Fix 
2018-11-29 11:46:01 +01:00
Emery Hemingway
18e855e4d5 Genode toolchain depot package
Fix 
2018-11-27 11:38:13 +01:00
Martin Stein
0c60b312be liports/recipes: api/ and src/python 2018-11-16 15:07:53 +01:00
Emery Hemingway
bc539ce892 Native Solo5 bindings
A shared library implementation of the unikernel middleware.

https://github.com/Solo5/solo5

Fix 
2018-11-16 15:07:52 +01:00
Martin Stein
ebdb3c4c32 ada lib: prepare for creation of packages 2018-11-16 14:37:19 +01:00
Josef Söntgen
9ab288d8e3 libports: update libssh to 0.8.4
Issue .
2018-10-29 09:36:22 +01:00
Emery Hemingway
874ba409ca Libc: single-user getpwent implementation
Implement the passwd database subroutines with single-user database.
This database is populated with a <passwd/> sub-node of the libc
configuration node. All fields of the "passwd" struct may be specified
with reasonable defaults provided for a "root" user. This allows a
libc-based component to spoof user information for the sake of porting
existing Unix software.

A test is provided at run/libc_getpwent.

Fix 
2018-09-13 15:21:10 +02:00
Johannes Schlatow
4ae47c3f38 libc: add clock_getres (required by python 3) 2018-06-29 10:44:56 +02:00
Christian Helmuth
a6e0fdd505 libc: support syscall(SYS_thr_self,...)
This syscall returns the thread ID / light-weight PID of the calling
thread under FreeBSD.

Issue 
2018-05-30 13:36:07 +02:00
Sebastian Sumpf
8605e15b4f libc: add suspend and resume_all to symbol map
This commit enables the pthread library to hook into the libc execution
model and can be reverted after  is fixed.

Issue 
2018-05-30 13:36:05 +02:00
Christian Prochaska
f347cb90f1 depot: qt5 recipes
Fixes 
2018-05-30 12:26:19 +02:00
Christian Prochaska
cbdeb41094 depot: icu recipe
Fixes 
2018-05-03 15:31:54 +02:00
Christian Prochaska
be8addc608 depot: mesa recipe
Fixes 
2018-05-03 15:31:53 +02:00
Christian Prochaska
b2935b504d depot: drm recipe
Fixes 
2018-05-03 15:31:20 +02:00
Christian Prochaska
1d6301c689 depot: expat recipe
Fixes 
2018-05-03 15:31:20 +02:00
Christian Prochaska
4aefa395af depot: pcre16 recipe
Fixes 
2018-05-03 15:31:19 +02:00
Alexander Senier
ac42670a0e Add fstatfs to libc ABI symbols
Fixes 
2018-03-29 14:59:05 +02:00
Christian Helmuth
f2b9a6238c stdcxx: std::istream::ignore support 2018-03-27 13:43:08 +02:00