Norman Feske
4da52517c1
Simpify startup of dynamically linked binaries
...
This patch removes the component_entry_point library, which used to
proved a hook for the libc to intercept the call of the
'Component::construct' function. The mechansim has several shortcomings
(see the discussion in the associated issue) and was complex. So we
eventually discarded the approach in favor of the explicit handling of
the startup.
A regular Genode component provides a 'Component::construct' function,
which is determined by the dynamic linker via a symbol lookup.
For the time being, the dynamic linker falls back to looking up a 'main'
function if no 'Component::construct' function could be found.
The libc provides an implementation of 'Component::construct', which
sets up the libc's task handling and finally call the function
'Libc::Component::construct' from the context of the appllication task.
This function is expected to be provided by the libc-using application.
Consequently, Genode components that use the libc have to implement the
'Libc::Component::construct' function.
The new 'posix' library provides an implementation of
'Libc::Component::construct' that calls a main function. Hence, POSIX
programs that merely use the POSIX API merely have to add 'posix' to the
'LIBS' declaration in their 'target.mk' file. Their execution starts at
'main'.
Issue #2199
2017-01-13 13:06:52 +01:00
..
2016-08-29 17:23:20 +02:00
2016-11-30 13:37:03 +01:00
2014-05-14 16:08:00 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2016-05-09 13:09:55 +02:00
2014-05-27 11:14:42 +02:00
2016-05-23 15:49:56 +02:00
2016-11-08 15:26:28 +01:00
2014-05-27 11:14:45 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-14 16:08:00 +02:00
2014-05-27 11:14:42 +02:00
2014-05-14 16:08:00 +02:00
2014-05-27 11:14:42 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-27 11:14:42 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-27 11:14:42 +02:00
2014-05-14 16:08:00 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-08-26 11:00:13 +02:00
2014-05-27 11:14:42 +02:00
2016-05-23 15:52:38 +02:00
2016-03-17 17:02:04 +01:00
2015-01-20 11:23:52 +01:00
2014-05-27 11:14:42 +02:00
2016-11-08 15:26:31 +01:00
2016-11-08 15:26:31 +01:00
2016-11-08 15:26:31 +01:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2016-05-23 15:52:35 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-10-10 13:02:28 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2016-05-09 13:09:56 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2016-06-28 11:09:25 +02:00
2016-03-17 17:02:04 +01:00
2016-05-23 15:49:56 +02:00
2015-05-26 09:39:52 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-14 16:08:00 +02:00
2014-05-27 11:14:42 +02:00
2016-05-23 15:49:56 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2016-05-23 15:49:56 +02:00
2016-03-17 17:02:04 +01:00
2015-12-10 13:16:29 +01:00
2014-08-22 16:16:41 +02:00
2016-05-23 15:52:38 +02:00
2016-11-08 15:26:28 +01:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2016-08-29 17:29:37 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2016-03-17 17:02:04 +01:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2016-11-08 15:26:29 +01:00
2017-01-13 13:06:52 +01:00
2014-05-14 16:08:00 +02:00
2014-05-27 11:14:42 +02:00
2016-02-05 10:47:43 +01:00
2016-02-05 10:47:43 +01:00
2016-12-14 11:22:28 +01:00
2014-05-14 16:08:00 +02:00
2016-11-25 15:27:26 +01:00
2014-05-14 16:08:00 +02:00
2014-08-22 16:16:40 +02:00
2014-08-22 16:16:40 +02:00
2014-08-22 16:16:40 +02:00
2014-08-22 16:16:40 +02:00
2014-05-14 16:08:00 +02:00
2015-03-13 12:17:23 +01:00
2014-05-14 16:08:00 +02:00
2014-08-22 16:16:40 +02:00
2014-05-14 16:08:00 +02:00
2014-08-22 16:16:40 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-08-22 16:16:40 +02:00
2015-11-09 13:17:56 +01:00
2014-06-26 10:57:25 +02:00
2014-05-14 16:08:00 +02:00
2014-08-22 16:16:40 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-08-22 16:16:40 +02:00
2015-03-19 08:57:20 +01:00
2014-08-22 16:16:40 +02:00
2014-05-14 16:08:00 +02:00
2014-08-22 16:16:40 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2015-05-26 09:39:52 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2015-03-13 12:17:23 +01:00
2014-05-14 16:08:00 +02:00
2014-08-22 16:16:40 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-08-22 16:16:40 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-08-22 16:16:40 +02:00
2015-03-13 12:17:23 +01:00
2014-05-27 11:14:42 +02:00
2016-03-17 17:02:04 +01:00
2014-11-12 14:44:17 +01:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2014-05-27 11:14:42 +02:00
2015-05-26 09:39:49 +02:00
2014-05-27 11:14:42 +02:00
2014-05-14 16:08:00 +02:00
2014-05-14 16:08:00 +02:00
2014-11-12 14:44:15 +01:00
2014-08-26 11:00:13 +02:00
2015-05-26 09:39:51 +02:00
2014-05-27 11:14:42 +02:00