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.tar.gz glibc-f737dfd071f12584316ef90f2c71e33c2dc9801e.tar.xz glibc-f737dfd071f12584316ef90f2c71e33c2dc9801e.zip |
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 3b7092b359..d571a1aca9 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; |