]> gcc.gnu.org Git - gcc.git/blame - gcc/config/mips/linux64.h
config.gcc (mips64*-*-linux*): Set the default abi to n32.
[gcc.git] / gcc / config / mips / linux64.h
CommitLineData
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
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2, or (at your option)
10any later version.
11
12GCC is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING. If not, write to
19the Free Software Foundation, 59 Temple Place - Suite 330,
20Boston, 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
This page took 0.580011 seconds and 5 git commands to generate.