genode/repos/dde_bsd
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/audio Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
lib Skip binary files in GEN_INCLUDES 2017-02-23 15:03:28 +01:00
patches dde_bsd: update audio driver to OpenBSD 5.9 2016-05-23 15:52:51 +02:00
ports dde_bsd: update audio driver to OpenBSD 5.9 2016-05-23 15:52:51 +02:00
run Rename Linux audio driver to linux_audio_drv 2017-03-15 12:32:27 +01:00
src ldso: defer execution of static constructors 2017-03-24 16:20:04 +01:00
audio.list dde_bsd: update audio driver to OpenBSD 5.9 2016-05-23 15:52:51 +02:00
README tool: remove deprecated 'make prepare' mechanism 2016-03-17 17:02:04 +01:00

This repository contains device drivers ported from OpenBSD.

Audio
#####

The audio driver is ported from OpenBSD 5.7 and includes support for
Intel HD Audio as well as for Ensoniq AudioPCI (ES1370) compatible
soundcards. The HDA driver works on real hardware and Virtualbox
whereas the ES1370 driver is only used in Qemu.


Usage
=====

You have to prepare the contrib sources for this repository by
executing _./tool/ports/prepare_port dde_bsd_. Also you need to make
sure to add the 'dde_bsd' repository to the REPOSITORIES variable
in your 'etc/build.conf'.


Example
=======

The driver can be tested by executing the run script 'run/audio_out.run'.
This example plays a sample file in a loop. The file format is header less
two channel float 32 at 44100 Hz. You may use the 'sox' utility to create
these audio files:

! sox -c 2 -r 44100 foo.wav foo.f32