mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
* debug/chk_fail.c (__chk_fail): Add a while (1) loop around
__libc_message to kill GCC warning about noreturn function returning. * elf/rtld.c (dlmain): If LD_TRACE_PRELINKING, clear l_relocated flag before relocating ld.so again. * elf/rtld.c (_dl_start): Set bootstrap_map.l_relocated even for already prelinked ld.so.
This commit is contained in:
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2005-02-11 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* debug/chk_fail.c (__chk_fail): Add a while (1) loop around
|
||||||
|
__libc_message to kill GCC warning about noreturn function returning.
|
||||||
|
|
||||||
|
* elf/rtld.c (dlmain): If LD_TRACE_PRELINKING, clear l_relocated flag
|
||||||
|
before relocating ld.so again.
|
||||||
|
|
||||||
|
* elf/rtld.c (_dl_start): Set bootstrap_map.l_relocated even
|
||||||
|
for already prelinked ld.so.
|
||||||
|
|
||||||
2005-02-11 Roland McGrath <roland@redhat.com>
|
2005-02-11 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
[BZ #715]
|
[BZ #715]
|
||||||
|
@ -26,7 +26,9 @@ void
|
|||||||
__attribute__ ((noreturn))
|
__attribute__ ((noreturn))
|
||||||
__chk_fail (void)
|
__chk_fail (void)
|
||||||
{
|
{
|
||||||
__libc_message (1, "*** buffer overflow detected ***: %s terminated\n",
|
/* The loop is added only to keep gcc happy. */
|
||||||
__libc_argv[0] ?: "<unknown>");
|
while (1)
|
||||||
|
__libc_message (1, "*** buffer overflow detected ***: %s terminated\n",
|
||||||
|
__libc_argv[0] ?: "<unknown>");
|
||||||
}
|
}
|
||||||
libc_hidden_def (__chk_fail)
|
libc_hidden_def (__chk_fail)
|
||||||
|
11
elf/rtld.c
11
elf/rtld.c
@ -1919,10 +1919,13 @@ ERROR: ld.so: object '%s' from %s cannot be preloaded: ignored.\n",
|
|||||||
|
|
||||||
if ((GLRO(dl_debug_mask) & DL_DEBUG_PRELINK)
|
if ((GLRO(dl_debug_mask) & DL_DEBUG_PRELINK)
|
||||||
&& GL(dl_rtld_map).l_opencount > 1)
|
&& GL(dl_rtld_map).l_opencount > 1)
|
||||||
_dl_relocate_object (&GL(dl_rtld_map), main_map->l_scope,
|
{
|
||||||
0, 0);
|
/* Mark the link map as not yet relocated again. */
|
||||||
}
|
GL(dl_rtld_map).l_relocated = 0;
|
||||||
|
_dl_relocate_object (&GL(dl_rtld_map), main_map->l_scope,
|
||||||
|
0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
#define VERNEEDTAG (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (DT_VERNEED))
|
#define VERNEEDTAG (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (DT_VERNEED))
|
||||||
if (version_info)
|
if (version_info)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user