]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/spu/spu-elf.h
configure.ac: Add --with-native-system-header-dir.
[thirdparty/gcc.git] / gcc / config / spu / spu-elf.h
CommitLineData
03029de4 1/* Copyright (C) 2006, 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
85d9c13c
TS
2
3 This file is free software; you can redistribute it and/or modify it under
4 the terms of the GNU General Public License as published by the Free
2f83c7d6 5 Software Foundation; either version 3 of the License, or (at your option)
85d9c13c
TS
6 any later version.
7
8 This file is distributed in the hope that it will be useful, but WITHOUT
9 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11 for more details.
12
13 You should have received a copy of the GNU General Public License
2f83c7d6
NC
14 along with GCC; see the file COPYING3. If not see
15 <http://www.gnu.org/licenses/>. */
85d9c13c
TS
16
17#ifndef OBJECT_FORMAT_ELF
18 #error elf.h included before elfos.h
19#endif
20
21#define BSS_SECTION_ASM_OP "\t.section .bss"
22
23#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
24 asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
25
26
5800e0a0
UW
27/* The following macros define "native" directory locations; on the SPU,
28 these are used only when building the compiler with --with-sysroot.
29 This can be used to build a pair of PPU and SPU cross-compilers with
30 a common sysroot; the SPU compiler will search for its files in
31 ${sysroot}/include and ${sysroot}/lib. */
32
33/* STANDARD_STARTFILE_PREFIX_1 is "/lib", which we keep.
34 STANDARD_STARTFILE_PREFIX_2 is "/usr/lib" -- we remove this. */
35#undef STANDARD_STARTFILE_PREFIX_2
36#define STANDARD_STARTFILE_PREFIX_2 ""
37
5800e0a0
UW
38/* We do not provide any "/usr/local/include" directory on SPU. */
39#undef LOCAL_INCLUDE_DIR
cc8d70cd
SL
40
41/* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
42 the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
43 provides part of the support for getting C++ file-scope static
44 object constructed before entering `main'. */
45
46#undef STARTFILE_SPEC
75741fed
KW
47#define STARTFILE_SPEC "%{mstdmain: %{pg|p:gcrt2.o%s;:crt2.o%s}}\
48 %{!mstdmain: %{pg|p:gcrt1.o%s;:crt1.o%s}}\
49 crti.o%s crtbegin.o%s"
85d9c13c
TS
50
51#undef ENDFILE_SPEC
cc8d70cd 52#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
85d9c13c
TS
53
54#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
55
56#define DWARF2_DEBUGGING_INFO 1
57#define DWARF2_ASM_LINE_DEBUG_INFO 1
58
59#define SET_ASM_OP "\t.set\t"
60
61#undef TARGET_ASM_NAMED_SECTION
62#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section
63
64#define EH_FRAME_IN_DATA_SECTION 1
65
66#define LINK_SPEC "%{mlarge-mem: --defsym __stack=0xfffffff0 }"
67
299456f3
BE
68#define LIB_SPEC "-( %{!shared:%{g*:-lg}} -lc -lgloss -) \
69 %{mno-atomic-updates:-lgcc_cachemgr_nonatomic; :-lgcc_cachemgr} \
70 %{mcache-size=128:-lgcc_cache128k; \
71 mcache-size=64 :-lgcc_cache64k; \
72 mcache-size=32 :-lgcc_cache32k; \
73 mcache-size=16 :-lgcc_cache16k; \
74 mcache-size=8 :-lgcc_cache8k; \
75 :-lgcc_cache64k}"