mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 16:21:06 +00:00
Fix libc-start change for IRELless machines.
This commit is contained in:
parent
6aa2f685b2
commit
35a5b08bd4
@ -1,3 +1,8 @@
|
|||||||
|
2012-08-22 Roland McGrath <roland@hack.frob.com>
|
||||||
|
|
||||||
|
* csu/libc-start.c (apply_irel): Move extern declarations inside here.
|
||||||
|
Conditionalize whole body on [IREL].
|
||||||
|
|
||||||
2012-08-22 Jeff Law <law@redhat.com>
|
2012-08-22 Jeff Law <law@redhat.com>
|
||||||
|
|
||||||
[BZ #14505]
|
[BZ #14505]
|
||||||
|
@ -62,18 +62,19 @@ uintptr_t __stack_chk_guard attribute_relro;
|
|||||||
# define IREL elf_irel
|
# define IREL elf_irel
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* We use weak references for these so that we'll still work with a linker
|
|
||||||
that doesn't define them. Such a linker doesn't support IFUNC at all
|
|
||||||
and so uses won't work, but a statically-linked program that doesn't
|
|
||||||
use any IFUNC symbols won't have a problem. */
|
|
||||||
extern const IREL_T IPLT_START[] __attribute__ ((weak));
|
|
||||||
extern const IREL_T IPLT_END[] __attribute__ ((weak));
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
apply_irel (void)
|
apply_irel (void)
|
||||||
{
|
{
|
||||||
|
# ifdef IREL
|
||||||
|
/* We use weak references for these so that we'll still work with a linker
|
||||||
|
that doesn't define them. Such a linker doesn't support IFUNC at all
|
||||||
|
and so uses won't work, but a statically-linked program that doesn't
|
||||||
|
use any IFUNC symbols won't have a problem. */
|
||||||
|
extern const IREL_T IPLT_START[] __attribute__ ((weak));
|
||||||
|
extern const IREL_T IPLT_END[] __attribute__ ((weak));
|
||||||
for (const IREL_T *ipltent = IPLT_START; ipltent < IPLT_END; ++ipltent)
|
for (const IREL_T *ipltent = IPLT_START; ipltent < IPLT_END; ++ipltent)
|
||||||
IREL (ipltent);
|
IREL (ipltent);
|
||||||
|
# endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user