diff options
Diffstat (limited to 'elf/nextmod1.c')
-rw-r--r-- | elf/nextmod1.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/elf/nextmod1.c b/elf/nextmod1.c index 3549c75174..19f972b9e0 100644 --- a/elf/nextmod1.c +++ b/elf/nextmod1.c @@ -1,5 +1,7 @@ #include <dlfcn.h> +int nextmod1_dummy_var; + int successful_rtld_next_test (void) { @@ -16,5 +18,10 @@ successful_rtld_next_test (void) void * failing_rtld_next_use (void) { - return dlsym (RTLD_NEXT, __FUNCTION__); + void *ret = dlsym (RTLD_NEXT, __FUNCTION__); + + /* Ensure we are not tail call optimized, because then RTLD_NEXT + might return this function. */ + ++nextmod1_dummy_var; + return ret; } |