Nick Alcock
003a27e819
Initialize the stack guard earlier when linking statically [BZ #7065 ]
...
The address of the stack canary is stored in a per-thread variable,
which means that we must ensure that the TLS area is intialized before
calling any -fstack-protector'ed functions. For dynamically linked
applications, we ensure this (in a later patch) by disabling
-fstack-protector for the whole dynamic linker, but for static
applications, the AT_ENTRY address is called directly by the kernel, so
we must deal with the problem differently.
In static appliations, __libc_setup_tls performs the TCB setup and TLS
initialization, so this commit arranges for it to be called early and
unconditionally. The call (and the stack guard initialization) is
before the DL_SYSDEP_OSCHECK hook, which if set will probably call
functions which are stack-protected (it does on Linux and NaCL too). We
also move apply_irel up, so that we can still safely call functions that
require ifuncs while in __libc_setup_tls (though if stack-protection is
enabled we still have to avoid calling functions that are not
stack-protected at this stage).
2016-12-26 10:08:34 +01:00
..
2016-01-04 16:05:18 +00:00
2016-11-24 19:38:51 -02:00
2016-01-04 16:05:18 +00:00
2014-03-03 15:30:42 -08:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2014-02-10 15:07:12 +01:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-11-24 19:38:51 -02:00
2015-06-30 17:05:44 +02:00
2016-01-04 16:05:18 +00:00
2013-07-02 08:46:54 -07:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2014-07-07 09:28:38 -07:00
2016-01-04 16:05:18 +00:00
2016-07-07 14:33:32 +02:00
2014-07-07 09:28:38 -07:00
2014-07-07 09:28:38 -07:00
2016-12-23 13:46:56 -05:00
2016-12-08 18:59:02 +05:30
2016-12-26 10:08:34 +01:00
2016-12-08 18:59:02 +05:30
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-06-01 07:14:42 +02:00
2015-06-10 10:18:12 +00:00
2016-10-07 10:12:48 +02:00
2016-01-04 16:05:18 +00:00
2016-10-07 10:12:47 +02:00
2016-10-07 10:12:48 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-15 21:20:34 +01:00
2016-01-15 23:00:19 +01:00
2016-01-15 21:20:34 +01:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-15 21:20:34 +01:00
2016-11-24 19:38:51 -02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-02-19 12:41:29 -05:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-11-24 19:38:51 -02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2015-10-20 11:54:09 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-06-13 08:36:34 -03:00
2016-12-19 20:12:15 +01:00
2016-01-04 16:05:18 +00:00
2016-12-19 20:12:15 +01:00
2016-01-04 16:05:18 +00:00
2016-06-24 23:04:40 +03:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-10-28 19:13:21 -02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-09-15 11:14:31 -03:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2008-01-10 18:34:43 +00:00
2014-07-07 09:28:38 -07:00
2016-01-04 16:05:18 +00:00
2016-09-15 11:14:31 -03:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-09-15 16:31:50 -03:00
2016-09-15 11:14:25 -03:00
2016-01-04 16:05:18 +00:00
2016-09-15 11:14:31 -03:00
2016-01-04 16:05:18 +00:00
2016-09-15 11:14:31 -03:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2014-09-12 12:28:47 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2014-05-07 14:00:01 +02:00
2016-01-04 16:05:18 +00:00
2016-12-08 18:59:02 +05:30
2016-12-08 18:59:02 +05:30
2016-12-23 13:46:56 -05:00
2016-12-08 18:59:02 +05:30
2016-12-08 18:59:02 +05:30
2016-12-08 18:59:02 +05:30
2016-12-08 18:59:02 +05:30
2016-12-08 18:59:02 +05:30
2016-12-08 18:59:02 +05:30
2016-12-08 18:59:02 +05:30
2016-12-08 18:59:02 +05:30
2016-12-08 18:59:02 +05:30
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-15 23:16:49 +01:00
2016-01-15 23:16:49 +01:00
2016-01-15 23:16:49 +01:00
2016-01-15 23:16:49 +01:00
2016-01-15 23:16:49 +01:00
2016-11-07 22:09:42 -02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2007-12-12 18:41:10 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-06-13 13:37:24 -03:00
2016-06-13 13:37:24 -03:00
2016-07-05 10:49:37 -03:00
2016-07-05 10:49:37 -03:00
2016-07-05 10:49:37 -03:00
2016-01-04 16:05:18 +00:00
2016-12-13 09:26:20 +01:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-09-15 11:14:31 -03:00
2016-09-15 11:14:31 -03:00
2016-09-15 11:14:31 -03:00
2016-09-15 11:14:31 -03:00
2016-01-04 16:05:18 +00:00
2016-05-17 10:45:48 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2012-09-06 11:50:21 -07:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2012-10-05 10:23:58 -07:00
2015-02-06 12:31:11 -08:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-07 04:03:21 -05:00
2016-12-09 08:18:27 +01:00
2016-11-07 22:09:42 -02:00
2016-01-04 16:05:18 +00:00
2016-11-07 22:09:42 -02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-06-29 20:24:44 -07:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-08-26 19:40:17 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2012-10-05 10:23:58 -07:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2013-06-06 20:36:07 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-08-26 19:40:17 +02:00
2016-08-26 19:40:17 +02:00
2016-08-26 19:40:17 +02:00
2016-08-26 19:40:17 +02:00
2016-08-26 19:40:17 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-09-20 17:18:15 -03:00
2016-01-04 16:05:18 +00:00
2016-08-26 19:40:17 +02:00
2016-08-26 19:40:17 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2015-10-27 21:48:34 +00:00
2015-10-27 21:48:34 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-11-07 22:09:42 -02:00
2016-11-07 22:09:42 -02:00
2016-11-07 22:09:42 -02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-11-07 22:09:42 -02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-11-07 22:09:42 -02:00
2015-02-06 12:30:58 -08:00
2007-07-28 20:36:21 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-08-26 19:40:17 +02:00
2016-01-04 16:05:18 +00:00
2012-10-05 10:23:58 -07:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-25 16:26:07 +01:00
2014-12-02 22:33:57 +00:00
2011-10-24 21:43:33 -04:00
2012-10-05 10:23:58 -07:00
2014-12-02 22:33:57 +00:00
2014-12-12 11:14:00 +01:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-08-17 16:14:02 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-07-07 14:33:36 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2008-05-31 08:56:14 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-08-26 19:40:17 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-08-26 19:40:17 +02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2012-10-05 10:23:58 -07:00
2015-01-21 00:46:16 -05:00
2012-10-05 10:23:58 -07:00
2007-05-26 01:23:04 +00:00
2015-01-21 00:46:16 -05:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-09-15 11:14:25 -03:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-22 14:21:03 -02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-08-26 19:40:17 +02:00
2014-06-03 16:10:48 -07:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-11-07 22:09:42 -02:00
2016-11-07 22:09:42 -02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-11-07 22:09:42 -02:00
2016-08-26 23:20:41 +02:00
2016-11-07 22:09:42 -02:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2011-09-10 14:34:15 -04:00
2016-01-07 04:03:21 -05:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2007-08-21 23:55:36 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:05:18 +00:00
2014-07-07 09:28:38 -07:00
2016-01-04 16:05:18 +00:00
2016-01-04 16:26:30 +00:00
2015-09-22 09:32:38 -07:00