Changeset 14693 for release/1.6


Ignore:
Timestamp:
Mar 23, 2011, 12:27:41 AM (8 years ago)
Author:
rme
Message:

Merge r14962 from trunk.

Location:
release/1.6/source
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • release/1.6/source

  • release/1.6/source/level-0/l0-misc.lisp

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • release/1.6/source/lisp-kernel/x86-exceptions.c

    r14433 r14693  
    23752375  stack.ss_flags = 0;
    23762376  mmap(stack.ss_sp,stack.ss_size, PROT_READ|PROT_WRITE|PROT_EXEC,MAP_FIXED|MAP_ANON|MAP_PRIVATE,-1,0);
     2377#ifdef LINUX
     2378  /* The ucontext pushed on the altstack may not contain the (largish)
     2379     __fpregs_mem field; copy_ucontext() wants to copy what it thinks
     2380     is a pointer to a full ucontext.  That'll touch a page beyond the
     2381     bottom of the altstack, and when this happens on the initial
     2382     thread's stack on a recent (2.6.32+?) kernel, we'll SIGBUS instead
     2383     of mapping that page.
     2384     It's easier to just reserve that page here than it would be to
     2385     change copy_ucontext().
     2386  */
     2387  stack.ss_size -= sizeof(struct ucontext);
     2388#endif
    23772389  if (sigaltstack(&stack, NULL) != 0) {
    23782390    perror("sigaltstack");
Note: See TracChangeset for help on using the changeset viewer.