aboutsummaryrefslogtreecommitdiff
path: root/contrib/gcc/config/i386/freebsd.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/config/i386/freebsd.h')
-rw-r--r--contrib/gcc/config/i386/freebsd.h245
1 files changed, 0 insertions, 245 deletions
diff --git a/contrib/gcc/config/i386/freebsd.h b/contrib/gcc/config/i386/freebsd.h
deleted file mode 100644
index 8f89d2aed365..000000000000
--- a/contrib/gcc/config/i386/freebsd.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/* Definitions for Intel 386 running FreeBSD with ELF format
- 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.
- Continued development by David O'Brien <obrien@freebsd.org>
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING. If not, write to
-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}"
-
-/* 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
- combinations of options at link-time. We like to support here for
- as many of the other GNU linker options as possible. But I don't
- have the time to search for those flags. I am sure how to add
- support for -soname shared_object_name. H.J.
-
- When the -shared link option is used a final link is not being
- done. */
-
-#undef LINK_SPEC
-#define LINK_SPEC "\
- %{p:%nconsider using `-pg' instead of `-p' with gprof(1) } \
- %{v:-V} \
- %{assert*} %{R*} %{rpath*} %{defsym*} \
- %{shared:-Bshareable %{h*} %{soname*}} \
- %{!shared: \
- %{!static: \
- %{rdynamic: -export-dynamic} \
- %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
- %{static:-Bstatic}} \
- %{!static:--hash-style=both --enable-new-dtags} \
- %{symbolic:-Bsymbolic}"
-
-/* Reset our STARTFILE_SPEC which was properly set in config/freebsd.h
- but trashed by config/<cpu>/<file.h>. */
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC FBSD_STARTFILE_SPEC
-
-/* Provide an ENDFILE_SPEC appropriate for FreeBSD/i386. */
-
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC FBSD_ENDFILE_SPEC
-
-
-/************************[ Target stuff ]***********************************/
-
-/* Define the actual types of some ANSI-mandated types.
- Needs to agree with <machine/ansi.h>. GCC defaults come from c-decl.c,
- c-common.c, and config/<arch>/<arch>.h. */
-
-#undef SIZE_TYPE
-#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
-
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD)
-
-#undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */
-#define SUBTARGET_EXTRA_SPECS \
- { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
-
-#define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
-
-#define TARGET_ELF 1
-
-/* Don't default to pcc-struct-return, we want to retain compatibility with
- older gcc versions AND pcc-struct-return is nonreentrant.
- (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
-
-/* FreeBSD sets the rounding precision of the FPU to 53 bits. Let the
- compiler get the contents of <float.h> and std::numeric_limits correct. */
-#undef TARGET_96_ROUND_53_LONG_DOUBLE
-#define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT)
-
-/* Tell final.c that we don't need a label passed to mcount. */
-#define NO_PROFILE_COUNTERS 1
-
-/* Output assembler code to FILE to begin profiling of the current function.
- LABELNO is an optional label. */
-
-#undef MCOUNT_NAME
-#define MCOUNT_NAME ".mcount"
-
-/* Output assembler code to FILE to end profiling of the current function. */
-
-#undef FUNCTION_PROFILER_EPILOGUE /* BDE will need to fix this. */
-
-
-/************************[ Assembler stuff ]********************************/
-
-/* Override the default comment-starter of "/" from unix.h. */
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START "#"
-
-/* Override the default comment-starter of "/APP" from unix.h. */
-#undef ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-#undef ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"
-
-/* XXX:DEO do we still need this override to defaults.h ?? */
-/* This is how to output a reference to a user-level label named NAME. */
-#undef ASM_OUTPUT_LABELREF
-#define ASM_OUTPUT_LABELREF(FILE, NAME) \
- do { \
- const char *xname = (NAME); \
- /* Hack to avoid writing lots of rtl in \
- FUNCTION_PROFILER_EPILOGUE (). */ \
- if (*xname == '.' && strcmp(xname + 1, "mexitcount") == 0) \
- { \
- if (flag_pic) \
- fprintf ((FILE), "*%s@GOT(%%ebx)", xname); \
- else \
- fprintf ((FILE), "%s", xname); \
- } \
- else \
- { \
- if (xname[0] == '%') \
- xname += 2; \
- if (xname[0] == '*') \
- xname += 1; \
- else \
- fputs (user_label_prefix, FILE); \
- fputs (xname, FILE); \
- } \
-} while (0)
-
-/* This is how to hack on the symbol code of certain relcalcitrant
- symbols to modify their output in output_pic_addr_const (). */
-
-#undef ASM_HACK_SYMBOLREF_CODE /* BDE will need to fix this. */
-
-/* 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.
-
- This is used to align code labels according to Intel recommendations. */
-
-/* XXX configuration of this is broken in the same way as HAVE_GAS_SHF_MERGE,
- but it is easier to fix in an MD way. */
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-#undef ASM_OUTPUT_MAX_SKIP_ALIGN
-#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP) \
- do { \
- if ((LOG) != 0) { \
- if ((MAX_SKIP) == 0) \
- fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
- else \
- fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
- } \
- } while (0)
-#endif
-
-/* If defined, a C expression whose value is a string containing the
- assembler operation to identify the following data as
- uninitialized global data. If not defined, and neither
- `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined,
- uninitialized global data will be output in the data section if
- `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be
- used. */
-#undef BSS_SECTION_ASM_OP
-#define BSS_SECTION_ASM_OP "\t.section\t.bss"
-
-/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a
- separate, explicit argument. If you define this macro, it is used
- in place of `ASM_OUTPUT_BSS', and gives you more flexibility in
- handling the required alignment of the variable. The alignment is
- specified as the number of bits.
-
- Try to use function `asm_output_aligned_bss' defined in file
- `varasm.c' when defining this macro. */
-#undef ASM_OUTPUT_ALIGNED_BSS
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
- asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
-
-/************************[ Debugger stuff ]*********************************/
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) (TARGET_64BIT ? dbx64_register_map[n] \
- : (write_symbols == DWARF2_DEBUG) \
- ? svr4_dbx_register_map[(n)] \
- : dbx_register_map[(n)])
-
-/* The same functions are used to creating the DWARF2 debug info and C++
- unwind info (except.c). Regardless of the debug format requested, the
- register numbers used in exception unwinding sections still have to be
- DWARF compatible. IMO the GCC folks may be abusing the DBX_REGISTER_NUMBER
- macro to mean too much. */
-#define DWARF_FRAME_REGNUM(n) (TARGET_64BIT ? dbx64_register_map[n] \
- : svr4_dbx_register_map[(n)])
-
-/* stabs-in-elf has offsets relative to function beginning */
-#undef DBX_OUTPUT_LBRAC
-#define DBX_OUTPUT_LBRAC(FILE, NAME) \
- do { \
- 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 (asm_out_file, "\n"); \
- } while (0)
-
-#undef DBX_OUTPUT_RBRAC
-#define DBX_OUTPUT_RBRAC(FILE, NAME) \
- do { \
- 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 (asm_out_file, "\n"); \
- } while (0)
-
-#undef NEED_INDICATE_EXEC_STACK
-#define NEED_INDICATE_EXEC_STACK 1