1 |
282 |
jeremybenn |
/* Definitions of target machine for GNU compiler, for DEC Alpha on Tru64 5.
|
2 |
|
|
Copyright (C) 2000, 2001, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
3 |
|
|
|
4 |
|
|
This file is part of GCC.
|
5 |
|
|
|
6 |
|
|
GCC is free software; you can redistribute it and/or modify
|
7 |
|
|
it under the terms of the GNU General Public License as published by
|
8 |
|
|
the Free Software Foundation; either version 3, or (at your option)
|
9 |
|
|
any later version.
|
10 |
|
|
|
11 |
|
|
GCC is distributed in the hope that it will be useful,
|
12 |
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13 |
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14 |
|
|
GNU General Public License for more details.
|
15 |
|
|
|
16 |
|
|
You should have received a copy of the GNU General Public License
|
17 |
|
|
along with GCC; see the file COPYING3. If not see
|
18 |
|
|
<http://www.gnu.org/licenses/>. */
|
19 |
|
|
|
20 |
|
|
/* Tru64 5.1 uses IEEE QUAD format. */
|
21 |
|
|
#undef TARGET_DEFAULT
|
22 |
|
|
#define TARGET_DEFAULT (MASK_FPREGS | MASK_LONG_DOUBLE_128)
|
23 |
|
|
|
24 |
|
|
/* In Tru64 UNIX V5.1, Compaq introduced a new assembler
|
25 |
|
|
(/usr/lib/cmplrs/cc/adu) which currently (versions between 3.04.29 and
|
26 |
|
|
3.04.32) breaks mips-tfile. Passing the undocumented -oldas flag reverts
|
27 |
|
|
to using the old assembler (/usr/lib/cmplrs/cc/as[01]).
|
28 |
|
|
|
29 |
|
|
The V5.0 and V5.0A assemblers silently ignore -oldas, so it can be
|
30 |
|
|
specified here.
|
31 |
|
|
|
32 |
|
|
It is clearly not desirable to depend on this undocumented flag, and
|
33 |
|
|
Compaq wants -oldas to go away soon, but until they have released a
|
34 |
|
|
new adu that works with mips-tfile, this is the only option.
|
35 |
|
|
|
36 |
|
|
In some versions of the DTK, the assembler driver invokes ld after
|
37 |
|
|
assembly. This has been fixed in current versions, but adding -c
|
38 |
|
|
works as expected for all versions. */
|
39 |
|
|
|
40 |
|
|
#undef ASM_OLDAS_SPEC
|
41 |
|
|
#define ASM_OLDAS_SPEC "-oldas -c"
|
42 |
|
|
|
43 |
|
|
/* The linker appears to perform invalid code optimizations that result
|
44 |
|
|
in the ldgp emitted for the exception_receiver pattern being incorrectly
|
45 |
|
|
linked. */
|
46 |
|
|
#undef TARGET_LD_BUGGY_LDGP
|
47 |
|
|
#define TARGET_LD_BUGGY_LDGP 1
|
48 |
|
|
|
49 |
|
|
/* Tru64 v5.1 has the float and long double forms of math functions. */
|
50 |
|
|
#undef TARGET_C99_FUNCTIONS
|
51 |
|
|
#define TARGET_C99_FUNCTIONS 1
|
52 |
|
|
|
53 |
|
|
/* The native assembler doesn't understand parenthesis. */
|
54 |
|
|
#define TARGET_ASM_OPEN_PAREN ""
|
55 |
|
|
#define TARGET_ASM_CLOSE_PAREN ""
|
56 |
|
|
|