genode/repos/base
Piotr Tworek 58e0b24006 base: Ignore empty constructors array.
This does not affect default Genode builds as far as I can tell. There
is always at least one global static CTOR which seems to be coming from
one of the GCC runtime libs bundled in the toolchain. The problem became
visible for me only after I've replated GCC runtime with LLVM based
one. In such setup I often see binaries that do not have any static ctors.
Such binaries end up crashing Genode ld.lib.so.

Make sure the code does handle empty constructors array.

Fixes #4422
2022-02-15 10:23:58 +01:00
..
board hw: remove rpi1/3 board support 2022-01-19 12:38:12 +01:00
etc tool_chain: update gcc to version 10.3.0 2021-05-28 14:15:26 +02:00
include Consistent spelling of "writeable" 2022-02-15 10:23:58 +01:00
lib mk/ld.mk: trigger kernel-dependent ld.lib.so build 2022-02-15 10:20:59 +01:00
mk mk: don't link transitive shared-lib dependencies 2022-02-15 10:20:59 +01:00
ports imx8q_evk: remove board support from repository 2021-11-29 15:10:51 +01:00
recipes depot: cut kernel dependency from api/base 2022-02-15 10:20:59 +01:00
run usb_host_drv: move it to legacy_usb_host_drv 2022-02-15 10:23:16 +01:00
src base: Ignore empty constructors array. 2022-02-15 10:23:58 +01:00
xsd base_types.xsd: allow session labels of length 0 2018-11-16 14:37:19 +01:00
README core: add information about infos provided by core 2017-06-29 11:59:52 +02:00

This is generic part of the Genode implementation. It consists of two parts:

:_Core_: is the ultimate root of the Genode application tree
  and provides abstractions for the lowest-level hardware resources
  such as RAM, ROM, CPU, and generic device access. All generic parts of Core
  can be found here - for system-specific implementations refer to the
  appropriate 'base-<system>' directory.

:_Base libraries and protocols_: that are used by each Genode component
  to interact with other components. This is the glue that holds everything
  together.

_Core_ may export information about the hardware platform by an ROM
called 'platform_info'. Depending on the platform, e.g. ARM or x86 or riscv,
and depending on the boot mode and boot loader and kernel, some nodes may not
be populated.

!<platform_info>
! <acpi revision="2" rsdt="0x1fe93074" xsdt="0x1fe930e8"/>
! <boot>
!   <framebuffer phys="0x7300000" width="1024" height="768" bpp="32"/>
! </boot>
!</platform_info>

If the ACPI RSDT and XSDT physical pointer is reported by the used kernel
and/or bootloader, _Core_ may provide this information by the ROM.

If the graphic device is initialised and can be directly used by a framebuffer
driver, _Core_ may provide the physical pointer to the framebuffer, the
resolution and color depth in bits.