diff options
Diffstat (limited to 'contrib/gcc/config/i386/cygwin.asm')
-rw-r--r-- | contrib/gcc/config/i386/cygwin.asm | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/contrib/gcc/config/i386/cygwin.asm b/contrib/gcc/config/i386/cygwin.asm index a27af31..c8378fa 100644 --- a/contrib/gcc/config/i386/cygwin.asm +++ b/contrib/gcc/config/i386/cygwin.asm @@ -1,7 +1,45 @@ -/* stuff needed for libgcc on win32. */ +/* stuff needed for libgcc on win32. + * + * Copyright (C) 1996, 1998, 2001, 2003 Free Software Foundation, Inc. + * Written By Steve Chamberlain + * + * This file is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + * + * In addition to the permissions in the GNU General Public License, the + * Free Software Foundation gives you unlimited permission to link the + * compiled version of this file with other programs, and to distribute + * those programs without any restriction coming from the use of this + * file. (The General Public License restrictions do apply in other + * respects; for example, they cover modification of the file, and + * distribution when not linked into another program.) + * + * This file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * As a special exception, if you link this library with files + * compiled with GCC to produce an executable, this does not cause + * the resulting executable to be covered by the GNU General Public License. + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + */ #ifdef L_chkstk +/* Function prologue calls _alloca to probe the stack when allocating more + than CHECK_STACK_LIMIT bytes in one go. Touching the stack at 4K + increments is necessary to ensure that the guard pages used + by the OS virtual memory manger are allocated in correct sequence. */ + .global ___chkstk .global __alloca ___chkstk: @@ -27,6 +65,4 @@ done: subl %eax,%ecx movl (%eax),%ecx /* recover saved temp */ movl 4(%eax),%eax /* get return address */ jmp *%eax - - #endif |