genode/repos/libports/lib/symbols
Norman Feske 852ab79359 Move atexit handling from base lib to libc
This patch untangles the interplay of the base library and the libc
during the exit handling.

- The CXA ABI for the atexit handling is now provided by the libc.
  For plain Genode components without libc dependency, __cxa_atexit
  is a no-op, which is consistent with Genode's notion of components.

- The 'abort' implementation of the base library no longer calls
  'genode_exit' but merely 'sleep_forever'. This way, the cxx library
  no longer depends on a 'genode_exit' implementation.

- The libc provides 'atexit' support by storing metadata on the
  libc kernel's heap now, thereby eliminating the former bounded
  maximum number of atexit handlers.

- Shared-library dtors are no longer called via the atexit mechanism
  by explicitly by the dynamic linker. This slightly changes the
  call order of destructors (adjustment of the ldso test). Functions
  marked as destructors are called after the atexit handlers now.

- The libc executes atexit handlers in the application context,
  which supports the I/O operations in those handles, in particular
  the closing of file descriptors.

Fixes #3851
2020-08-25 11:50:09 +02:00
..
curl libports: ABI for curl 2017-12-21 15:01:42 +01:00
drm depot: drm recipe 2018-05-03 15:31:20 +02:00
egl depot: mesa recipe 2018-05-03 15:31:53 +02:00
expat depot: expat recipe 2018-05-03 15:31:20 +02:00
freetype Rename app/mupdf to app/pdf_view, create depot recipes 2017-11-30 11:23:10 +01:00
gmp libports: update gmp from 4.3.2 to 6.1.2 2019-11-19 14:45:39 +01:00
icu depot: icu recipe 2018-05-03 15:31:54 +02:00
jbig2dec Rename app/mupdf to app/pdf_view, create depot recipes 2017-11-30 11:23:10 +01:00
jpeg Rename app/mupdf to app/pdf_view, create depot recipes 2017-11-30 11:23:10 +01:00
libarchive depot: recipes for src/extract and used libs 2018-02-09 13:34:13 +01:00
libc stdcxx: enable thread features 2020-08-25 11:49:45 +02:00
libcrypto Add more features and symbols to libcrypto 2019-03-18 15:56:23 +01:00
libiconv libports: libiconv ABI 2017-10-05 17:40:01 +02:00
liblzma depot: recipes for src/extract and used libs 2018-02-09 13:34:13 +01:00
libm Port of OpenLibm 2019-05-27 14:46:53 +02:00
libpng Update libpng to version 1.6.36 2019-02-12 10:33:14 +01:00
libqgenodeviewwidget qt5: build Qt libraries and applications with qmake 2020-07-03 13:48:55 +02:00
libqpluginwidget qt5: build Qt libraries and applications with qmake 2020-07-03 13:48:55 +02:00
libsanitizer_common Move atexit handling from base lib to libc 2020-08-25 11:50:09 +02:00
libsparkcrypto Port libsparkcrypto 2019-03-18 15:56:23 +01:00
libssh libports: update libssh to 0.8.4 2018-10-29 09:36:22 +01:00
libssl libports: update OpenSSL to 1.0.2q 2019-01-07 12:33:54 +01:00
libubsan sanitizer: update to version 8.3.0 2019-05-27 14:52:52 +02:00
mesa depot: mesa recipe 2018-05-03 15:31:53 +02:00
mpc Genode toolchain depot package 2018-11-27 11:38:13 +01:00
mpfr libports: update mpfr to 4.0.2 2019-11-19 14:45:39 +01:00
mupdf Rename app/mupdf to app/pdf_view, create depot recipes 2017-11-30 11:23:10 +01:00
ncurses abi: remove duplicates and internal symbols, fix sizes 2018-01-17 12:14:42 +01:00
openjpeg Rename app/mupdf to app/pdf_view, create depot recipes 2017-11-30 11:23:10 +01:00
pcre depot: recipe for pcre library 2017-11-06 13:57:23 +01:00
pcre16 depot: pcre16 recipe 2018-05-03 15:31:19 +02:00
posix posix ABI: require 'main' symbol 2018-02-09 13:34:20 +01:00
qt5_component qt5: build Qt libraries and applications with qmake 2020-07-03 13:48:55 +02:00
spark ada-runtime: add s-expint.ad* 2020-08-25 11:50:09 +02:00
stdcxx stdcxx: enable thread features 2020-08-25 11:49:45 +02:00
zlib Support read-only data symbols in ABI 2017-10-05 17:40:04 +02:00