diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/dl-sysdep.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/dl-sysdep.c | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/sysdeps/unix/sysv/linux/dl-sysdep.c b/sysdeps/unix/sysv/linux/dl-sysdep.c index 42c63d2df4..da3686a360 100644 --- a/sysdeps/unix/sysv/linux/dl-sysdep.c +++ b/sysdeps/unix/sysv/linux/dl-sysdep.c @@ -1,5 +1,5 @@ /* Dynamic linker system dependencies for Linux. - Copyright (C) 1995,1997,2001,2004,2005,2006, 2008 Free Software Foundation, Inc. + Copyright (C) 1995-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,27 +33,6 @@ static inline void frob_brk (void) { __brk (0); /* Initialize the break. */ - -#if ! __ASSUME_BRK_PAGE_ROUNDED - /* If the dynamic linker was executed as a program, then the break may - start immediately after our data segment. However, dl-minimal.c has - already stolen the remainder of the page for internal allocations. - If we don't adjust the break location recorded by the kernel, the - normal program startup will inquire, find the value at our &_end, - and start allocating its own data there, clobbering dynamic linker - data structures allocated there during startup. - - Later Linux kernels have changed this behavior so that the initial - break value is rounded up to the page boundary before we start. */ - - extern char *__curbrk attribute_hidden; - extern char _end[] attribute_hidden; - char *const endpage = (void *) 0 + (((__curbrk - (char *) 0) - + GLRO(dl_pagesize) - 1) - & -GLRO(dl_pagesize)); - if (__builtin_expect (__curbrk >= _end && __curbrk < endpage, 0)) - __brk (endpage); -#endif } # include <elf/dl-sysdep.c> |