]>
Commit | Line | Data |
---|---|---|
3bd6d4c4 AO |
1 | /* Definitions for MIPS running Linux-based GNU systems with ELF format |
2 | using n32/64 abi. | |
aa335b76 | 3 | Copyright 2002, 2003, 2004 Free Software Foundation, Inc. |
3bd6d4c4 AO |
4 | |
5 | This file is part of GCC. | |
6 | ||
7 | GCC is free software; you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License as published by | |
9 | the Free Software Foundation; either version 2, or (at your option) | |
10 | any later version. | |
11 | ||
12 | GCC is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with GCC; see the file COPYING. If not, write to | |
19 | the Free Software Foundation, 59 Temple Place - Suite 330, | |
20 | Boston, MA 02111-1307, USA. */ | |
21 | ||
2184a120 RS |
22 | /* Force the default endianness and ABI flags onto the command line |
23 | in order to make the other specs easier to write. */ | |
3bd6d4c4 | 24 | #define DRIVER_SELF_SPECS \ |
c0a579df | 25 | "%{!EB:%{!EL:%(endian_spec)}}", \ |
2184a120 | 26 | "%{!mabi=*: -mabi=n32}" |
c0a579df | 27 | |
3bd6d4c4 AO |
28 | #undef SUBTARGET_ASM_SPEC |
29 | #define SUBTARGET_ASM_SPEC "\ | |
30 | %{!fno-PIC:%{!fno-pic:-KPIC}} \ | |
2184a120 | 31 | %{fno-PIC:-non_shared} %{fno-pic:-non_shared}" |
3bd6d4c4 AO |
32 | |
33 | #undef LIB_SPEC | |
34 | #define LIB_SPEC "\ | |
fb9fc9f9 | 35 | %{shared: -lc} \ |
3bd6d4c4 AO |
36 | %{!static: \ |
37 | %{mabi=n32:-rpath-link %R/lib32:%R/usr/lib32} \ | |
38 | %{mabi=64:-rpath-link %R/lib64:%R/usr/lib64} \ | |
39 | %{mabi=32:-rpath-link %R/lib:%R/usr/lib}} \ | |
fb9fc9f9 AO |
40 | %{!shared: %{pthread:-lpthread} \ |
41 | %{profile:-lc_p} %{!profile: -lc}}" | |
3bd6d4c4 AO |
42 | |
43 | #undef LINK_SPEC | |
44 | #define LINK_SPEC "\ | |
45 | %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} \ | |
46 | %{bestGnum} %{shared} %{non_shared} \ | |
47 | %{call_shared} %{no_archive} %{exact_version} \ | |
48 | %(endian_spec) \ | |
49 | %{!shared: \ | |
50 | %{!ibcs: \ | |
51 | %{!static: \ | |
52 | %{rdynamic:-export-dynamic} \ | |
53 | %{!dynamic-linker: \ | |
54 | %{mabi=n32: -dynamic-linker /lib32/ld.so.1} \ | |
55 | %{mabi=64: -dynamic-linker /lib64/ld.so.1} \ | |
56 | %{mabi=32: -dynamic-linker /lib/ld.so.1}}} \ | |
57 | %{static:-static}}} \ | |
c0a579df AO |
58 | %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \ |
59 | %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \ | |
60 | %{mabi=32:-melf32%{EB:b}%{EL:l}tsmip}" | |
3bd6d4c4 | 61 | |
3bd6d4c4 | 62 | #undef LOCAL_LABEL_PREFIX |
7f9be256 | 63 | #define LOCAL_LABEL_PREFIX (TARGET_OLDABI ? "$" : ".") |
3bd6d4c4 AO |
64 | |
65 | /* The size in bytes of a DWARF field indicating an offset or length | |
66 | relative to a debug info section, specified to be 4 bytes in the DWARF-2 | |
67 | specification. The SGI/MIPS ABI defines it to be the same as PTR_SIZE. */ | |
68 | #define DWARF_OFFSET_SIZE PTR_SIZE | |
69 | ||
3bd6d4c4 AO |
70 | /* GNU/Linux doesn't use the same floating-point format that IRIX uses |
71 | for long double. There's no need to override this here, since | |
72 | ieee_quad_format is the default, but let's put this here to make | |
73 | sure nobody thinks we just forgot to set it to something else. */ | |
fe0002ee | 74 | #define MIPS_TFMODE_FORMAT mips_quad_format |