genode/repos/dde_ipxe
Christian Helmuth cb43e04691 ldso: defer execution of static constructors
Ldso now does not automatically execute static constructors of the
binary and shared libraries the binary depends on. If static
construction is required (e.g., if a shared library with constructor is
used or a compilation unit contains global statics) the component needs
to execute the constructors explicitly in Component::construct() via
Genode::Env::exec_static_constructors().

In the case of libc components this is done by the libc startup code
(i.e., the Component::construct() implementation in the libc).

The loading of shared objects at runtime is not affected by this change
and constructors of those objects are executed immediately.

Fixes #2332
2017-03-24 16:20:04 +01:00
..
include/dde_ipxe Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
lib/mk dde_ipxe: remove (non-working) pcnet driver 2016-06-28 11:09:27 +02:00
patches dde_ipxe: increase RXD and TXD for Intel NICs 2016-10-21 12:39:30 +02:00
ports dde_ipxe: increase RXD and TXD for Intel NICs 2016-10-21 12:39:30 +02:00
src ldso: defer execution of static constructors 2017-03-24 16:20:04 +01:00
README tool: remove deprecated 'make prepare' mechanism 2016-03-17 17:02:04 +01:00

This repository contains the Device Driver Environment for the
"donator OS" iPXE available from http://ipxe.org/.

For building DDE iPXE, you first need to fetch and patch the original
sources. The 'prepare_port' tool automates this task. Just issue:

! ./tool/ports/prepare_port dde_ipxe

Now, you need to include the DDE iPXE repository into your Genode
build process. Just add the path to this directory to the
'REPOSITORIES' declaration of the 'etc/build.conf' file within your
build directory, for example

! REPOSITORIES += $(GENODE_DIR)/repos/dde_ipxe

After successful build the DDE iPXE based ethernet driver is located
at 'bin/nic_drv'.