aboutsummaryrefslogtreecommitdiff
path: root/csu/libc-start.c
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@redhat.com>2014-04-11 12:43:58 -0400
committerCarlos O'Donell <carlos@redhat.com>2014-04-14 15:45:40 -0400
commitf737dfd071f12584316ef90f2c71e33c2dc9801e (patch)
tree8f08cbfde6974b06755df5d4392a356ae491be88 /csu/libc-start.c
parent0699f766b10c86912b75f35bef697106b70c1cf6 (diff)
downloadglibc-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/libc-start.c')
-rw-r--r--csu/libc-start.c3
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;