Florian Weimer 9e78f6f6e7 Implement _dl_catch_error, _dl_signal_error in libc.so [BZ #16628]
This change moves the main implementation of _dl_catch_error,
_dl_signal_error to libc.so, where TLS variables can be used
directly.  This removes a writable function pointer from the
rtld_global variable.

For use during initial relocation, minimal implementations of these
functions are provided in ld.so.  These are eventually interposed
by the libc.so implementations.  This is implemented by compiling
elf/dl-error-skeleton.c twice, via elf/dl-error.c and
elf/dl-error-minimal.c.

As a side effect of this change, the static version of dl-error.c
no longer includes support for the
_dl_signal_cerror/_dl_receive_error mechanism because it is only
used in ld.so.
2016-11-30 15:59:57 +01:00
..
2016-11-24 19:38:51 -02:00
2016-11-24 19:38:51 -02:00
2004-05-18 20:18:14 +00:00
2004-08-13 05:42:43 +00:00
2004-09-20 00:16:11 +00:00
2004-09-20 00:16:11 +00:00
2004-09-20 00:16:11 +00:00
2004-09-20 00:16:11 +00:00
2004-09-20 00:16:11 +00:00
2004-09-20 00:16:11 +00:00
2004-09-20 00:16:11 +00:00
2004-09-20 00:16:11 +00:00
2014-05-07 14:00:01 +02:00
2007-05-15 06:49:29 +00:00
2003-09-29 22:23:14 +00:00
2003-07-22 23:10:17 +00:00
..
2007-12-12 18:41:10 +00:00
2003-12-20 06:34:59 +00:00
2003-12-19 01:37:13 +00:00
2003-12-19 01:37:13 +00:00
2003-11-06 04:29:42 +00:00
2003-11-21 09:25:26 +00:00
2004-05-18 20:18:14 +00:00
2004-09-02 18:59:24 +00:00
2013-06-06 20:36:07 +02:00
2003-09-24 08:33:01 +00:00
2006-08-13 01:56:09 +00:00
2016-11-07 22:09:42 -02:00
2016-11-07 22:09:42 -02:00
2004-03-24 06:36:06 +00:00
2011-10-24 21:43:33 -04:00
2003-07-01 03:29:50 +00:00
2003-07-01 03:29:50 +00:00
2016-07-07 14:33:36 +02:00
2008-05-31 08:56:14 +00:00
2007-05-26 01:23:04 +00:00
2004-11-12 01:27:04 +00:00
2016-01-22 14:21:03 -02:00
2016-11-07 22:09:42 -02:00
2016-11-07 22:09:42 -02:00
2011-09-10 14:34:15 -04:00
2003-09-02 00:33:28 +00:00
2003-09-02 00:33:28 +00:00
2003-09-02 00:33:28 +00:00
2003-09-02 00:33:28 +00:00
2003-09-02 00:33:28 +00:00
2003-09-02 00:33:28 +00:00
2003-09-02 00:33:28 +00:00
2007-08-21 23:55:36 +00:00
2004-03-10 05:25:48 +00:00
2004-03-10 05:25:48 +00:00
2004-03-10 05:25:48 +00:00
2004-03-10 05:25:48 +00:00