config.gcc (x86_64-*-freebsd*): New target.
2002-01-25 David O'Brien <obrien@FreeBSD.org> * config.gcc (x86_64-*-freebsd*): New target. (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its value. (i[34567]86-*-freebsd*): Don't include svr4.h. * config/i386/freebsd64.h: New file. Approved by: Richard Henderson <rth@redhat.com> Message-ID: <20020125160119.B17943@redhat.com> From-SVN: r49233
This commit is contained in:
parent
4857d29d81
commit
e564e61805
@ -1,3 +1,11 @@
|
||||
2002-01-25 David O'Brien <obrien@FreeBSD.org>
|
||||
|
||||
* config.gcc (x86_64-*-freebsd*): New target.
|
||||
(x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
|
||||
value.
|
||||
(i[34567]86-*-freebsd*): Don't include svr4.h.
|
||||
* config/i386/freebsd64.h: New file.
|
||||
|
||||
2002-01-25 Douglas B Rupp <rupp@gnat.com>
|
||||
|
||||
* config/alpha/x-vms (version): Make static.
|
||||
|
@ -270,6 +270,13 @@ if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
|
||||
then
|
||||
tm_p_file=${cpu_type}/${cpu_type}-protos.h
|
||||
fi
|
||||
|
||||
case $machine in
|
||||
x86_64-*-*)
|
||||
tm_file="i386/biarch64.h ${tm_file}"
|
||||
;;
|
||||
esac
|
||||
|
||||
# On a.out targets, we need to use collect2.
|
||||
case $machine in
|
||||
*-*-*aout*)
|
||||
@ -1127,7 +1134,10 @@ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aou
|
||||
tmake_file=t-freebsd
|
||||
;;
|
||||
i[34567]86-*-freebsd*)
|
||||
tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h ${fbsd_tm_file} i386/freebsd.h"
|
||||
tm_file="${tm_file} i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
|
||||
;;
|
||||
x86_64-*-freebsd*)
|
||||
tm_file="${tm_file} i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
|
||||
;;
|
||||
i[34567]86-*-netbsdelf*)
|
||||
tm_file="${tm_file} i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
|
||||
@ -1139,7 +1149,7 @@ i[34567]86-*-netbsd*)
|
||||
use_collect2=yes
|
||||
;;
|
||||
x86_64-*-netbsd*)
|
||||
tm_file="i386/biarch64.h i386/i386.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
|
||||
tm_file="${tm_file} i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
|
||||
float_format=i386
|
||||
;;
|
||||
i[34567]86-*-openbsd*)
|
||||
@ -1205,7 +1215,7 @@ i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
|
||||
fi
|
||||
;;
|
||||
x86_64-*-linux*)
|
||||
tm_file="i386/biarch64.h i386/i386.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
|
||||
tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h linux.h \
|
||||
i386/x86-64.h i386/linux64.h"
|
||||
tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
|
||||
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
|
||||
|
52
gcc/config/i386/freebsd64.h
Normal file
52
gcc/config/i386/freebsd64.h
Normal file
@ -0,0 +1,52 @@
|
||||
/* Definitions for AMD x86-64 running FreeBSD with ELF format
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
Contributed by David O'Brien <obrien@FreeBSD.org>
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU CC is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
|
||||
#undef TARGET_VERSION
|
||||
#define TARGET_VERSION fprintf (stderr, " (FreeBSD/x86-64 ELF)");
|
||||
|
||||
/* Provide a LINK_SPEC appropriate for the FreeBSD/x86-64 ELF target.
|
||||
This is a copy of LINK_SPEC from <i386/freebsd.h> tweaked for
|
||||
the x86-64 target. */
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "\
|
||||
%{!m32:-m elf_x86_64} \
|
||||
%{m32:-m elf_i386} \
|
||||
%{Wl,*:%*} \
|
||||
%{v:-V} \
|
||||
%{assert*} %{R*} %{rpath*} %{defsym*} \
|
||||
%{shared:-Bshareable %{h*} %{soname*}} \
|
||||
%{!shared: \
|
||||
%{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \
|
||||
%{static:-Bstatic}} \
|
||||
%{symbolic:-Bsymbolic}"
|
||||
|
||||
/* Grrr... x86-64.h gets this wrong and it shouldn't be trying to set this
|
||||
policy... Restore to the FreeBSD/i386 setting. */
|
||||
/* Don't default to pcc-struct-return for IA-32 ELF code, because we need to
|
||||
retain compatibility with older FreeBSD/i386 ELF gcc versions (even though
|
||||
the SVR4 ABI for the i386 says that records and unions are returned in
|
||||
memory). */
|
||||
#undef DEFAULT_PCC_STRUCT_RETURN
|
||||
#define DEFAULT_PCC_STRUCT_RETURN 0
|
Loading…
Reference in New Issue
Block a user