* sysdeps/unix/sysv/linux/sh/bits/mman.h: Define MREMAP_FIXED.

This commit is contained in:
Roland McGrath 2005-10-16 11:38:59 +00:00
parent c45c24812b
commit fe60d146c7
5 changed files with 25 additions and 9 deletions

View file

@ -1,3 +1,7 @@
2005-10-16 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/bits/mman.h: Define MREMAP_FIXED.
2005-08-05 Alfred M. Szmidt <ams@gnu.org>
[BZ #1252]

View file

@ -676,7 +676,7 @@ include $(patsubst %,$(..)extra-modules.mk,$(modules-names))
extra-modules-build := $(filter-out $(modules-names-nobuild),$(modules-names))
$(extra-modules-build:%=$(objpfx)%.so): $(objpfx)%.so: \
$(objpfx)$(module).os $(common-objpfx)shlib.lds \
$(objpfx)%.os $(common-objpfx)shlib.lds \
$(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
$(build-module)
endif

View file

@ -1,3 +1,9 @@
2005-10-16 Roland McGrath <roland@redhat.com>
* init.c (__pthread_initialize_minimal_internal): Even when using a
compile-time default stack size, apply the minimum that allocate_stack
will require, and round up to page size.
2005-10-10 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile ($(test-modules)): Remove static pattern rule.

View file

@ -297,17 +297,22 @@ __pthread_initialize_minimal_internal (void)
|| limit.rlim_cur == RLIM_INFINITY)
/* The system limit is not usable. Use an architecture-specific
default. */
__default_stacksize = ARCH_STACK_DEFAULT_SIZE;
limit.rlim_cur = ARCH_STACK_DEFAULT_SIZE;
else if (limit.rlim_cur < PTHREAD_STACK_MIN)
/* The system limit is unusably small.
Use the minimal size acceptable. */
__default_stacksize = PTHREAD_STACK_MIN;
else
{
/* Round the resource limit up to page size. */
const uintptr_t pagesz = __sysconf (_SC_PAGESIZE);
__default_stacksize = (limit.rlim_cur + pagesz - 1) & -pagesz;
}
limit.rlim_cur = PTHREAD_STACK_MIN;
/* Make sure it meets the minimum size that allocate_stack
(allocatestack.c) will demand, which depends on the page size. */
const uintptr_t pagesz = __sysconf (_SC_PAGESIZE);
const size_t minstack = pagesz * 2 + __static_tls_size + MINIMAL_REST_STACK;
if (limit.rlim_cur < minstack)
limit.rlim_cur = minstack;
/* Round the resource limit up to page size. */
limit.rlim_cur = (limit.rlim_cur + pagesz - 1) & -pagesz;
__default_stacksize = limit.rlim_cur;
/* Get the size of the static and alignment requirements for the TLS
block. */

View file

@ -78,6 +78,7 @@
/* Flags for `mremap'. */
#ifdef __USE_GNU
# define MREMAP_MAYMOVE 1
# define MREMAP_FIXED 2
#endif
/* Advice to `madvise'. */