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