freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build pie executables.
2015-05-18 Andreas Tobler <andreast@gcc.gnu.org> gcc: * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build pie executables. (FBSD_ENDFILE_SPEC): Likewise. * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from config/freebsd-spec.h. (ENDFILE_SPEC): Likewise. gcc/testsuite: * lib/target-supports.exp (check_effective_target_pie): Add *-*-freebsd* to the family of pie capable targets. From-SVN: r223308
This commit is contained in:
parent
f41aecf428
commit
8ea0dcb9e0
|
@ -1,3 +1,12 @@
|
|||
2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
|
||||
|
||||
* config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
|
||||
pie executables.
|
||||
(FBSD_ENDFILE_SPEC): Likewise.
|
||||
* config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
|
||||
config/freebsd-spec.h.
|
||||
(ENDFILE_SPEC): Likewise.
|
||||
|
||||
2015-05-18 Uros Bizjak <ubizjak@gmail.com>
|
||||
Richard Henderson <rth@redhat.com>
|
||||
|
||||
|
|
|
@ -66,8 +66,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|||
"%{!shared: \
|
||||
%{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
|
||||
%{!p:%{profile:gcrt1.o%s} \
|
||||
%{!profile:crt1.o%s}}}} \
|
||||
crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
|
||||
%{!profile: \
|
||||
%{pie: Scrt1.o%s;:crt1.o%s}}}}} \
|
||||
crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
|
||||
|
||||
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
|
||||
the magical crtend.o file (see crtstuff.c) which provides part of
|
||||
|
@ -76,7 +77,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|||
`crtn.o'. */
|
||||
|
||||
#define FBSD_ENDFILE_SPEC \
|
||||
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
|
||||
"%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
|
||||
|
||||
/* Provide a LIB_SPEC appropriate for FreeBSD as configured and as
|
||||
required by the user-land thread model. Before __FreeBSD_version
|
||||
|
|
|
@ -59,28 +59,15 @@ along with GCC; see the file COPYING3. If not see
|
|||
#define SUBTARGET_EXTRA_SPECS \
|
||||
{ "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
|
||||
|
||||
/* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add
|
||||
the magical crtbegin.o file (see crtstuff.c) which provides part
|
||||
of the support for getting C++ file-scope static object constructed
|
||||
before entering `main'. */
|
||||
/* Use the STARTFILE_SPEC from config/freebsd-spec.h. */
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC \
|
||||
"%{!shared: \
|
||||
%{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
|
||||
%{!p:%{profile:gcrt1.o%s} \
|
||||
%{!profile:crt1.o%s}}}} \
|
||||
crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC FBSD_STARTFILE_SPEC
|
||||
|
||||
/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
|
||||
the magical crtend.o file (see crtstuff.c) which provides part of
|
||||
the support for getting C++ file-scope static object constructed
|
||||
before entering `main', followed by a normal "finalizer" file,
|
||||
`crtn.o'. */
|
||||
/* Use the ENDFILE_SPEC from config/freebsd-spec.h. */
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC \
|
||||
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC FBSD_ENDFILE_SPEC
|
||||
|
||||
/* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support
|
||||
for the special GCC options -static and -shared, which allow us to
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2015-05-12 Andreas Tobler <andreast@gcc.gnu.org>
|
||||
|
||||
* lib/target-supports.exp (check_effective_target_pie): Add *-*-freebsd*
|
||||
to the family of pie capable targets.
|
||||
|
||||
2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
|
||||
|
||||
* gcc.target/arm/bics_1.c : New testcase.
|
||||
|
|
|
@ -954,6 +954,7 @@ proc check_effective_target_shared { } {
|
|||
|
||||
proc check_effective_target_pie { } {
|
||||
if { [istarget *-*-darwin\[912\]*]
|
||||
|| [istarget *-*-freebsd*]
|
||||
|| [istarget *-*-linux*]
|
||||
|| [istarget *-*-gnu*] } {
|
||||
return 1;
|
||||
|
|
Loading…
Reference in New Issue