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.
This commit is contained in:
Carlos O'Donell 2014-04-11 12:43:58 -04:00
parent 0699f766b1
commit f737dfd071
3 changed files with 10 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2014-04-14 Carlos O'Donell <carlos@redhat.com>
[BZ #16831]
* csu/libc-start.c (LIBC_START_MAIN) [!SHARED]: Call
_dl_debug_initialize.
2014-04-14 Carlos O'Donell <carlos@redhat.com>
* configure.ac: Remove SELinux header check.

2
NEWS
View file

@ -14,7 +14,7 @@ Version 2.20
16610, 16611, 16613, 16623, 16632, 16634, 16639, 16642, 16648, 16649,
16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707,
16712, 16713, 16714, 16731, 16739, 16743, 16758, 16759, 16760, 16770,
16786, 16789, 16799, 16800, 16815, 16838.
16786, 16789, 16799, 16800, 16815, 16831, 16838.
* Running the testsuite no longer terminates as soon as a test fails.
Instead, a file tests.sum (xtests.sum from "make xcheck") is generated,

View file

@ -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;