OSDN Git Service

Move constructor/destructor handling into target hooks.
[pf3gnuchains/gcc-fork.git] / gcc / config / netware.h
1 /* netware.h -- operating system specific defines to be used when 
2    targeting GCC for some generic NetWare 4 system.
3    Copyright (C) 1993, 1994, 2000 Free Software Foundation, Inc.
4
5    Written by David V. Henkel-Wallace (gumby@cygnus.com)
6
7 This file is part of GNU CC.
8
9 GNU CC is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
12 any later version.
13
14 GNU CC is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with GNU CC; see the file COPYING.  If not, write to
21 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
22
23 /* We don't actually need any of these; the MD_ vars are ignored
24    anyway for cross-compilers, and the other specs won't get picked up
25    'coz the user is supposed to do ld -r (hmm, perhaps that should be
26    the default).  In any case, setting them thus will catch some
27    common user errors. */
28
29 #undef MD_EXEC_PREFIX
30 #undef MD_STARTFILE_PREFIX
31
32 #undef  LIB_SPEC
33 #define LIB_SPEC ""
34
35 /* Kinda useless, but what the hell */
36 #undef  LINK_SPEC
37 #define LINK_SPEC "%{h*} %{V} %{v:%{!V:-V}} \
38                    %{b} %{Wl,*:%*} \
39                    %{Qy:} %{!Qn:-Qy}"
40
41 #undef  STARTFILE_SPEC
42 #define STARTFILE_SPEC ""
43
44 #undef  ENDFILE_SPEC
45 #define ENDFILE_SPEC ""
46
47 #undef  RELATIVE_PREFIX_NOT_LINKDIR
48 #undef  LIBGCC_SPEC
49
50 /* set debugging info */
51 #define DBX_DEBUGGING_INFO
52 #undef  SDB_DEBUGGING_INFO
53 #undef  DWARF_DEBUGGING_INFO
54 #undef  XCOFF_DEBUGGING_INFO
55 #undef  PREFERRED_DEBUGGING_TYPE
56 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
57
58 /* Support const sections and the ctors and dtors sections for g++.
59    Note that there appears to be two different ways to support const
60    sections at the moment.  You can either #define the symbol
61    READONLY_DATA_SECTION (giving it some code which switches to the
62    readonly data section) or else you can #define the symbols
63    EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, SELECT_SECTION, and
64    SELECT_RTX_SECTION.  We do both here just to be on the safe side.  */
65
66 #undef  HAS_INIT_SECTION
67 #undef  INIT_SECTION_ASM_OP
68
69 #undef  READONLY_DATA_SECTION
70 #define READONLY_DATA_SECTION   const_section 
71
72 #undef  CONST_SECTION_ASM_OP
73 #define CONST_SECTION_ASM_OP    ".section\t.rodata"
74 #undef  CTORS_SECTION_ASM_OP
75 #define CTORS_SECTION_ASM_OP    ".section\t.ctors,\"x\""
76 #undef  DTORS_SECTION_ASM_OP
77 #define DTORS_SECTION_ASM_OP    ".section\t.dtors,\"x\""
78
79 /* A list of other sections which the compiler might be "in" at any
80    given time.  */
81
82 #undef EXTRA_SECTIONS
83 #define EXTRA_SECTIONS in_const
84
85 /* A list of extra section function definitions.  */
86
87 #undef  EXTRA_SECTION_FUNCTIONS
88 #define EXTRA_SECTION_FUNCTIONS                                         \
89   CONST_SECTION_FUNCTION
90
91 #undef  CONST_SECTION_FUNCTION
92 #define CONST_SECTION_FUNCTION                                          \
93 void                                                                    \
94 const_section ()                                                        \
95 {                                                                       \
96   if (in_section != in_const)                                           \
97     {                                                                   \
98       fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP);             \
99       in_section = in_const;                                            \
100     }                                                                   \
101 }
102
103 #define INT_ASM_OP ".long"