1 /* nextstep.h -- operating system specific defines to be used when
2 targeting GCC for NeXTSTEP.
3 Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
5 This file is part of GNU CC.
7 GNU CC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
12 GNU CC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU CC; see the file COPYING. If not, write to
19 the Free Software Foundation, 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. */
23 /* changed for NeXTStep 2.1, Ch. Kranz, 2/94, 3/94 */
26 /* set flag_gnu_linker=0, use collect2 for linking */
30 /* use this until a newer gdb for NeXTStep21 is available */
31 #define DEFAULT_GDB_EXTENSIONS 0
33 /* we need the call to __main to start all global destructors and constructors
34 correctly, so undef INIT_SECTION_ASM_OP, (see libgcc2.c line 1965)
35 and define INVOKE_main */
36 #undef INIT_SECTION_ASM_OP
39 /* We call the global destructors, constructors from __main */
40 #undef ASM_OUTPUT_CONSTRUCTOR
41 #undef ASM_OUTPUT_DESTRUCTOR
44 #define ASM_FILE_END(FILE) \
46 if (strcmp (language_string, "GNU C++") == 0) \
48 ASM_OUTPUT_ALIGN (FILE, 1); \
51 /* deleted: destructor_section (); \ */
52 /* deleted: constructor_section (); \ */
54 /* Ensure correct alignment of bss data. */
55 /* ASM_OUTPUT_ALIGNED_LOCAL not needed */
56 /* need ASM_OUTPUT_LOCAL instead for old NeXT-as */
57 /* look in varasm.c, line 1062 and 1476 */
58 #undef ASM_OUTPUT_ALIGNED_LOCAL
59 #undef ASM_OUTPUT_LOCAL
60 #define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \
61 ( fputs (".lcomm ", (FILE)), \
62 assemble_name ((FILE), (NAME)), \
63 fprintf ((FILE), ",%u\n", (ROUNDED)))