Home | History | Annotate | Line # | Download | only in libgcc
      1       1.1  mrg /* Library support for -fsplit-stack.  */
      2  1.1.1.11  mrg /* Copyright (C) 2009-2024 Free Software Foundation, Inc.
      3       1.1  mrg    Contributed by Ian Lance Taylor <iant (at) google.com>.
      4       1.1  mrg 
      5       1.1  mrg This file is part of GCC.
      6       1.1  mrg 
      7       1.1  mrg GCC is free software; you can redistribute it and/or modify it under
      8       1.1  mrg the terms of the GNU General Public License as published by the Free
      9       1.1  mrg Software Foundation; either version 3, or (at your option) any later
     10       1.1  mrg version.
     11       1.1  mrg 
     12       1.1  mrg GCC is distributed in the hope that it will be useful, but WITHOUT ANY
     13       1.1  mrg WARRANTY; without even the implied warranty of MERCHANTABILITY or
     14       1.1  mrg FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     15       1.1  mrg for more details.
     16       1.1  mrg 
     17       1.1  mrg Under Section 7 of GPL version 3, you are granted additional
     18       1.1  mrg permissions described in the GCC Runtime Library Exception, version
     19       1.1  mrg 3.1, as published by the Free Software Foundation.
     20       1.1  mrg 
     21       1.1  mrg You should have received a copy of the GNU General Public License and
     22       1.1  mrg a copy of the GCC Runtime Library Exception along with this program;
     23       1.1  mrg see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     24       1.1  mrg <http://www.gnu.org/licenses/>.  */
     25       1.1  mrg 
     26       1.1  mrg /* This is a libgcc internal header file for functions shared between
     27       1.1  mrg    generic-morestack.c and generic-morestack-thread.c.  The latter
     28       1.1  mrg    file is only used when linking with the pthread library.  */
     29       1.1  mrg 
     30       1.1  mrg /* The stack segment structure, defined in generic-morestack.c.  */
     31       1.1  mrg 
     32       1.1  mrg struct stack_segment;
     33       1.1  mrg 
     34       1.1  mrg /* The list of stack segments for this thread.  */
     35       1.1  mrg 
     36       1.1  mrg extern __thread struct stack_segment *__morestack_segments;
     37       1.1  mrg 
     38       1.1  mrg /* Print the string MSG/LEN, the errno number ERR, and a newline on
     39       1.1  mrg    stderr, without using printf.  Then crash.  */
     40       1.1  mrg 
     41       1.1  mrg extern void __morestack_fail (const char *msg, size_t len, int err)
     42       1.1  mrg   __attribute__ ((noreturn, visibility ("hidden")));
     43       1.1  mrg 
     44       1.1  mrg /* Release stack segments.  */
     45       1.1  mrg 
     46       1.1  mrg extern struct dynamic_allocation_blocks *
     47       1.1  mrg   __morestack_release_segments (struct stack_segment **, int)
     48       1.1  mrg   __attribute__ ((visibility ("hidden")));
     49       1.1  mrg 
     50       1.1  mrg /* Store the stack information in a processor dependent manner.  */
     51       1.1  mrg 
     52       1.1  mrg extern void __stack_split_initialize (void)
     53       1.1  mrg   __attribute__ ((visibility ("hidden")));
     54