1 /* Target definitions for GCC for Intel 80386 using ELF
2    Copyright (C) 1988-2021 Free Software Foundation, Inc.
3 
4    Derived from sysv4.h written by Ron Guilmette (rfg@netcom.com).
5 
6 This file is part of GCC.
7 
8 GCC is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3, or (at your option)
11 any later version.
12 
13 GCC is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 GNU General Public License for more details.
17 
18 You should have received a copy of the GNU General Public License
19 along with GCC; see the file COPYING3.  If not see
20 <http://www.gnu.org/licenses/>.  */
21 
22 /* Define DEFAULT_PCC_STRUCT_RETURN to 1 because the i386 SVR4 ABI returns
23    records and unions in memory. ix86_option_override_internal will overide
24    this flag when compiling 64-bit code as we never do pcc_struct_return
25    scheme on x86-64.  */
26 #undef DEFAULT_PCC_STRUCT_RETURN
27 #define DEFAULT_PCC_STRUCT_RETURN 1
28 
29 #undef CPP_SPEC
30 #define CPP_SPEC ""
31 
32 #define ENDFILE_SPEC "crtend.o%s"
33 
34 #define STARTFILE_SPEC "%{!shared: \
35 			 %{!symbolic: \
36 			  %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
37 			crtbegin.o%s"
38 
39 #undef DBX_REGISTER_NUMBER
40 #define DBX_REGISTER_NUMBER(n) \
41   (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
42 
43 #define LOCAL_LABEL_PREFIX	"."
44 
45 /* Switch into a generic section.  */
46 #define TARGET_ASM_NAMED_SECTION  default_elf_asm_named_section
47 
48 #undef BSS_SECTION_ASM_OP
49 #define BSS_SECTION_ASM_OP "\t.section\t.bss"
50 
51 #undef ASM_OUTPUT_ALIGNED_BSS
52 #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
53   asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
54