diff options
author | Carlos O'Donell <carlos@redhat.com> | 2014-04-11 12:43:58 -0400 |
---|---|---|
committer | Carlos O'Donell <carlos@redhat.com> | 2014-04-14 15:45:40 -0400 |
commit | f737dfd071f12584316ef90f2c71e33c2dc9801e (patch) | |
tree | 8f08cbfde6974b06755df5d4392a356ae491be88 /csu | |
parent | 0699f766b10c86912b75f35bef697106b70c1cf6 (diff) | |
download | glibc-f737dfd071f12584316ef90f2c71e33c2dc9801e.zip glibc-f737dfd071f12584316ef90f2c71e33c2dc9801e.tar.gz glibc-f737dfd071f12584316ef90f2c71e33c2dc9801e.tar.bz2 |
Support _r_debug for static binaries.
We initialize _r_debug for static binaries to allows debug
agents to treat static binaries a little more like dyanmic
ones. This simplifies the work a debug agent has to do to
access TLS in a static binary via libthread_db.
Tested on x86_64.
See:
https://sourceware.org/ml/libc-alpha/2014-04/msg00183.html
[BZ #16831]
* csu/libc-start.c (LIBC_START_MAIN) [!SHARED]: Call
_dl_debug_initialize.
Diffstat (limited to 'csu')
-rw-r--r-- | csu/libc-start.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/csu/libc-start.c b/csu/libc-start.c index 3b7092b..d571a1a 100644 --- a/csu/libc-start.c +++ b/csu/libc-start.c @@ -264,6 +264,9 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), GLRO(dl_debug_printf) ("\ntransferring control: %s\n\n", argv[0]); #endif +#ifndef SHARED + _dl_debug_initialize (0, LM_ID_BASE); +#endif #ifdef HAVE_CLEANUP_JMP_BUF /* Memory for the cancellation buffer. */ struct pthread_unwind_buf unwind_buf; |