Update configuration files for GCC 4.2.
This commit is contained in:
parent
0d6df2bb56
commit
096b39c236
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
@ -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)"
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user