Changeset 14693 for release/1.6
- Timestamp:
- Mar 23, 2011, 12:27:41 AM (10 years ago)
- Location:
- release/1.6/source
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
release/1.6/source
- Property svn:mergeinfo changed
/trunk/source merged: 14692
- Property svn:mergeinfo changed
-
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 2375 2375 stack.ss_flags = 0; 2376 2376 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 2377 2389 if (sigaltstack(&stack, NULL) != 0) { 2378 2390 perror("sigaltstack");
Note: See TracChangeset
for help on using the changeset viewer.