From 7dd268d2730b13a7fa58287f4db3f3e7b63b2cc9 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 28 Jan 2007 10:32:59 +0000 Subject: fix from Bernd Schmidt to make sure _dl_debug_state isnt optimized away and does not generate relocs --- ldso/ldso/ldso.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'ldso') diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index bf6ebde33..cf8ba5f9d 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -75,8 +75,13 @@ static int _dl_suid_ok(void); * address mapping is changed in some way. */ void _dl_debug_state(void); -void _dl_debug_state() +rtld_hidden_proto(_dl_debug_state, noinline); +void _dl_debug_state(void) { + /* Make sure GCC doesn't recognize this function as pure, to avoid + * having the calls optimized away. + */ + __asm__(""); } static unsigned char *_dl_malloc_addr = 0; /* Lets _dl_malloc use the already allocated memory page */ -- cgit v1.2.3