--- elf/dl-load.c 2011-01-26 22:02:02.000000000 +0100 +++ elf/dl-load.c 2011-01-26 22:30:22.000000000 +0100 @@ -1398,7 +1398,11 @@ if (__builtin_expect (p + s <= relro_end, 1)) { /* The variable lies in the region protected by RELRO. */ - __mprotect ((void *) p, s, PROT_READ|PROT_WRITE); + if (__mprotect ((void *) p, s, PROT_READ|PROT_WRITE) < 0) + { + errstring = N_("cannot change memory protections"); + goto call_lose_errno; + } __stack_prot |= PROT_READ|PROT_WRITE|PROT_EXEC; __mprotect ((void *) p, s, PROT_READ); }