Commit Graph

1089 Commits

Author SHA1 Message Date
3757fa0c7d New VFS plugin for emulating POSIX pipes
Add a new plugin for creating pipes between pairs of VFS handles. It is
intended to replace the libc_pipe plugin, one of the last remaining libc
plugins.

In contrast to the libc_pipe plugin, this plugin defers cross-handle
notification until I/O signal handling rather than block and unblock
readers using a semaphore. This is a performance regression in the case
of multiple threads blocking on a pipe, but shall be an intermediate
mechanism pending renovations within the libc VFS and threading layers.
As a side effect, threads blocked on a pipe might not be resumed until
the main thread suspends and dispatches I/O signals.

The "test-libc_pipe" test has been adjusted to use the VFS pipe plugin
and tests both local pipes and pipes hosted remotely in the VFS server.

Fix #2303
2019-06-04 19:09:45 +02:00
efe39ab077 Add write completion loop to VFS server and libc
Loop at the VFS server and libc VFS plugin on partial writes. This
implies that the VFS server will not process successive packets for an
open node until a write packet has been processed completely. The libc
will now supspend and reissue write requests to the VFS until the write
has been submitted completely.

Ref #2303
Fix #2971
2019-06-04 18:22:48 +02:00
f6d22088f2 hashes 2019-06-04 18:18:20 +02:00
04f83b22a4 Merge remote-tracking branch 'genodelabs/staging' into staging 2019-06-03 09:54:59 +02:00
Josef Söntgen
178080cf26 libc: silence noncritical dummy implementations
* isatty

  For the moment it is not possible to determine if the fd belongs to a
  tty. For whatever reasons, the check is done multiple times, e.g.
  'tclsh', which will spam the LOG.

* sysctl(HW_FLOATINGPT)

  FPU is enabled on all our platforms, so return true.

Fixes #3389.
2019-05-29 14:22:25 +02:00
2027d9b4d3 Remove libc_terminal
Fix #3378
2019-05-29 14:19:04 +02:00
Christian Prochaska
336704ce6b libports: ncurses: disable relative cursor movement
Fixes #3380
2019-05-29 14:19:04 +02:00
cf5230d4ba Add note on PCAP dump to run/fetchurl.inc
Ref #3388
2019-05-29 14:19:04 +02:00
74e17bd0cf VFS lwIP: restart DHCP with link-state changes
Start and stop the DHCP state machine as the Nic link-state changes.
Invoke the link state handler during configuration rather than assume
that in the case of a downed link lwIP will defer DHCP until the link
comes up.

Additionally, support static DNS configuration via the "nameserver"
configuration attribute.

Fix #3388
2019-05-29 14:19:04 +02:00
df040e5dd6 hashes 2019-05-29 13:35:30 +02:00
91d0e521a5 Merge commit '1823d37' into staging 2019-05-29 13:27:04 +02:00
Christian Helmuth
2b183f9497 depot: update recipe hashes 2019-05-29 10:20:52 +02:00
Sebastian Sumpf
4b72bbaa57 libc: mktime signed overflow
issue #3289
2019-05-29 10:20:52 +02:00
de2ba3d8de Merge branch 'staging' of github.com:genodelabs/genode into staging 2019-05-29 09:53:55 +02:00
Christian Helmuth
fdfaccbcec depot: update recipe hashes 2019-05-28 15:53:11 +02:00
Christian Helmuth
c5d9348e20 fixup "libc: mktime signed overflow" (test by cnuke) 2019-05-28 15:53:11 +02:00
Sebastian Sumpf
19b3494bd0 libc: mktime signed overflow
issue #3289
2019-05-28 15:53:11 +02:00
Christian Helmuth
6c42bd4dd3 libc: use non-anonymous 'operator new' and destroy()
This removes implementations of and also references to anonymous new and
delete operators from the libc implementation. As allocators for
new/delete Libc::Allocator instances are used, which (paradoxically) map
to libc malloc/free.
2019-05-27 14:52:53 +02:00
Johannes Kliemann
35b1440c97 ada-runtime: update to GCC 8.3.0
ref #3362
fixes #3371
2019-05-27 14:52:53 +02:00
Martin Stein
ba9ffc6243 nic_dump: do not depend on libports repo
Fixes #3372
2019-05-27 14:52:52 +02:00
Christian Helmuth
96b29c6f8a Update lwip_lx test (vfs plugin, ld="no") 2019-05-27 14:52:52 +02:00
Christian Prochaska
b4649d84ee ada-runtime: adjustments for Genode tool chain 19.05
Issue #3307
2019-05-27 14:52:52 +02:00
Christian Prochaska
eb4d431e76 stdcxx: update to version 8.3.0
Issue #3307
2019-05-27 14:52:52 +02:00
Christian Prochaska
8e2e4374f5 sanitizer: update to version 8.3.0
Issue #3307
2019-05-27 14:52:52 +02:00
Christian Prochaska
720919bc14 gcov: update to version 8.3.0
Issue #3307
2019-05-27 14:52:52 +02:00
Sebastian Sumpf
a71253fa58 ieee754: adjust to libc/libm update
* Adjust expected pow(-1/1, inf/-inf/nan) output to current libm
  behavior (as in FreeBSD, glibc, and OpenLibm) and return 1 on
  x86_64/x86_32/arm

* Add 'double float' outputs for ARM which are defined to float

issue #3289
2019-05-27 14:46:54 +02:00
863654d188 Libc: update port to Freebsd 12
Fix #3289
2019-05-27 14:46:53 +02:00
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 #3289
2019-05-27 14:46:53 +02:00
Alexander Boettcher
c6ec2c1dd7 libc_terminal plugin: increase stack
Issue #3111
2019-05-27 14:46:53 +02:00
Christian Helmuth
0777d16e78 Revert "ieee754: disable test for muen (fix #3305)"
This reverts commit 918b9a9fa4.

The Muen debug console buffer was increased by the recent update, which
alleviates the issue with many log messages as in the ieee754 test.
2019-05-27 14:46:53 +02:00
Josef Söntgen
c8c354d1e6 fetchurl: add progress timeout handling
The component will now abort an ongoing download attempt if it stalls
for given amount of time, the default is 10 seconds.

Fixes #3346.
2019-05-27 14:46:52 +02:00
Christian Prochaska
4e6216bced libports: fix 'qt5_webcore' compile error with GCC 8.3.0
Fixes #3345
2019-05-27 14:46:52 +02:00
Christian Prochaska
5b232df503 libports: fix 'solo5' compile error with GCC 8.3.0
Fixes #3344
2019-05-27 14:46:52 +02:00
be6b08ddce hashes 2019-05-27 11:18:53 +02:00
cd86ca405c hashes 2019-05-24 18:10:50 +02:00
32b63cd65d hashes 2019-05-24 18:10:49 +02:00
ee0394af66 hashes 2019-05-24 18:10:49 +02:00
d89fed7d70 hashes 2019-05-24 18:10:49 +02:00
546160cf62 hashes 2019-05-24 18:10:49 +02:00
8d28df7623 hashes 2019-05-24 18:10:48 +02:00
5e54badbb6 hashes 2019-05-24 18:10:48 +02:00
681ce1ca46 hashes 2019-05-24 18:10:47 +02:00
2b900bff92 hashes 2019-05-24 18:10:47 +02:00
783c253c6b fixup! Libc update (revert libc_terminal changes)
Leave the libc_terminal plugin as it is.

Ref #3289
2019-05-24 17:34:34 +02:00
1823d37956 Remove libc_terminal
Fix #3378
2019-05-24 17:27:42 +02:00
d8ec859765 fixup! Libc: update port to Freebsd 12 (resume pending "poll")
Ref #3289
2019-05-24 10:12:52 +02:00
Christian Helmuth
f3b9bcd970 fixup "Libc update" (warning RNG device) 2019-05-23 17:09:15 +02:00
5ba0092b97 fixup! Libc update (RNG device)
Provide implementations of getentropy and getrandom using a RNG device
file configured via "<config><libc rng="..."/></config>".

Ref #3289
2019-05-23 17:01:01 +02:00
Josef Söntgen
f85967d426 fixup 'Libc: update port to Freebsd 12' (minherit)
Issue #3289.
2019-05-23 16:04:22 +02:00
Josef Söntgen
59c86ef56c fixup 'Libc: update port to Freebsd 12' (DUPFD_CLOEXEC)
Issue #3289.
2019-05-23 16:04:17 +02:00