8sa1-gcc/gcc/config/xm-interix.h
Kaveh R. Ghazi 2d092ffaf5 configure.in (AC_DECL_SYS_SIGLIST, [...]): Don't use.
* configure.in (AC_DECL_SYS_SIGLIST, xm-siglist.h,
        arm/xm-netbsd.h, NO_SYS_SIGLIST): Don't use.

        * xm-siglist.h, arm/xm-netbsd.h, mips/xm-news.h, mips/xm-sysv4.h:
        Delete files.

        * gcc.texi (NO_SYS_SIGLIST, sys_siglist, SYS_SIGLIST_DECLARED):
        Delete descriptions.

        * i386/osf1elf.h, i386/xm-cygwin.h, i386/xm-mingw32.h, m68k/3b1.h,
        m68k/a-ux.h, m68k/dpx2.h, m68k/plexus.h, m68k/xm-hp320.h,
        m88k/xm-m88k.h, mips/x-sni-svr4, pa/xm-pa.h, pa/xm-pahpux.h,
        pa/xm-papro.h, we32k/xm-we32k.h, winnt/xm-winnt.h, xm-interix.h,
        xm-svr4.h: Remove all instances of sys_siglist handling.

From-SVN: r31109
1999-12-28 16:36:09 +00:00

76 lines
2.1 KiB
C

/* Configuration for GNU compiler for processor running Interix
Copyright (C) 1993, 1995, 1999 Free Software Foundation, Inc.
Donn Terry, Softway Systems, Inc,
from code
Contributed by Douglas B. Rupp (drupp@cs.washington.edu)
This file is part of GNU CC.
GNU CC 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.
GNU CC 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 GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef USG
#define USG 1
#endif
#ifndef ONLY_INT_FIELDS
#ifndef __GNUC__
#define ONLY_INT_FIELDS 1
#endif
#endif
#ifndef USE_PROTOTYPES
#define USE_PROTOTYPES 1
#endif
/* If not compiled with GNU C, use the portable alloca. */
#ifndef __GNUC__
#define USE_C_ALLOCA 1
#endif
/* Our strategy for finding global constructors is a bit different, although
not a lot. */
#define DO_GLOBAL_CTORS_BODY \
do { \
int i; \
unsigned long nptrs; \
func_ptr *p; \
asm( \
" .section .ctor_head, \"rw\"\n" \
"1:\n" \
" .text \n" \
ASM_LOAD_ADDR(1b,%0) \
: "=r" (p) : : "cc"); \
for (nptrs = 0; p[nptrs] != 0; nptrs++); \
for (i = nptrs-1; i >= 0; i--) \
p[i] (); \
} while (0)
#define DO_GLOBAL_DTORS_BODY \
do { \
func_ptr *p; \
asm( \
" .section .dtor_head, \"rw\"\n" \
"1:\n" \
" .text \n" \
ASM_LOAD_ADDR(1b,%0) \
: "=r" (p) : : "cc"); \
while (*p) \
{ \
p++; \
(*(p-1)) (); \
} \
} while (0)