1/* Operating system specific defines to be used when targeting GCC for 2 generic System V Release 3 system. 3 Copyright (C) 1991, 1996 Free Software Foundation, Inc. 4 Contributed by Ron Guilmette (rfg@monkeys.com). |
5 |
6This file is part of GNU CC. 7 8GNU CC is free software; you can redistribute it and/or modify 9it under the terms of the GNU General Public License as published by 10the Free Software Foundation; either version 2, or (at your option) 11any later version. 12 13GNU CC is distributed in the hope that it will be useful, --- 83 unchanged lines hidden (view full) --- 97 } while (0) 98 99#if 0 /* For now, let's leave these machine-specific. */ 100/* Use crt1.o as a startup file and crtn.o as a closing file. */ 101 102#define STARTFILE_SPEC \ 103 "%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}" 104 |
105#ifdef CROSS_COMPILE 106#define LIB_SPEC "-lc crtn.o%s" 107#else |
108#define LIB_SPEC "%{p:-L/usr/lib/libp}%{pg:-L/usr/lib/libp} -lc crtn.o%s" |
109#endif |
110 111/* Special flags for the linker. I don't know what they do. */ 112 113#define LINK_SPEC "%{T*} %{z:-lm}" 114#endif 115 116/* Allow #sccs in preprocessor. */ 117 --- 36 unchanged lines hidden (view full) --- 154#define WCHAR_TYPE_SIZE BITS_PER_WORD 155 156/* Assembler pseudos to introduce constants of various size. These 157 definitions should work for most svr3 systems. */ 158 159#undef ASM_BYTE_OP 160#define ASM_BYTE_OP "\t.byte" 161 |
162/* The prefix to add to user-visible assembler symbols. |
163 164 For System V Release 3 the convention is to prepend a leading 165 underscore onto user-level symbol names. */ 166 |
167#undef USER_LABEL_PREFIX 168#define USER_LABEL_PREFIX "_" |
169 170/* This is how to output an internal numbered label where 171 PREFIX is the class of label and NUM is the number within the class. 172 173 For most svr3 systems, the convention is that any symbol which begins 174 with a period is not put into the linker symbol table by the assembler. */ 175 176#undef ASM_OUTPUT_INTERNAL_LABEL --- 67 unchanged lines hidden (view full) --- 244do { \ 245 func_ptr *p, *beg = alloca (0); \ 246 for (p = beg; *p; ) \ 247 (*p++) (); \ 248} while (0) 249 250#endif /* STACK_GROWS_DOWNWARD */ 251 |
252/* Add extra sections .rodata, .init and .fini. */ |
253 254#undef EXTRA_SECTIONS |
255#define EXTRA_SECTIONS in_const, in_init, in_fini |
256 257#undef EXTRA_SECTION_FUNCTIONS 258#define EXTRA_SECTION_FUNCTIONS \ 259 CONST_SECTION_FUNCTION \ |
260 INIT_SECTION_FUNCTION \ 261 FINI_SECTION_FUNCTION 262 |
263#define INIT_SECTION_FUNCTION \ 264void \ 265init_section () \ 266{ \ 267 if (in_section != in_init) \ 268 { \ 269 fprintf (asm_out_file, "\t%s\n", INIT_SECTION_ASM_OP); \ 270 in_section = in_init; \ --- 105 unchanged lines hidden --- |