Update configuration files for GCC 4.2.

This commit is contained in:
Alexander Kabaev 2007-05-19 02:30:20 +00:00
parent 0d6df2bb56
commit 096b39c236
7 changed files with 300 additions and 1251 deletions

View File

@ -1,5 +1,5 @@
/* Base configuration file for all FreeBSD targets.
Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
This file is part of GCC.
@ -15,8 +15,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
/* $FreeBSD$ */
@ -64,7 +64,7 @@ Boston, MA 02111-1307, USA. */
} \
while (0)
/* Define the default FreeBSD-specific per-CPU hook code. */
/* Define the default FreeBSD-specific per-CPU hook code. */
#define FBSD_TARGET_CPU_CPP_BUILTINS() do {} while (0)
#ifdef FREEBSD_NATIVE
@ -77,7 +77,7 @@ Boston, MA 02111-1307, USA. */
do {} while (0)
#endif
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
/* Provide a CPP_SPEC appropriate for FreeBSD. We just deal with the GCC
option `-posix', and PIC issues. Try to detect support for the
`long long' type. Unfortunately the GCC spec parser will not allow us
to properly detect the "iso9899:1990" and "iso9899:199409" forms of
@ -87,14 +87,14 @@ Boston, MA 02111-1307, USA. */
#define FBSD_CPP_SPEC " \
%(cpp_cpu) \
%{fPIC|fpic|fPIE|fpie:-D__PIC__ -D__pic__} \
%(cpp_arch) \
%{!ansi:%{!std=c89:%{!std=iso9899.1990:%{!std=iso9899.199409:-D_LONGLONG}}}} \
%{posix:-D_POSIX_SOURCE}"
/* 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'. */
#define FBSD_STARTFILE_SPEC "\
%{!shared: \
%{pg:gcrt1.o%s} \
@ -104,8 +104,7 @@ Boston, MA 02111-1307, USA. */
%{profile:gcrt1.o%s} \
%{!profile:crt1.o%s}}}} \
crti.o%s \
%{!shared:crtbegin.o%s} \
%{shared:crtbeginS.o%s}"
%{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbegin.o%s}"
/* Provide an ENDFILE_SPEC appropriate for FreeBSD/i386. Here we tack on
our own magical crtend.o file (see crtstuff.c) which provides part of
@ -133,7 +132,7 @@ Boston, MA 02111-1307, USA. */
/* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate
libc, depending on whether we're doing profiling or need threads support.
(simular to the default, except no -lg, and no -p). */
(similar to the default, except no -lg, and no -p). */
#ifdef FBSD_NO_THREADS
#define FBSD_LIB_SPEC " \
@ -155,12 +154,20 @@ is built with the --enable-threads configure-time option.} \
%{!pthread:-lc_p} \
%{pthread:-lc_r_p}} \
}"
#else
#elif __FreeBSD_version < 700022
#define FBSD_LIB_SPEC " \
%{!shared: \
%{!pg: %{pthread:-lpthread} -lc} \
%{pg: %{pthread:-lpthread_p} -lc_p} \
}"
#else
#define FBSD_LIB_SPEC " \
%{!shared: \
%{!pg: %{pthread:-lpthread} -lc} \
%{pg: %{pthread:-lpthread_p} -lc_p}} \
%{shared: \
%{pthread:-lpthread} -lc} \
"
#endif
#endif
@ -169,3 +176,12 @@ is built with the --enable-threads configure-time option.} \
#else
#define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
#endif
#if defined(HAVE_LD_EH_FRAME_HDR)
#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
#endif
/* Use --as-needed -lgcc_s for eh support. */
#ifdef HAVE_LD_AS_NEEDED
#define USE_LD_AS_NEEDED 1
#endif

View File

@ -15,8 +15,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
/* Common FreeBSD configuration.
All FreeBSD architectures should include this file, which will specify
@ -90,11 +90,7 @@ Boston, MA 02111-1307, USA. */
with libraries compiled with the native cc. */
#undef NO_DOLLAR_IN_LABEL
/* Used by libgcc2.c. We support file locking with fcntl / F_SETLKW.
This enables the test coverage code to use file locking when exiting a
program, which avoids race conditions if the program has forked. */
#define TARGET_HAS_F_SETLKW 1
/* Define this so we can compile MS code for use with WINE. */
#define HANDLE_PRAGMA_PACK_PUSH_POP
#define TARGET_POSIX_IO

View File

@ -1,5 +1,5 @@
/* Definitions for Intel 386 running FreeBSD with ELF format
Copyright (C) 1996, 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 1996, 2000, 2002, 2004 Free Software Foundation, Inc.
Contributed by Eric Youngdale.
Modified for stabs-in-ELF by H.J. Lu.
Adapted from GNU/Linux version by John Polstra.
@ -19,17 +19,14 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
/* $FreeBSD$ */
#undef CC1_SPEC
#define CC1_SPEC "%(cc1_cpu) %{profile:-p}"
#undef ASM_SPEC
#define ASM_SPEC "%{v*: -v}"
/* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support
for the special GCC options -static and -shared, which allow us to
link things in one of these three modes by applying the appropriate
@ -44,7 +41,6 @@ Boston, MA 02111-1307, USA. */
#undef LINK_SPEC
#define LINK_SPEC "\
%{p:%nconsider using `-pg' instead of `-p' with gprof(1) } \
%{Wl,*:%*} \
%{v:-V} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \
@ -88,16 +84,8 @@ Boston, MA 02111-1307, USA. */
#define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
#define MASK_PROFILER_EPILOGUE 010000000000
#define TARGET_PROFILER_EPILOGUE (target_flags & MASK_PROFILER_EPILOGUE)
#define TARGET_ELF 1
#undef SUBTARGET_SWITCHES
#define SUBTARGET_SWITCHES \
{ "profiler-epilogue", MASK_PROFILER_EPILOGUE, "Function profiler epilogue"}, \
{ "no-profiler-epilogue", -MASK_PROFILER_EPILOGUE, "No function profiler epilogue"},
/* This goes away when the math emulator is fixed. */
#undef TARGET_SUBTARGET_DEFAULT
#define TARGET_SUBTARGET_DEFAULT \
@ -174,17 +162,6 @@ Boston, MA 02111-1307, USA. */
#undef ASM_HACK_SYMBOLREF_CODE /* BDE will need to fix this. */
#undef ASM_OUTPUT_ALIGN
#define ASM_OUTPUT_ALIGN(FILE, LOG) \
do { \
if ((LOG)!=0) { \
if (in_text_section()) \
fprintf ((FILE), "\t.p2align %d,0x90\n", (LOG)); \
else \
fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
} \
} while (0)
/* A C statement to output to the stdio stream FILE an assembler
command to advance the location counter to a multiple of 1<<LOG
bytes if it is within MAX_SKIP bytes.
@ -233,8 +210,7 @@ Boston, MA 02111-1307, USA. */
#undef DBX_REGISTER_NUMBER
#define DBX_REGISTER_NUMBER(n) (TARGET_64BIT ? dbx64_register_map[n] \
: (write_symbols == DWARF2_DEBUG \
|| write_symbols == DWARF_DEBUG) \
: (write_symbols == DWARF2_DEBUG) \
? svr4_dbx_register_map[(n)] \
: dbx_register_map[(n)])
@ -250,21 +226,21 @@ Boston, MA 02111-1307, USA. */
#undef DBX_OUTPUT_LBRAC
#define DBX_OUTPUT_LBRAC(FILE, NAME) \
do { \
fprintf (asmfile, "%s %d,0,0,", ASM_STABN_OP, N_LBRAC); \
assemble_name (asmfile, NAME); \
fputc ('-', asmfile); \
assemble_name (asmfile, \
fprintf (asm_out_file, "%s %d,0,0,", ASM_STABN_OP, N_LBRAC); \
assemble_name (asm_out_file, NAME); \
fputc ('-', asm_out_file); \
assemble_name (asm_out_file, \
XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); \
fprintf (asmfile, "\n"); \
fprintf (asm_out_file, "\n"); \
} while (0)
#undef DBX_OUTPUT_RBRAC
#define DBX_OUTPUT_RBRAC(FILE, NAME) \
do { \
fprintf (asmfile, "%s %d,0,0,", ASM_STABN_OP, N_RBRAC); \
assemble_name (asmfile, NAME); \
fputc ('-', asmfile); \
assemble_name (asmfile, \
fprintf (asm_out_file, "%s %d,0,0,", ASM_STABN_OP, N_RBRAC); \
assemble_name (asm_out_file, NAME); \
fputc ('-', asm_out_file); \
assemble_name (asm_out_file, \
XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); \
fprintf (asmfile, "\n"); \
fprintf (asm_out_file, "\n"); \
} while (0)

View File

@ -1,5 +1,5 @@
/* Definitions for AMD x86-64 running FreeBSD with ELF format
Copyright (C) 2002 Free Software Foundation, Inc.
Copyright (C) 2002, 2004 Free Software Foundation, Inc.
Contributed by David O'Brien <obrien@FreeBSD.org>
This file is part of GCC.
@ -16,8 +16,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
/* $FreeBSD$ */
@ -46,7 +46,6 @@ Boston, MA 02111-1307, USA. */
#undef LINK_SPEC
#define LINK_SPEC "\
%{m32:-m elf_i386_fbsd} \
%{Wl,*:%*} \
%{v:-V} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \

File diff suppressed because it is too large Load Diff

View File

@ -16,8 +16,8 @@
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA. */
Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA. */
/* Override the defaults, which exist to force the proper definition. */
@ -27,8 +27,7 @@
#undef CPP_OS_FREEBSD_SPEC
#define CPP_OS_FREEBSD_SPEC "\
-D__PPC__ -D__ppc__ -D__PowerPC__ -D__powerpc__ \
-Acpu=powerpc -Amachine=powerpc \
%{fPIC|fpic|fPIE|fpie:-D__PIC__ -D__pic__} "
-Acpu=powerpc -Amachine=powerpc "
#undef STARTFILE_DEFAULT_SPEC
#define STARTFILE_DEFAULT_SPEC "%(startfile_freebsd)"

View File

@ -1,5 +1,5 @@
/* Definitions for Sun SPARC64 running FreeBSD using the ELF format
Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
This file is part of GCC.
@ -16,7 +16,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
/* $FreeBSD$ */
@ -41,8 +42,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define LINK_SPEC "%(link_arch) \
%{!mno-relax:%{!r:-relax}} \
%{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
%{Wl,*:%*} \
%{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
%{shared:-Bshareable %{h*} %{soname*}} \
%{symbolic:-Bsymbolic} \
@ -71,10 +71,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef LONG_DOUBLE_TYPE_SIZE
#define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
/* Constant which presents upper bound of the above value. */
#undef MAX_LONG_DOUBLE_TYPE_SIZE
#define MAX_LONG_DOUBLE_TYPE_SIZE 128
/* Define this to set long double type size to use in libgcc2.c, which can
not depend on target_flags. */
#if defined(__arch64__) || defined(__LONG_DOUBLE_128__)
@ -85,11 +81,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Definitions for 64-bit SPARC running systems with ELF. */
#undef SUBTARGET_SWITCHES
#define SUBTARGET_SWITCHES \
{"long-double-64", -MASK_LONG_DOUBLE_128, N_("Use 64 bit long doubles") }, \
{"long-double-128", MASK_LONG_DOUBLE_128, N_("Use 128 bit long doubles") },
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (FreeBSD/sparc64 ELF)");
@ -140,14 +131,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef LOCAL_LABEL_PREFIX
#define LOCAL_LABEL_PREFIX "."
/* XXX2 */
/* This is how to output a reference to an internal numbered label where
PREFIX is the class of label and NUM is the number within the class. */
#undef ASM_OUTPUT_INTERNAL_LABELREF
#define ASM_OUTPUT_INTERNAL_LABELREF(FILE,PREFIX,NUM) \
fprintf (FILE, ".L%s%d", PREFIX, NUM)
/* XXX2 */
/* This is how to store into the string LABEL
the symbol_ref name of an internal numbered label where
@ -177,9 +160,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* #define DWARF_OFFSET_SIZE PTR_SIZE */
#undef ENDFILE_SPEC
#define ENDFILE_SPEC \
"%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}" \
FBSD_ENDFILE_SPEC
#define ENDFILE_SPEC \
"%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
FBSD_ENDFILE_SPEC
/* We use GNU ld so undefine this so that attribute((init_priority)) works. */
#undef CTORS_SECTION_ASM_OP