/* Definitions of target machine for GNU compiler. IRIX version 5 with gas. Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Reenable debugging. */ #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG /* GNU as does handle DWARF2 directives. */ #undef DWARF2_UNWIND_INFO #define DWARF2_UNWIND_INFO 1 /* Override iris5.h version to invoke [cd]tors and register eh frame information. */ #undef LINK_SPEC #define LINK_SPEC "\ %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \ %{bestGnum} %{shared} %{non_shared} \ %{call_shared} %{no_archive} %{exact_version} \ %{static: -non_shared} \ %{!static: \ %{!shared:%{!non_shared:%{!call_shared: -call_shared -no_unresolved}}}} \ %{rpath} -init __do_global_ctors -fini __do_global_dtors \ %{shared:-hidden_symbol __do_global_ctors,__do_global_ctors_1,__do_global_dtors} \ -_SYSTYPE_SVR4" /* Override iris5.h versions to include crtbegin.o and crtend.o. */ #undef STARTFILE_SPEC #define STARTFILE_SPEC "%(irix_startfile_spec) crtbegin.o%s" #undef ENDFILE_SPEC #define ENDFILE_SPEC "crtend.o%s %(irix_endfile_spec)" /* Irix 5 does not have some strange restrictions that Irix 3 had. */ #undef SET_FILE_NUMBER #define SET_FILE_NUMBER() ++num_source_filenames #undef LABEL_AFTER_LOC #define LABEL_AFTER_LOC(STREAM) /* We need to use .esize and .etype instead of .size and .type to avoid conflicting with ELF directives. These are only recognized by gas, anyhow, not the native assembler. */ #undef PUT_SDB_SIZE #define PUT_SDB_SIZE(a) \ do { \ fprintf (asm_out_file, "\t.esize\t" HOST_WIDE_INT_PRINT_DEC ";", \ (HOST_WIDE_INT) (a)); \ } while (0) #undef PUT_SDB_TYPE #define PUT_SDB_TYPE(a) \ do { \ fprintf (asm_out_file, "\t.etype\t0x%x;", (a)); \ } while (0) /* Add -g to mips.h default to avoid confusing gas with local symbols generated from stabs info. */ #undef NM_FLAGS #define NM_FLAGS "-Bng" /* Disable SHF_MERGE support. Even if gas supports it, the IRIX ld does not without a special elspec(5) file. FIXME: Only do this if not using GNU ld. */ #undef HAVE_GAS_SHF_MERGE #define HAVE_GAS_SHF_MERGE 0