Commit Graph

1126 Commits

Author SHA1 Message Date
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
Christian Helmuth
525cbe9923 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-23 15:22:29 +02:00
Christian Helmuth
310a464397 Revert "libc: provide C++ new/delete operators"
Based on offline discussion we remove the operators from libc after all.

This reverts commit 14c2627e1e.
2019-05-23 14:48:09 +02:00
Christian Helmuth
cb598038e6 fixup: "ada-runtime: update to GCC 8.3.0" (restore fixed test string) 2019-05-23 14:43:48 +02:00
Johannes Kliemann
b5f4771c52 fixup: "ada-runtime: update to GCC 8.3.0" (exception propagation) 2019-05-23 14:43:48 +02:00
Christian Helmuth
14c2627e1e libc: provide C++ new/delete operators
A full-fledged C++ runtimes is required to implement various flavors of
the operators. We implement a subset only - see
https://en.cppreference.com/w/cpp/memory/new/operator_delete for a
complete reference.

This fixes an abort on pthread_join() with the new tool chain.
2019-05-23 12:30:18 +02:00
3e2498fe89 fixup "stdcxx: update to version 8.3.0" (symbols for OpenTTD)
Issue #3307
2019-05-23 08:11:57 +02:00
fc02b46b12 fixup! Libc update (madvise, uselocale)
Ref #3289
2019-05-22 18:10:22 +02:00
81940a4f02 fixup! Libc update (merge libm port)
Ref #3289
2019-05-22 16:20:25 +02:00
Johannes Kliemann
4a2d2b5f5c ada-runtime: update to GCC 8.3.0
ref #3362
fixes #3371
2019-05-22 15:54:32 +02:00
a88ece3cda fixup! Libc update (restore BSD4.3 signal compatibility)
Ref #3289
2019-05-22 15:45:14 +02:00
5569feed7e fixup! Libc update (arc4random, _ symbols)
Ref #3289
2019-05-22 15:19:41 +02:00
Martin Stein
4088a6640b nic_dump: do not depend on libports repo
Fixes #3372
2019-05-22 14:08:16 +02:00
Christian Prochaska
1663f642b3 fixup "stdcxx: update to version 8.3.0" (symbols for -O0)
Issue #3307
2019-05-22 09:35:56 +02:00
Christian Helmuth
7fe5739520 Update lwip_lx test (vfs plugin, ld="no") 2019-05-22 09:35:55 +02:00
Christian Prochaska
ba1c218920 fixup "stdcxx: update to version 8.3.0" (symbols for numptyphysics)
Issue #3307
2019-05-22 09:35:55 +02:00
03f3354767 fixup! Libc update (file-system symbols)
Ref #3289
2019-05-21 08:47:12 +02:00
fda3ada1f3 fixup! Libc update (Noux signals)
Ref #3289
2019-05-21 08:46:05 +02:00
6d4c060eaf fixup! Libc update (socket symbols)
Ref #3289
2019-05-21 08:44:43 +02:00
Christian Prochaska
5ba4205a63 ada-runtime: adjustments for Genode tool chain 19.05
Issue #3307
2019-05-20 12:40:51 +02:00
Christian Prochaska
37c7eed455 stdcxx: update to version 8.3.0
Issue #3307
2019-05-20 12:40:51 +02:00
Christian Prochaska
377eae37b3 sanitizer: update to version 8.3.0
Issue #3307
2019-05-20 12:40:50 +02:00
Christian Prochaska
dc51dbfbba gcov: update to version 8.3.0
Issue #3307
2019-05-20 12:40:50 +02:00
14ba1cbdbc fixup! Libc: update port to Freebsd 12 (libc_setjmp recipe)
Ref #3289
2019-05-19 14:51:37 +02:00
Josef Söntgen
bc3f4f1553 fixup 'Libc: update port to Freebsd 12' (signal dummy)
Otherwise there will be reloc error b/c wpa_supplicant's eloop is
referencing the symbol, e.g:

[init -> wifi_drv] Error: LD: jump slot relocation failed for symbol: 'signal'

Issue #3289.
2019-05-18 10:42:17 +02:00
bf2931ae8b fixup! Libc: update port to Freebsd 12 (libiconv content)
Ref #3289
2019-05-17 15:36:56 +02:00
e31501584d fixup! fixup! Libc: update port to Freebsd 12 (remove libmd from port) 2019-05-17 15:36:54 +02:00
Sebastian Sumpf
252a325907 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-17 15:00:17 +02:00
a697145233 fixup! Libc: update port to Freebsd 12 (usleep, divide-by-zero)
Ref #3289
2019-05-17 14:57:18 +02:00
3b4ee7546f fixup! Libc: update port to Freebsd 12 (e2fsprogs patch)
Ref #3289
2019-05-16 13:35:57 +02:00
Christian Helmuth
c070ae60ae fixup "Libc: update port to Freebsd 12" (ignore warnings isatty/sysctl in ieee754)
Issue #3289
2019-05-16 13:18:48 +02:00
8b2c49480b fixup! Libc: update port to Freebsd 12 (OpenVPN)
Ref #3289
2019-05-16 13:18:46 +02:00
573eaea72a Libc: update port to Freebsd 12
Fix #3289
2019-05-16 13:18:43 +02:00
a54a6bea41 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-16 13:18:40 +02:00
Christian Helmuth
ef4948058d depot: update recipe hashes 2019-05-16 13:16:49 +02:00
Alexander Boettcher
72dc2cf0f8 libc_terminal plugin: increase stack
Issue #3111
2019-05-16 13:16:48 +02:00
Christian Helmuth
a43ef319ec 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-16 13:11:57 +02:00
Christian Prochaska
e9fcbace61 libports: fix 'extract' compile errors with GCC 8.3.0
Fixes #3342
2019-05-16 13:11:03 +02:00
Josef Söntgen
799cf43d9e 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-16 13:11:03 +02:00
Christian Prochaska
9985364760 libports: fix 'qt5_webcore' compile error with GCC 8.3.0
Fixes #3345
2019-05-16 13:11:03 +02:00
Christian Prochaska
879f217168 libports: fix 'solo5' compile error with GCC 8.3.0
Fixes #3344
2019-05-16 13:11:03 +02:00
Stefan Kalkowski
da498af74e imx7d_sabre: disable automated network test
Until there is no network driver present for this board it is needless to
let the tests fail each night.
2019-05-16 13:11:01 +02:00
Stefan Kalkowski
d18d2d0d9b os: name sd_card_drv unambigously (ref #2190) 2019-05-16 13:11:01 +02:00
Stefan Kalkowski
8d1cfce15e os: name fb_drv unambigously (ref #2190) 2019-05-16 13:11:01 +02:00
Stefan Kalkowski
4550056de7 run: use drivers_interactive-* pkg where possible
Ref #2190
2019-05-16 13:11:01 +02:00
Stefan Kalkowski
bf5a631a14 dde_linux: name usb_drv unambigously
* Make package buildable for ARM too
* Move usb library to src targets for explicitly named targets
* adapt remaining run-scripts to use the correctly named usb drivers

Ref #2190
2019-05-16 13:11:00 +02:00
Stefan Kalkowski
dcc28b65cb run: use driver_nic-* pkg where possible (fix #3180) 2019-05-16 13:10:06 +02:00
Stefan Kalkowski
7c1e3c84ba os: name gpio_drv unambigously (ref #2190) 2019-05-16 12:52:59 +02:00
62a4d1de0e Remove Nim tests
Nim is now built independently of the Genode repository using an SDK and
Nimble.

Fix #3300
2019-05-16 12:52:59 +02:00
Christian Helmuth
ba51800b31 depot: update recipe hashes 2019-05-06 16:15:27 +02:00
3e848dff10 solo5: update bindings
Update the Solo5 upstream to accomadate changes to the Block session and
stack protection support in the base library.

Ref #3275
Ref #3283
2019-05-06 16:15:27 +02:00
Stefan Kalkowski
918b9a9fa4 ieee754: disable test for muen (fix #3305) 2019-05-06 16:15:26 +02:00
Martin Stein
181c78d482 timeout: use uint64_t for all plain time values
This enforces the use of unsigned 64-bit values for time in the duration type,
the timeout framework, the timer session, the userland timer-drivers, and the
alarm framework on all platforms. The commit also adapts the code that uses
these tools accross all basic repositories (base, base-*, os. gems, libports,
ports, dde_*) to use unsigned 64-bit values for time as well as far as this
does not imply profound modifications.

Fixes #3208
2019-05-06 16:15:26 +02:00
Norman Feske
e5f27b44b5 block_session: turn 'Connection' into template
As a preparatory step for introducing the new block-client API, we have
to turn the 'Block::Connection' into a class template. The template
argument will be used to tie an application-defined job type to the
block connection.

Issue #3283
2019-05-06 16:15:25 +02:00
Norman Feske
593e971121 block_session: SYNC and TRIM as async operations
This patch removes the blocking Block::Session::sync RPC function and
adds the asynchronous operations SYNC and TRIM to the block session's
packet-stream interface.

Even though the patch adjusts all block components to the interface
change, the components keep the former blocking handling of sync
internally for now because of the design of the 'Block::Driver'
interface. This old interface is not worth changing. We should instead
migrate the block servers step by step to the new
'Block::Request_stream' API.

Fixes #3274
2019-05-06 16:15:24 +02:00
Norman Feske
bbe3ee8dc5 block_session: server-defined payload alignment
This patch replaces the formerly fixed 2 KiB data alignment within the
packet-stream buffer by a server-defined alignment. This has two
benefits.

First, when using block servers that provide small block sizes like 512
bytes, we avoid fragmenting the packet-stream buffer, which occurs when
aligning 512-byte requests at 2 KiB boundaries. This reduces meta data
costs for the packet-stream allocator and also allows fitting more
requests into the buffer.

Second, block drivers with alignment constraints dictated by the
hardware can now pass those constraints to the client, thereby easing
the use of zero-copy DMA directly into the packet stream.

The alignment is determined by the Block::Session_client at construction
time and applied by the Block::Session_client::alloc_packet method.
Block-session clients should always use this method, not the 'alloc_packet'
method of the packet stream (tx source) directly. The latter merely
applies a default alignment of 2 KiB.

At the server side, the alignment is automatically checked by
block/component.h (old API) and block/request_stream.h (new API).

Issue #3274
2019-05-03 13:53:12 +02:00
Norman Feske
2208220c12 block session: remove Block::Session::Operations
This patch modernizes the 'Block::Session::info' interface. Instead of
using out parameters, the 'init' RPC function returns a compound 'Info'
object now. The rather complicated 'Operations' struct is replaced by
a 'writeable' attribute in the 'Info' object.

Fixes #3275
2019-05-03 13:53:12 +02:00
Christian Helmuth
6ea1179145 depot: update recipe hashes 2019-04-09 12:30:35 +02:00
Norman Feske
9e238d624e extract: discharge dependency from timer session
This patch removes the reliance of the extract tool from the libc's
behavior regarding the access of time and timing.

The extract tool is not expected to need time. However, unfortunately,
libarchive calls the 'time' function unconditionally. By adding a
dummy for 'time', we avoid bothering the libc, which would otherwise
need to obtain a time source.

Issue #3204
2019-04-09 12:30:35 +02:00
Norman Feske
6d11591d83 test-spark: rename number_of_bits -> object_size
In the original version, I used 'number_of_bits' because Ada's 'Size
returns the size in bits, not bytes. But the values (for objects) are
always a multiple of 8. On the C++ side, performing size checks at the
granularity of bits is just awkward. The term 'object size' is more
natural.
2019-04-09 12:30:35 +02:00
Norman Feske
ec70081258 test-ldso: refine log pattern
By adding a wildcard at the beginning of (expected) error messages, the
test.run tool becomes able to match the lines (ignoring the characters
of the color escape sequence).
2019-04-09 12:30:35 +02:00
Christian Helmuth
9948a77558 spark: provide rcheck symbols in ABI 2019-04-09 12:30:35 +02:00
Norman Feske
724761565d libsparkcrypto: don't override CUSTOM_ADA_OPT
CUSTOM_ADA_OPT must not be defined outside <build-dir>/etc/tools.conf
2019-04-09 12:30:35 +02:00
66f49e6c42 VFS lwIP: support opening a handle on the root directory
The "nameserver" file cannot be opened through a VFS File_system client
if the plugin does not support opening the parent directory of
"/nameserver", which would be "/".

Ref #3269
2019-04-09 12:30:34 +02:00