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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [config/] [mips/] [iris6.h] - Blame information for rev 827

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

Line No. Rev Author Line
1 38 julius
/* Definitions of target machine for GNU compiler.  IRIX version 6.
2
   Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
3
   2005, 2006, 2007
4
   Free Software Foundation, Inc.
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
/* Allow some special handling for IRIX 6.  */
23
#undef TARGET_IRIX6
24
#define TARGET_IRIX6 1
25
 
26
/* Default to -mabi=n32 and -mips3.  */
27
#undef MULTILIB_DEFAULTS
28
#define MULTILIB_DEFAULTS { "mabi=n32" }
29
 
30
/* Force the default ABI onto the command line in order to make the specs
31
   easier to write.  Default to the mips2 ISA for the O32 ABI.  */
32
#define DRIVER_SELF_SPECS \
33
  "%{!mabi=*: -mabi=n32}", \
34
  "%{mabi=32: %{!mips*: %{!march*: -mips2}}}"
35
 
36
/* Force the generation of dwarf .debug_frame sections even if not
37
   compiling -g.  This guarantees that we can unwind the stack.  */
38
#define DWARF2_FRAME_INFO 1
39
 
40
/* The system unwinder in libexc requires a specific dwarf return address
41
   column to work.  */
42
#undef  DWARF_FRAME_RETURN_COLUMN
43
#define DWARF_FRAME_RETURN_COLUMN (FP_REG_LAST + 1)
44
 
45
#undef MACHINE_TYPE
46
#define MACHINE_TYPE "SGI running IRIX 6.x"
47
 
48
#ifdef IRIX_USING_GNU_LD
49
#define IRIX_SUBTARGET_LINK_SPEC \
50
  "%{mabi=32: -melf32bsmip}%{mabi=n32: -melf32bmipn32}%{mabi=64: -melf64bmip}"
51
#else
52
#define IRIX_SUBTARGET_LINK_SPEC \
53
  "%{w} -_SYSTYPE_SVR4 -woff 131 \
54
   %{mabi=32: -32}%{mabi=n32: -n32}%{mabi=64: -64}%{!mabi*: -n32}"
55
#endif
56
 
57
/* Profiling is supported via libprof1.a not -lc_p as in IRIX 3.  */
58
#undef STARTFILE_SPEC
59
#define STARTFILE_SPEC \
60
  "%{!shared: \
61
     %{mabi=32:%{pg:gcrt1.o%s} \
62
       %{!pg:%{p:mcrt1.o%s libprof1.a%s}%{!p:crt1.o%s}}} \
63
     %{mabi=n32: \
64
       %{mips4:%{pg:/usr/lib32/mips4/gcrt1.o%s} \
65
         %{!pg:%{p:/usr/lib32/mips4/mcrt1.o%s /usr/lib32/mips4/libprof1.a%s} \
66
           %{!p:/usr/lib32/mips4/crt1.o%s}}} \
67
       %{!mips4:%{pg:/usr/lib32/mips3/gcrt1.o%s} \
68
         %{!pg:%{p:/usr/lib32/mips3/mcrt1.o%s /usr/lib32/mips3/libprof1.a%s} \
69
           %{!p:/usr/lib32/mips3/crt1.o%s}}}} \
70
     %{mabi=64: \
71
       %{mips4:%{pg:/usr/lib64/mips4/gcrt1.o} \
72
         %{!pg:%{p:/usr/lib64/mips4/mcrt1.o /usr/lib64/mips4/libprof1.a} \
73
           %{!p:/usr/lib64/mips4/crt1.o}}} \
74
       %{!mips4:%{pg:/usr/lib64/mips3/gcrt1.o} \
75
         %{!pg:%{p:/usr/lib64/mips3/mcrt1.o /usr/lib64/mips3/libprof1.a} \
76
           %{!p:/usr/lib64/mips3/crt1.o}}}}} \
77
  irix-crti.o%s crtbegin.o%s"
78
 
79
#ifdef IRIX_USING_GNU_LD
80
#define SUBTARGET_DONT_WARN_UNUSED_SPEC ""
81
#define SUBTARGET_WARN_UNUSED_SPEC ""
82
#else
83
#define SUBTARGET_DONT_WARN_UNUSED_SPEC "-dont_warn_unused"
84
#define SUBTARGET_WARN_UNUSED_SPEC "-warn_unused"
85
#endif
86
 
87
#undef LIB_SPEC
88
#define LIB_SPEC \
89
  "%{mabi=n32: %{mips4:-L/usr/lib32/mips4} %{!mips4:-L/usr/lib32/mips3} \
90
     -L/usr/lib32} \
91
   %{mabi=64: %{mips4:-L/usr/lib64/mips4} %{!mips4:-L/usr/lib64/mips3} \
92
     -L/usr/lib64} \
93
   %{!shared:" \
94
     SUBTARGET_DONT_WARN_UNUSED_SPEC \
95
     " %{pthread:-lpthread} %{p:libprof1.a%s}%{pg:libprof1.a%s} -lc " \
96
     SUBTARGET_WARN_UNUSED_SPEC "}"
97
 
98
/* Avoid getting two warnings for libgcc.a everytime we link.  libgcc.a
99
   contains references to copysignl, so link with libm to resolve them.  */
100
#undef LIBGCC_SPEC
101
#define LIBGCC_SPEC \
102
  SUBTARGET_DONT_WARN_UNUSED_SPEC " -lgcc -lm " SUBTARGET_WARN_UNUSED_SPEC
103
 
104
#undef ENDFILE_SPEC
105
#define ENDFILE_SPEC \
106
  "crtend.o%s irix-crtn.o%s \
107
   %{!shared: \
108
     %{mabi=32:crtn.o%s}\
109
     %{mabi=n32:%{mips4:/usr/lib32/mips4/crtn.o%s}\
110
       %{!mips4:/usr/lib32/mips3/crtn.o%s}}\
111
     %{mabi=64:%{mips4:/usr/lib64/mips4/crtn.o%s}\
112
       %{!mips4:/usr/lib64/mips3/crtn.o%s}}}"
113
 
114
#define MIPS_TFMODE_FORMAT mips_extended_format
115
 
116
#undef SUBTARGET_CPP_SPEC
117
#define SUBTARGET_CPP_SPEC "%{pthread:-D_REENTRANT}"
118
 

powered by: WebSVN 2.1.0

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