1/* Copyright (C) 2007-2020 Free Software Foundation, Inc.
2
3This file is part of GCC.
4
5GCC is free software; you can redistribute it and/or modify it under
6the terms of the GNU General Public License as published by the Free
7Software Foundation; either version 3, or (at your option) any later
8version.
9
10GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11WARRANTY; without even the implied warranty of MERCHANTABILITY or
12FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13for more details.
14
15Under Section 7 of GPL version 3, you are granted additional
16permissions described in the GCC Runtime Library Exception, version
173.1, as published by the Free Software Foundation.
18
19You should have received a copy of the GNU General Public License and
20a copy of the GCC Runtime Library Exception along with this program;
21see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
22<http://www.gnu.org/licenses/>.  */
23
24#undef SUBTARGET_DRIVER_SELF_SPECS
25#define SUBTARGET_DRIVER_SELF_SPECS \
26  "%{!mno-fdpic:-mfdpic} -micplb",
27
28#undef TARGET_OS_CPP_BUILTINS
29#define TARGET_OS_CPP_BUILTINS() GNU_USER_TARGET_OS_CPP_BUILTINS()
30
31#undef STARTFILE_SPEC
32#define STARTFILE_SPEC \
33  "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crtreloc.o%s \
34   crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
35
36#undef LINK_GCC_C_SEQUENCE_SPEC
37#define LINK_GCC_C_SEQUENCE_SPEC \
38  "%{static|static-pie:--start-group} %{mfast-fp:-lbffastfp} %G %{!nolibc:%L} \
39   %{static|static-pie:--end-group} \
40   %{!static:%{!static-pie:%{mfast-fp:-lbffastfp} %G}}"
41
42#undef CPP_SPEC
43#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
44
45#undef LINK_SPEC
46#define LINK_SPEC "\
47  %{mfdpic: -m elf32bfinfd -z text} %{shared} %{pie} \
48  %{static:-dn -Bstatic} \
49  %{shared:-G -Bdynamic} \
50  %{!shared: %{!static: \
51   %{rdynamic:-export-dynamic} \
52   -dynamic-linker /lib/ld-uClibc.so.0} \
53   %{static}} -init __init -fini __fini"
54
55#undef TARGET_SUPPORTS_SYNC_CALLS
56#define TARGET_SUPPORTS_SYNC_CALLS 1
57