]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/m68k/uclinux-oldabi.h
freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
[thirdparty/gcc.git] / gcc / config / m68k / uclinux-oldabi.h
CommitLineData
4529dbf1
RS
1/* Definitions of target machine for GCC. m68k/ColdFire based uClinux system
2 using ELF objects with special linker post-processing to produce FLAT
3 executables.
4
2f83c7d6 5 Copyright (C) 2003, 2007 Free Software Foundation, Inc.
4529dbf1
RS
6
7This file is part of GCC.
8
9GCC is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
2f83c7d6 11the Free Software Foundation; either version 3, or (at your option)
4529dbf1
RS
12any later version.
13
14GCC is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
2f83c7d6
NC
20along with GCC; see the file COPYING3. If not see
21<http://www.gnu.org/licenses/>. */
4529dbf1
RS
22
23
5189ab94
JB
24/* The old uClinux ABI used 80-byte "long double"s for ColdFire too. */
25#undef LONG_DOUBLE_TYPE_SIZE
26#define LONG_DOUBLE_TYPE_SIZE 80
27#undef LIBGCC2_LONG_DOUBLE_TYPE_SIZE
28#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 80
29
4529dbf1
RS
30/* Undo the definition of STARTFILE_SPEC from m68kelf.h so we'll
31 pick the default from gcc.c (just link crt0.o from multilib dir). */
32#undef STARTFILE_SPEC
33
34/* Override the default LIB_SPEC from gcc.c. We don't currently support
35 profiling, or libg.a. */
36#undef LIB_SPEC
37#define LIB_SPEC "\
38%{mid-shared-library:-R libc.gdb%s -elf2flt -shared-lib-id 0} -lc \
39"
40
41/* we don't want a .eh_frame section. */
42#define EH_FRAME_IN_DATA_SECTION
43
44/* ??? Quick hack to get constructors working. Make this look more like a
45 COFF target, so the existing dejagnu/libgloss support works. A better
46 solution would be to make the necessary dejagnu and libgloss changes so
47 that we can use normal the ELF constructor mechanism. */
48#undef INIT_SECTION_ASM_OP
49#undef FINI_SECTION_ASM_OP
50#undef ENDFILE_SPEC
51#define ENDFILE_SPEC ""
52
53/* Bring in standard linux defines */
54#undef TARGET_OS_CPP_BUILTINS
55#define TARGET_OS_CPP_BUILTINS() \
56 do \
57 { \
58 builtin_define_std ("mc68000"); \
59 builtin_define ("__uClinux__"); \
60 builtin_define_std ("linux"); \
61 builtin_define_std ("unix"); \
62 builtin_define ("__gnu_linux__"); \
63 builtin_assert ("system=linux"); \
64 builtin_assert ("system=unix"); \
65 builtin_assert ("system=posix"); \
66 if (TARGET_ID_SHARED_LIBRARY) \
67 builtin_define ("__ID_SHARED_LIBRARY__"); \
68 } \
69 while (0)
70