comparison gcc/config/freebsd-spec.h @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents f6334be47118
children 84e7813d76e9
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 /* Base configuration file for all FreeBSD targets. 1 /* Base configuration file for all FreeBSD targets.
2 Copyright (C) 1999, 2000, 2001, 2004, 2005, 2007, 2009, 2010 2 Copyright (C) 1999-2017 Free Software Foundation, Inc.
3 Free Software Foundation, Inc.
4 3
5 This file is part of GCC. 4 This file is part of GCC.
6 5
7 GCC is free software; you can redistribute it and/or modify 6 GCC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
65 64
66 #define FBSD_STARTFILE_SPEC \ 65 #define FBSD_STARTFILE_SPEC \
67 "%{!shared: \ 66 "%{!shared: \
68 %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ 67 %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
69 %{!p:%{profile:gcrt1.o%s} \ 68 %{!p:%{profile:gcrt1.o%s} \
70 %{!profile:crt1.o%s}}}} \ 69 %{!profile: \
71 crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" 70 %{pie: Scrt1.o%s;:crt1.o%s}}}}} \
71 crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
72 72
73 /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on 73 /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
74 the magical crtend.o file (see crtstuff.c) which provides part of 74 the magical crtend.o file (see crtstuff.c) which provides part of
75 the support for getting C++ file-scope static object constructed 75 the support for getting C++ file-scope static object constructed
76 before entering `main', followed by a normal "finalizer" file, 76 before entering `main', followed by a normal "finalizer" file,
77 `crtn.o'. */ 77 `crtn.o'. */
78 78
79 #define FBSD_ENDFILE_SPEC \ 79 #define FBSD_ENDFILE_SPEC \
80 "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" 80 "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
81 81
82 /* Provide a LIB_SPEC appropriate for FreeBSD as configured and as 82 /* Provide a LIB_SPEC appropriate for FreeBSD as configured and as
83 required by the user-land thread model. Before __FreeBSD_version 83 required by the user-land thread model. Before __FreeBSD_version
84 500016, select the appropriate libc, depending on whether we're 84 500016, select the appropriate libc, depending on whether we're
85 doing profiling or need threads support. At __FreeBSD_version 85 doing profiling or need threads support. At __FreeBSD_version
132 #define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1" 132 #define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1"
133 #else 133 #else
134 #define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1" 134 #define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
135 #endif 135 #endif
136 136
137 #if defined(HAVE_LD_EH_FRAME_HDR) 137 /* NOTE: The freebsd-spec.h header is included also for various
138 #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " 138 non-FreeBSD powerpc targets, thus it should never define macros
139 #endif 139 other than FBSD_* prefixed ones, or USING_CONFIG_FREEBSD_SPEC. */
140
141 /* Use --as-needed -lgcc_s for eh support. */
142 #ifdef HAVE_LD_AS_NEEDED
143 #define USE_LD_AS_NEEDED 1
144 #endif