* exceptions.cc (exception::myfault_handle): Only handle the minimum
amount of exceptions the myfault handler was designed for.
This commit is contained in:
		
							parent
							
								
									236f226893
								
							
						
					
					
						commit
						09a7cdcc4b
					
				|  | @ -1,3 +1,8 @@ | |||
| 2014-04-09  Corinna Vinschen  <corinna@vinschen.de> | ||||
| 
 | ||||
| 	* exceptions.cc (exception::myfault_handle): Only handle the minimum | ||||
| 	amount of exceptions the myfault handler was designed for. | ||||
| 
 | ||||
| 2014-04-08  Corinna Vinschen  <corinna@vinschen.de> | ||||
| 
 | ||||
| 	* cygwin.sc.in: (Temporarily?) workaround serious ld bug which | ||||
|  |  | |||
|  | @ -555,7 +555,20 @@ exception::myfault_handle (LPEXCEPTION_POINTERS ep) | |||
|   _cygtls& me = _my_tls; | ||||
| 
 | ||||
|   if (me.andreas) | ||||
|     me.andreas->leave ();	/* Return from a "san" caught fault */ | ||||
|     { | ||||
|       /* Only handle the minimum amount of exceptions the myfault handler
 | ||||
| 	 was designed for. */ | ||||
|       switch (ep->ExceptionRecord->ExceptionCode) | ||||
| 	{ | ||||
| 	case STATUS_ACCESS_VIOLATION: | ||||
| 	case STATUS_DATATYPE_MISALIGNMENT: | ||||
| 	case STATUS_STACK_OVERFLOW: | ||||
| 	case STATUS_ARRAY_BOUNDS_EXCEEDED: | ||||
| 	  me.andreas->leave ();	/* Return from a "san" caught fault */ | ||||
| 	default: | ||||
| 	  break; | ||||
| 	} | ||||
|     } | ||||
|   return EXCEPTION_CONTINUE_SEARCH; | ||||
| } | ||||
| #endif /* __x86_64 */ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue