diff options
Diffstat (limited to 'gcc/config/arm/linux-elf.h')
-rwxr-xr-x | gcc/config/arm/linux-elf.h | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h deleted file mode 100755 index d906093..0000000 --- a/gcc/config/arm/linux-elf.h +++ /dev/null @@ -1,204 +0,0 @@ -/* Definitions for ARM running Linux-based GNU systems using ELF - Copyright (C) 1993, 1994, 1997, 1998 Free Software Foundation, Inc. - Contributed by Philip Blundell <philb@gnu.org> - -This file is part of GNU CC. - -GNU CC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU CC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Run-time Target Specification. */ -#define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr); - -/* We have libgcc2. */ -#define HAVE_ATEXIT - -/* Default is to use APCS-32 mode. */ -#ifndef SUBTARGET_DEFAULT_APCS26 -#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_SHORT_BYTE) -#define SUBTARGET_EXTRA_LINK_SPEC \ - " %{mapcs-26:-m elf32arm26} %{!mapcs-26:-m elf32arm}" -#define SUBTARGET_EXTRA_ASM_SPEC \ - " %{mapcs-26:-mapcs-26} %(!mapcs-26:-mapcs-32}" -#endif - -/* Now we define the strings used to build the spec file. */ -#define LIB_SPEC "%{!shared:%{!symbolic:-lc}}" - -/* Add the compiler's crtend, and the library's crtn. */ -#define ENDFILE_SPEC "%{!shared:crtend.o%s} %{shared:crtendS.o%s} \ - %{pg:gcrtn.o%s}%{!pg:crtn.o%s}" - -#define STARTFILE_SPEC "%{!shared:crt1.o%s} \ - crti.o%s \ - %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" - -#define LINK_SPEC "%{h*} %{version:-v} \ - %{b} %{Wl,*:%*} \ - %{static:-Bstatic} \ - %{shared:-shared} \ - %{symbolic:-Bsymbolic} \ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \ - -X \ - %{mbig-endian:-EB}" \ - SUBTARGET_EXTRA_LINK_SPEC - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES \ -"-Dunix -Darm -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(arm) \ --Amachine(arm) -D__ELF__ -Darm_elf" - -#ifndef SUBTARGET_DEFAULT_APCS26 -#undef CPP_APCS_PC_DEFAULT_SPEC -#define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__" -#endif - -/* Allow #sccs in preprocessor. */ -#define SCCS_DIRECTIVE - -#define USER_LABEL_PREFIX "" /* For ELF the default is no underscores */ -#define LOCAL_LABEL_PREFIX "." - -/* Attach a special .ident directive to the end of the file to identify - the version of GCC which compiled this code. */ -#define IDENT_ASM_OP ".ident" - -/* Output #ident as a .ident. */ -#define ASM_OUTPUT_IDENT(FILE, NAME) \ - fprintf (FILE, "\t%s\t\"%s\"\n", IDENT_ASM_OP, NAME); - -#ifdef IDENTIFY_WITH_IDENT -#define ASM_IDENTIFY_GCC(FILE) /* nothing */ -#define ASM_IDENTIFY_LANGUAGE(FILE) \ - fprintf (FILE, "\t%s \"GCC (%s) %s\"\n", IDENT_ASM_OP, \ - lang_identify (), version_string) -#else -#define ASM_FILE_END(FILE) \ -do { \ - fprintf ((FILE), "\t%s\t\"GCC: (GNU) %s\"\n", \ - IDENT_ASM_OP, version_string); \ - } while (0) -#endif - -/* Support const sections and the ctors and dtors sections for g++. - Note that there appears to be two different ways to support const - sections at the moment. You can either #define the symbol - READONLY_DATA_SECTION (giving it some code which switches to the - readonly data section) or else you can #define the symbols - EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, SELECT_SECTION, and - SELECT_RTX_SECTION. We do both here just to be on the safe side. */ -#define USE_CONST_SECTION 1 - -/* Support for Constructors and Destructors. */ -#define READONLY_DATA_SECTION() const_section () - -/* A default list of other sections which we might be "in" at any given - time. For targets that use additional sections (e.g. .tdesc) you - should override this definition in the target-specific file which - includes this file. */ -#define SUBTARGET_EXTRA_SECTIONS in_const, - -/* A default list of extra section function definitions. For targets - that use additional sections (e.g. .tdesc) you should override this - definition in the target-specific file which includes this file. */ -#define SUBTARGET_EXTRA_SECTION_FUNCTIONS CONST_SECTION_FUNCTION - -extern void text_section (); - -#define CONST_SECTION_ASM_OP ".section\t.rodata" - -#define CONST_SECTION_FUNCTION \ -void \ -const_section () \ -{ \ - if (!USE_CONST_SECTION) \ - text_section (); \ - else if (in_section != in_const) \ - { \ - fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP); \ - in_section = in_const; \ - } \ -} - -/* Switch into a generic section. - This is currently only used to support section attributes. - - We make the section read-only and executable for a function decl, - read-only for a const data decl, and writable for a non-const data decl. */ -#define ASM_OUTPUT_SECTION_NAME(FILE, DECL, NAME, RELOC) \ - fprintf (FILE, ".section\t%s,\"%s\",%%progbits\n", NAME, \ - (DECL) && TREE_CODE (DECL) == FUNCTION_DECL ? "ax" : \ - (DECL) && DECL_READONLY_SECTION (DECL, RELOC) ? "a" : "aw") - -/* A C statement or statements to switch to the appropriate - section for output of DECL. DECL is either a `VAR_DECL' node - or a constant of some sort. RELOC indicates whether forming - the initial value of DECL requires link-time relocations. */ -#define SELECT_SECTION(DECL,RELOC) \ -{ \ - if (TREE_CODE (DECL) == STRING_CST) \ - { \ - if (! flag_writable_strings) \ - const_section (); \ - else \ - data_section (); \ - } \ - else if (TREE_CODE (DECL) == VAR_DECL) \ - { \ - if ((flag_pic && RELOC) \ - || !TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \ - || !DECL_INITIAL (DECL) \ - || (DECL_INITIAL (DECL) != error_mark_node \ - && !TREE_CONSTANT (DECL_INITIAL (DECL)))) \ - data_section (); \ - else \ - const_section (); \ - } \ - else \ - const_section (); \ -} - -/* A C statement or statements to switch to the appropriate - section for output of RTX in mode MODE. RTX is some kind - of constant in RTL. The argument MODE is redundant except - in the case of a `const_int' rtx. Currently, these always - go into the const section. */ -#define SELECT_RTX_SECTION(MODE,RTX) const_section () - -/* On svr4, we *do* have support for the .init and .fini sections, and we - can put stuff in there to be executed before and after `main'. We let - crtstuff.c and other files know this by defining the following symbols. - The definitions say how to change sections to the .init and .fini - sections. This is the same for all known svr4 assemblers. */ -#define INIT_SECTION_ASM_OP ".section\t.init" -#define FINI_SECTION_ASM_OP ".section\t.fini" - - -/* This is how we tell the assembler that a symbol is weak. */ -#define ASM_WEAKEN_LABEL(FILE,NAME) \ - do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ - fputc ('\n', FILE); } while (0) - -/* This is how we tell the assembler that two symbols have the same value. */ - -#define ASM_OUTPUT_DEF(FILE,NAME1,NAME2) \ - do { assemble_name (FILE, NAME1); \ - fputs (" = ", FILE); \ - assemble_name (FILE, NAME2); \ - fputc ('\n', FILE); } while (0) - -#include "arm/elf.h" -#include "arm/linux-gas.h" |