OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [arm/] [unknown-elf.h] - Blame information for rev 867

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 709 jeremybenn
/* Definitions for non-Linux based ARM systems using ELF
2
   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007, 2008, 2010,
3
   2011 Free Software Foundation, Inc.
4
   Contributed by Catherine Moore <clm@cygnus.com>
5
 
6
   This file is part of GCC.
7
 
8
   GCC is free software; you can redistribute it and/or modify it
9
   under the terms of the GNU General Public License as published
10
   by the Free Software Foundation; either version 3, or (at your
11
   option) any later version.
12
 
13
   GCC is distributed in the hope that it will be useful, but WITHOUT
14
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16
   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
/* elfos.h should have already been included.  Now just override
23
   any conflicting definitions and add any extras.  */
24
 
25
/* Run-time Target Specification.  */
26
 
27
/* Default to using software floating point.  */
28
#ifndef TARGET_DEFAULT
29
#define TARGET_DEFAULT  (0)
30
#endif
31
 
32
/* Now we define the strings used to build the spec file.  */
33
#define UNKNOWN_ELF_STARTFILE_SPEC      " crti%O%s crtbegin%O%s crt0%O%s"
34
 
35
#undef  STARTFILE_SPEC
36
#define STARTFILE_SPEC  UNKNOWN_ELF_STARTFILE_SPEC
37
 
38
#define UNKNOWN_ELF_ENDFILE_SPEC        "crtend%O%s crtn%O%s"
39
 
40
#undef  ENDFILE_SPEC
41
#define ENDFILE_SPEC    UNKNOWN_ELF_ENDFILE_SPEC
42
 
43
/* The __USES_INITFINI__ define is tested in newlib/libc/sys/arm/crt0.S
44
   to see if it needs to invoked _init() and _fini().  */
45
#undef  SUBTARGET_CPP_SPEC
46
#define SUBTARGET_CPP_SPEC  "-D__USES_INITFINI__"
47
 
48
#undef  PREFERRED_DEBUGGING_TYPE
49
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
50
 
51
/* Return a nonzero value if DECL has a section attribute.  */
52
#define IN_NAMED_SECTION_P(DECL)                                        \
53
  ((TREE_CODE (DECL) == FUNCTION_DECL || TREE_CODE (DECL) == VAR_DECL)  \
54
   && DECL_SECTION_NAME (DECL) != NULL_TREE)
55
 
56
#undef  ASM_OUTPUT_ALIGNED_BSS
57
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN)           \
58
  do                                                                    \
59
    {                                                                   \
60
      if (IN_NAMED_SECTION_P (DECL))                                    \
61
        switch_to_section (get_named_section (DECL, NULL, 0));           \
62
      else                                                              \
63
        switch_to_section (bss_section);                                \
64
                                                                        \
65
      ASM_OUTPUT_ALIGN (FILE, floor_log2 (ALIGN / BITS_PER_UNIT));      \
66
                                                                        \
67
      last_assemble_variable_decl = DECL;                               \
68
      ASM_DECLARE_OBJECT_NAME (FILE, NAME, DECL);                       \
69
      ASM_OUTPUT_SKIP (FILE, SIZE ? (int)(SIZE) : 1);                   \
70
    }                                                                   \
71
  while (0)
72
 
73
#undef  ASM_OUTPUT_ALIGNED_DECL_LOCAL
74
#define ASM_OUTPUT_ALIGNED_DECL_LOCAL(FILE, DECL, NAME, SIZE, ALIGN)    \
75
  do                                                                    \
76
    {                                                                   \
77
      if ((DECL) != NULL && IN_NAMED_SECTION_P (DECL))                  \
78
        switch_to_section (get_named_section (DECL, NULL, 0));           \
79
      else                                                              \
80
        switch_to_section (bss_section);                                \
81
                                                                        \
82
      ASM_OUTPUT_ALIGN (FILE, floor_log2 (ALIGN / BITS_PER_UNIT));      \
83
      ASM_OUTPUT_LABEL (FILE, NAME);                                    \
84
      fprintf (FILE, "\t.space\t%d\n", SIZE ? (int)(SIZE) : 1);         \
85
    }                                                                   \
86
  while (0)
87
 
88
#ifndef SUBTARGET_CPU_DEFAULT
89
#define SUBTARGET_CPU_DEFAULT           TARGET_CPU_arm7tdmi
90
#endif
91
 
92
/* The libgcc udivmod functions may throw exceptions.  If newlib is
93
   configured to support long longs in I/O, then printf will depend on
94
   udivmoddi4, which will depend on the exception unwind routines,
95
   which will depend on abort, which is defined in libc.  */
96
#undef LINK_GCC_C_SEQUENCE_SPEC
97
#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L --end-group"

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.