From 46e1a76956bf2b552ea758933113726f25585fc0 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Wed, 14 Mar 2012 17:58:35 +0000 Subject: [PATCH] Remove non-GAS non-ELF support in alpha backend * config/alpha/alpha.c [HAVE_STAMP_H]: Remove. (alpha_file_start) [MS_STAMP]: Remove. * config/alpha/elf.h (TARGET_GAS): Remove. * config/alpha/freebsd.h (TARGET_DEFAULT): Remove. * config/alpha/linux.h (TARGET_DEFAULT): Remove. * config/alpha/netbsd.h (TARGET_DEFAULT): Remove. * config/alpha/vms.h (TARGET_DEFAULT): Remove. * config.gcc (alpha*-*-linux*): Remove target_cpu_default. (alpha*-*-freebsd*): Likewise. (alpha*-*-netbsd*): Likewise. (alpha*-*-openbsd*): Likewise. (alpha*-*-*): Remove target_cpu_default2. * config/alpha/alpha.c (alpha_output_filename): Remove !TARGET_GAS handling. * config/alpha/alpha.h (TARGET_AS_CAN_SUBTRACT_LABELS): Remove. (TARGET_AS_SLASH_BEFORE_SUFFIX): Remove. * config/alpha/alpha.c (print_operand): Always assume TARGET_AS_SLASH_BEFORE_SUFFIX. * config/alpha/alpha.md ("*builtin_setjmp_receiver_er_sl_1"): Remove TARGET_AS_CAN_SUBTRACT_LABELS. ("*builtin_setjmp_receiver_er_1"): Remove. * config/alpha/alpha.opt (malpha-as): Remove. (mgas): Ignore. * doc/invoke.texi (Option Summary, DEC Alpha Options): Remove -malpha-as, -mgas. Remove DEC Unix reference. * config/alpha/alpha.h (OBJECT_FORMAT_COFF): Remove. (EXTENDED_COFF): Remove. * config/alpha/elf.h (OBJECT_FORMAT_COFF): Don't undef. (EXTENDED_COFF): Don't undef. * config/alpha/alpha.c (alpha_file_start): Always assume OBJECT_FORMAT_ELF. Don't set targetm.asm_file_start_file_directive. [!OBJECT_FORMAT_ELF]: Remove. (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Remove. * config/alpha/alpha.h (SDB_DEBUGGING_INFO): Remove. (DBX_DEBUGGING_INFO): Remove. (MIPS_DEBUGGING_INFO): Remove. (PREFERRED_DEBUGGING_TYPE): Remove. (DBX_OUTPUT_SOURCE_LINE): Remove. (SDB_OUTPUT_SOURCE_LINE): Remove. (DBX_CONTIN_LENGTH): Remove. (NO_DBX_FUNCTION_END): Remove. (ASM_STABS_OP): Remove. (ASM_STABN_OP): Remove. (ASM_STABD_OP): Remove. (SDB_ALLOW_FORWARD_REFERENCES): Remove. (SDB_ALLOW_UNKNOWN_REFERENCES): Remove. (PUT_SDB_DEF): Remove. (PUT_SDB_PLAIN_DEF): Remove. (PUT_SDB_TYPE): Remove. (sdb_label_count): Remove. (PUT_SDB_BLOCK_START): Remove. (PUT_SDB_BLOCK_END): Remove. (PUT_SDB_FUNCTION_START): Remove. (PUT_SDB_FUNCTION_END): Remove. (PUT_SDB_EPILOGUE_END): Remove. * config/alpha/elf.h (SDB_DEBUGGING_INFO): Don't undef. (MIPS_DEBUGGING_INFO): Don't undef. (DBX_DEBUGGING_INFO): Don't undef. * config/alpha/vms.h (SDB_DEBUGGING_INFO): Don't undef. (MIPS_DEBUGGING_INFO): Don't undef. (DBX_DEBUGGING_INFO): Don't undef. * config/alpha/freebsd.h (DBX_CONTIN_CHAR): Remove. * config/alpha/alpha.c (alpha_option_override): Remove SDB_DEBUG handling. (alpha_start_function): Likewise. (sdb_label_count): Remove. (alpha_output_filename): Remove DBX_DEBUG handling. (alpha_file_start): Likewise. From-SVN: r185394 --- gcc/ChangeLog | 76 ++++++++++++++++++++++++++ gcc/config.gcc | 11 ---- gcc/config/alpha/alpha.c | 73 +++---------------------- gcc/config/alpha/alpha.h | 107 ------------------------------------- gcc/config/alpha/alpha.md | 8 +-- gcc/config/alpha/alpha.opt | 10 ++-- gcc/config/alpha/elf.h | 13 +---- gcc/config/alpha/freebsd.h | 11 +--- gcc/config/alpha/linux.h | 5 +- gcc/config/alpha/netbsd.h | 5 +- gcc/config/alpha/vms.h | 9 +--- gcc/doc/invoke.texi | 12 +---- 12 files changed, 94 insertions(+), 246 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 91590b285c3..118a291872c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,79 @@ +2012-03-14 Rainer Orth + + * config/alpha/alpha.c [HAVE_STAMP_H]: Remove. + (alpha_file_start) [MS_STAMP]: Remove. + + * config/alpha/elf.h (TARGET_GAS): Remove. + * config/alpha/freebsd.h (TARGET_DEFAULT): Remove. + * config/alpha/linux.h (TARGET_DEFAULT): Remove. + * config/alpha/netbsd.h (TARGET_DEFAULT): Remove. + * config/alpha/vms.h (TARGET_DEFAULT): Remove. + * config.gcc (alpha*-*-linux*): Remove target_cpu_default. + (alpha*-*-freebsd*): Likewise. + (alpha*-*-netbsd*): Likewise. + (alpha*-*-openbsd*): Likewise. + (alpha*-*-*): Remove target_cpu_default2. + * config/alpha/alpha.c (alpha_output_filename): Remove !TARGET_GAS + handling. + * config/alpha/alpha.h (TARGET_AS_CAN_SUBTRACT_LABELS): Remove. + (TARGET_AS_SLASH_BEFORE_SUFFIX): Remove. + * config/alpha/alpha.c (print_operand): Always assume + TARGET_AS_SLASH_BEFORE_SUFFIX. + * config/alpha/alpha.md ("*builtin_setjmp_receiver_er_sl_1"): + Remove TARGET_AS_CAN_SUBTRACT_LABELS. + ("*builtin_setjmp_receiver_er_1"): Remove. + * config/alpha/alpha.opt (malpha-as): Remove. + (mgas): Ignore. + * doc/invoke.texi (Option Summary, DEC Alpha Options): Remove + -malpha-as, -mgas. + Remove DEC Unix reference. + + * config/alpha/alpha.h (OBJECT_FORMAT_COFF): Remove. + (EXTENDED_COFF): Remove. + * config/alpha/elf.h (OBJECT_FORMAT_COFF): Don't undef. + (EXTENDED_COFF): Don't undef. + * config/alpha/alpha.c (alpha_file_start): Always assume + OBJECT_FORMAT_ELF. + Don't set targetm.asm_file_start_file_directive. + [!OBJECT_FORMAT_ELF]: Remove. + (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Remove. + + * config/alpha/alpha.h (SDB_DEBUGGING_INFO): Remove. + (DBX_DEBUGGING_INFO): Remove. + (MIPS_DEBUGGING_INFO): Remove. + (PREFERRED_DEBUGGING_TYPE): Remove. + (DBX_OUTPUT_SOURCE_LINE): Remove. + (SDB_OUTPUT_SOURCE_LINE): Remove. + (DBX_CONTIN_LENGTH): Remove. + (NO_DBX_FUNCTION_END): Remove. + (ASM_STABS_OP): Remove. + (ASM_STABN_OP): Remove. + (ASM_STABD_OP): Remove. + (SDB_ALLOW_FORWARD_REFERENCES): Remove. + (SDB_ALLOW_UNKNOWN_REFERENCES): Remove. + (PUT_SDB_DEF): Remove. + (PUT_SDB_PLAIN_DEF): Remove. + (PUT_SDB_TYPE): Remove. + (sdb_label_count): Remove. + (PUT_SDB_BLOCK_START): Remove. + (PUT_SDB_BLOCK_END): Remove. + (PUT_SDB_FUNCTION_START): Remove. + (PUT_SDB_FUNCTION_END): Remove. + (PUT_SDB_EPILOGUE_END): Remove. + * config/alpha/elf.h (SDB_DEBUGGING_INFO): Don't undef. + (MIPS_DEBUGGING_INFO): Don't undef. + (DBX_DEBUGGING_INFO): Don't undef. + * config/alpha/vms.h (SDB_DEBUGGING_INFO): Don't undef. + (MIPS_DEBUGGING_INFO): Don't undef. + (DBX_DEBUGGING_INFO): Don't undef. + * config/alpha/freebsd.h (DBX_CONTIN_CHAR): Remove. + * config/alpha/alpha.c (alpha_option_override): Remove SDB_DEBUG + handling. + (alpha_start_function): Likewise. + (sdb_label_count): Remove. + (alpha_output_filename): Remove DBX_DEBUG handling. + (alpha_file_start): Likewise. + 2012-03-14 Rainer Orth * config.gcc (enable_obsolete): Remove *-*-solaris2.8*. diff --git a/gcc/config.gcc b/gcc/config.gcc index bf05d44cc8b..ebeb5e6d67e 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -761,25 +761,21 @@ case ${target} in alpha*-*-linux*) tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h" extra_options="${extra_options} alpha/elf.opt" - target_cpu_default="MASK_GAS" ;; alpha*-*-freebsd*) tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h" extra_options="${extra_options} alpha/elf.opt" - target_cpu_default="MASK_GAS" ;; alpha*-*-netbsd*) tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h" extra_options="${extra_options} netbsd.opt netbsd-elf.opt \ alpha/elf.opt" - target_cpu_default="MASK_GAS" ;; alpha*-*-openbsd*) tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT" tm_file="alpha/alpha.h alpha/elf.h openbsd.h openbsd-stdint.h alpha/openbsd.h openbsd-libpthread.h" extra_options="${extra_options} openbsd.opt alpha/elf.opt" # default x-alpha is only appropriate for dec-osf. - target_cpu_default="MASK_GAS" ;; alpha*-dec-*vms*) tm_file="${tm_file} vms/vms.h alpha/vms.h" @@ -3407,13 +3403,6 @@ esac # Set some miscellaneous flags for particular targets. target_cpu_default2= case ${target} in - alpha*-*-*) - if test x$gas = xyes - then - target_cpu_default2="MASK_GAS" - fi - ;; - arm*-*-*) if test x$target_cpu_cname = x then diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index bd1408332fb..46c620b9329 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -428,9 +428,8 @@ alpha_option_override (void) target_flags &= ~MASK_SMALL_DATA; /* Align labels and loops for optimal branching. */ - /* ??? Kludge these by not doing anything if we don't optimize and also if - we are writing ECOFF symbols to work around a bug in DEC's assembler. */ - if (optimize > 0 && write_symbols != SDB_DEBUG) + /* ??? Kludge these by not doing anything if we don't optimize. */ + if (optimize > 0) { if (align_loops <= 0) align_loops = 16; @@ -4988,8 +4987,7 @@ print_operand (FILE *file, rtx x, int code) const char *round = get_round_mode_suffix (); if (trap || round) - fprintf (file, (TARGET_AS_SLASH_BEFORE_SUFFIX ? "/%s%s" : "%s%s"), - (trap ? trap : ""), (round ? round : "")); + fprintf (file, "/%s%s", (trap ? trap : ""), (round ? round : "")); break; } @@ -7889,27 +7887,6 @@ alpha_start_function (FILE *file, const char *fnname, alpha_sa_mask (&imask, &fmask); - /* Ecoff can handle multiple .file directives, so put out file and lineno. - We have to do that before the .ent directive as we cannot switch - files within procedures with native ecoff because line numbers are - linked to procedure descriptors. - Outputting the lineno helps debugging of one line functions as they - would otherwise get no line number at all. Please note that we would - like to put out last_linenum from final.c, but it is not accessible. */ - - if (write_symbols == SDB_DEBUG) - { -#ifdef ASM_OUTPUT_SOURCE_FILENAME - ASM_OUTPUT_SOURCE_FILENAME (file, - DECL_SOURCE_FILE (current_function_decl)); -#endif -#ifdef SDB_OUTPUT_SOURCE_LINE - if (debug_info_level != DINFO_LEVEL_TERSE) - SDB_OUTPUT_SOURCE_LINE (file, - DECL_SOURCE_LINE (current_function_decl)); -#endif - } - /* Issue function start and label. */ if (TARGET_ABI_OPEN_VMS || !flag_inhibit_size_directive) { @@ -8388,11 +8365,6 @@ alpha_output_mi_thunk_osf (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, #include "gstab.h" -/* Count the number of sdb related labels are generated (to find block - start and end boundaries). */ - -int sdb_label_count = 0; - /* Name of the file containing the current function. */ static const char *current_function_file = ""; @@ -8417,25 +8389,14 @@ alpha_output_filename (FILE *stream, const char *name) fprintf (stream, "\t.file\t%d ", num_source_filenames); output_quoted_string (stream, name); fprintf (stream, "\n"); - if (!TARGET_GAS && write_symbols == DBX_DEBUG) - fprintf (stream, "\t#@stabs\n"); } - else if (write_symbols == DBX_DEBUG) - /* dbxout.c will emit an appropriate .stabs directive. */ - return; - else if (name != current_function_file && strcmp (name, current_function_file) != 0) { - if (inside_function && ! TARGET_GAS) - fprintf (stream, "\t#.file\t%d ", num_source_filenames); - else - { - ++num_source_filenames; - current_function_file = name; - fprintf (stream, "\t.file\t%d ", num_source_filenames); - } + ++num_source_filenames; + current_function_file = name; + fprintf (stream, "\t.file\t%d ", num_source_filenames); output_quoted_string (stream, name); fprintf (stream, "\n"); @@ -9374,24 +9335,10 @@ alpha_reorg (void) } } -#ifdef HAVE_STAMP_H -#include -#endif - static void alpha_file_start (void) { -#ifdef OBJECT_FORMAT_ELF - /* If emitting dwarf2 debug information, we cannot generate a .file - directive to start the file, as it will conflict with dwarf2out - file numbers. So it's only useful when emitting mdebug output. */ - targetm.asm_file_start_file_directive = (write_symbols == DBX_DEBUG); -#endif - default_file_start (); -#ifdef MS_STAMP - fprintf (asm_out_file, "\t.verstamp %d %d\n", MS_STAMP, LS_STAMP); -#endif fputs ("\t.set noreorder\n", asm_out_file); fputs ("\t.set volatile\n", asm_out_file); @@ -9418,7 +9365,6 @@ alpha_file_start (void) } } -#ifdef OBJECT_FORMAT_ELF /* Since we don't have a .dynbss section, we should not allow global relocations in the .rodata section. */ @@ -9458,7 +9404,6 @@ alpha_elf_section_type_flags (tree decl, const char *name, int reloc) flags |= default_section_type_flags (decl, name, reloc); return flags; } -#endif /* OBJECT_FORMAT_ELF */ /* Structure to collect function names for final output in link section. */ /* Note that items marked with GTY can't be ifdef'ed out. */ @@ -9741,7 +9686,7 @@ alpha_conditional_register_usage (void) /* Default unaligned ops are provided for ELF systems. To get unaligned data for non-ELF systems, we have to turn off auto alignment. */ -#if !defined (OBJECT_FORMAT_ELF) || TARGET_ABI_OPEN_VMS +#if TARGET_ABI_OPEN_VMS #undef TARGET_ASM_UNALIGNED_HI_OP #define TARGET_ASM_UNALIGNED_HI_OP "\t.align 0\n\t.word\t" #undef TARGET_ASM_UNALIGNED_SI_OP @@ -9750,14 +9695,12 @@ alpha_conditional_register_usage (void) #define TARGET_ASM_UNALIGNED_DI_OP "\t.align 0\n\t.quad\t" #endif -#ifdef OBJECT_FORMAT_ELF #undef TARGET_ASM_RELOC_RW_MASK #define TARGET_ASM_RELOC_RW_MASK alpha_elf_reloc_rw_mask #undef TARGET_ASM_SELECT_RTX_SECTION #define TARGET_ASM_SELECT_RTX_SECTION alpha_elf_select_rtx_section #undef TARGET_SECTION_TYPE_FLAGS #define TARGET_SECTION_TYPE_FLAGS alpha_elf_section_type_flags -#endif #undef TARGET_ASM_FUNCTION_END_PROLOGUE #define TARGET_ASM_FUNCTION_END_PROLOGUE alpha_output_function_end_prologue @@ -9770,8 +9713,6 @@ alpha_conditional_register_usage (void) #undef TARGET_ASM_FILE_START #define TARGET_ASM_FILE_START alpha_file_start -#undef TARGET_ASM_FILE_START_FILE_DIRECTIVE -#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true #undef TARGET_SCHED_ADJUST_COST #define TARGET_SCHED_ADJUST_COST alpha_adjust_cost diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index a903024ca8b..01ca3c24839 100644 --- a/gcc/config/alpha/alpha.h +++ b/gcc/config/alpha/alpha.h @@ -146,12 +146,6 @@ extern enum alpha_fp_trap_mode alpha_fptm; #define TARGET_ABI_OPEN_VMS 0 #define TARGET_ABI_OSF (!TARGET_ABI_OPEN_VMS) -#ifndef TARGET_AS_CAN_SUBTRACT_LABELS -#define TARGET_AS_CAN_SUBTRACT_LABELS TARGET_GAS -#endif -#ifndef TARGET_AS_SLASH_BEFORE_SUFFIX -#define TARGET_AS_SLASH_BEFORE_SUFFIX TARGET_GAS -#endif #ifndef TARGET_CAN_FAULT_IN_PROLOGUE #define TARGET_CAN_FAULT_IN_PROLOGUE 0 #endif @@ -1154,24 +1148,11 @@ do { \ #define PRINT_OPERAND_ADDRESS(FILE, ADDR) \ print_operand_address((FILE), (ADDR)) -/* Tell collect that the object format is ECOFF. */ -#define OBJECT_FORMAT_COFF -#define EXTENDED_COFF - /* If we use NM, pass -g to it so it only lists globals. */ #define NM_FLAGS "-pg" /* Definitions for debugging. */ -#define SDB_DEBUGGING_INFO 1 /* generate info for mips-tfile */ -#define DBX_DEBUGGING_INFO 1 /* generate embedded stabs */ -#define MIPS_DEBUGGING_INFO 1 /* MIPS specific debugging info */ - -#ifndef PREFERRED_DEBUGGING_TYPE /* assume SDB_DEBUGGING_INFO */ -#define PREFERRED_DEBUGGING_TYPE SDB_DEBUG -#endif - - /* Correct the offset of automatic variables and arguments. Note that the Alpha debug format wants all automatic variables and arguments to be in terms of two different offsets from the virtual frame pointer, @@ -1191,99 +1172,11 @@ extern long alpha_auto_offset; ((GET_CODE (X) == PLUS ? INTVAL (XEXP (X, 1)) : 0) + alpha_auto_offset) #define DEBUGGER_ARG_OFFSET(OFFSET, X) (OFFSET + alpha_arg_offset) -/* mips-tfile doesn't understand .stabd directives. */ -#define DBX_OUTPUT_SOURCE_LINE(STREAM, LINE, COUNTER) do { \ - dbxout_begin_stabn_sline (LINE); \ - dbxout_stab_value_internal_label ("LM", &COUNTER); \ -} while (0) - -/* We want to use MIPS-style .loc directives for SDB line numbers. */ -extern int num_source_filenames; -#define SDB_OUTPUT_SOURCE_LINE(STREAM, LINE) \ - fprintf (STREAM, "\t.loc\t%d %d\n", num_source_filenames, LINE) - #define ASM_OUTPUT_SOURCE_FILENAME(STREAM, NAME) \ alpha_output_filename (STREAM, NAME) -/* mips-tfile.c limits us to strings of one page. We must underestimate this - number, because the real length runs past this up to the next - continuation point. This is really a dbxout.c bug. */ -#define DBX_CONTIN_LENGTH 3000 - /* By default, turn on GDB extensions. */ #define DEFAULT_GDB_EXTENSIONS 1 -/* Stabs-in-ECOFF can't handle dbxout_function_end(). */ -#define NO_DBX_FUNCTION_END 1 - -/* If we are smuggling stabs through the ALPHA ECOFF object - format, put a comment in front of the .stab operation so - that the ALPHA assembler does not choke. The mips-tfile program - will correctly put the stab into the object file. */ - -#define ASM_STABS_OP ((TARGET_GAS) ? "\t.stabs\t" : " #.stabs\t") -#define ASM_STABN_OP ((TARGET_GAS) ? "\t.stabn\t" : " #.stabn\t") -#define ASM_STABD_OP ((TARGET_GAS) ? "\t.stabd\t" : " #.stabd\t") - -/* Forward references to tags are allowed. */ -#define SDB_ALLOW_FORWARD_REFERENCES - -/* Unknown tags are also allowed. */ -#define SDB_ALLOW_UNKNOWN_REFERENCES - -#define PUT_SDB_DEF(a) \ -do { \ - fprintf (asm_out_file, "\t%s.def\t", \ - (TARGET_GAS) ? "" : "#"); \ - ASM_OUTPUT_LABELREF (asm_out_file, a); \ - fputc (';', asm_out_file); \ -} while (0) - -#define PUT_SDB_PLAIN_DEF(a) \ -do { \ - fprintf (asm_out_file, "\t%s.def\t.%s;", \ - (TARGET_GAS) ? "" : "#", (a)); \ -} while (0) - -#define PUT_SDB_TYPE(a) \ -do { \ - fprintf (asm_out_file, "\t.type\t0x%x;", (a)); \ -} while (0) - -/* For block start and end, we create labels, so that - later we can figure out where the correct offset is. - The normal .ent/.end serve well enough for functions, - so those are just commented out. */ - -extern int sdb_label_count; /* block start/end next label # */ - -#define PUT_SDB_BLOCK_START(LINE) \ -do { \ - fprintf (asm_out_file, \ - "$Lb%d:\n\t%s.begin\t$Lb%d\t%d\n", \ - sdb_label_count, \ - (TARGET_GAS) ? "" : "#", \ - sdb_label_count, \ - (LINE)); \ - sdb_label_count++; \ -} while (0) - -#define PUT_SDB_BLOCK_END(LINE) \ -do { \ - fprintf (asm_out_file, \ - "$Le%d:\n\t%s.bend\t$Le%d\t%d\n", \ - sdb_label_count, \ - (TARGET_GAS) ? "" : "#", \ - sdb_label_count, \ - (LINE)); \ - sdb_label_count++; \ -} while (0) - -#define PUT_SDB_FUNCTION_START(LINE) - -#define PUT_SDB_FUNCTION_END(LINE) - -#define PUT_SDB_EPILOGUE_END(NAME) ((void)(NAME)) - /* The system headers under Alpha systems are generally C++-aware. */ #define NO_IMPLICIT_EXTERN_C diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 7280e76075f..d090634bb4d 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -5855,15 +5855,9 @@ (define_insn "*builtin_setjmp_receiver_er_sl_1" [(unspec_volatile [(match_operand 0 "" "")] UNSPECV_SETJMPR_ER)] - "TARGET_ABI_OSF && TARGET_EXPLICIT_RELOCS && TARGET_AS_CAN_SUBTRACT_LABELS" + "TARGET_ABI_OSF && TARGET_EXPLICIT_RELOCS" "lda $27,$LSJ%=-%l0($27)\n$LSJ%=:") -(define_insn "*builtin_setjmp_receiver_er_1" - [(unspec_volatile [(match_operand 0 "" "")] UNSPECV_SETJMPR_ER)] - "TARGET_ABI_OSF && TARGET_EXPLICIT_RELOCS" - "br $27,$LSJ%=\n$LSJ%=:" - [(set_attr "type" "ibr")]) - ;; When flag_reorder_blocks_and_partition is in effect, compiler puts ;; exception landing pads in a cold section. To prevent inter-section offset ;; calculation, a jump to original landing pad is emitted in the place of the diff --git a/gcc/config/alpha/alpha.opt b/gcc/config/alpha/alpha.opt index fb7db3775fc..1ebfa5e43ae 100644 --- a/gcc/config/alpha/alpha.opt +++ b/gcc/config/alpha/alpha.opt @@ -1,6 +1,6 @@ ; Options for the DEC Alpha port of the compiler ; -; Copyright (C) 2005, 2007 Free Software Foundation, Inc. +; Copyright (C) 2005, 2007, 2012 Free Software Foundation, Inc. ; ; This file is part of GCC. ; @@ -27,12 +27,8 @@ Target Report Mask(FPREGS) Use fp registers mgas -Target RejectNegative Mask(GAS) -Assume GAS - -malpha-as -Target RejectNegative InverseMask(GAS) -Do not assume GAS +Target Ignore +Does nothing. Preserved for backward compatibility. mieee-conformant Target RejectNegative Mask(IEEE_CONFORMANT) diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h index 3b5ec08e989..2e165ec932c 100644 --- a/gcc/config/alpha/elf.h +++ b/gcc/config/alpha/elf.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for DEC Alpha w/ELF. Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2007, 2008, - 2009, 2010 Free Software Foundation, Inc. + 2009, 2010, 2012 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@tamu.edu). This file is part of GCC. @@ -19,15 +19,8 @@ You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ -#undef OBJECT_FORMAT_COFF -#undef EXTENDED_COFF #define OBJECT_FORMAT_ELF -/* ??? Move all SDB stuff from alpha.h to osf.h. */ -#undef SDB_DEBUGGING_INFO -#undef MIPS_DEBUGGING_INFO -#undef DBX_DEBUGGING_INFO - #define DWARF2_DEBUGGING_INFO 1 #undef PREFERRED_DEBUGGING_TYPE @@ -372,10 +365,6 @@ do { \ #undef STRING_ASM_OP #define STRING_ASM_OP "\t.string\t" -/* GAS is the only Alpha/ELF assembler. */ -#undef TARGET_GAS -#define TARGET_GAS (1) - /* Provide a STARTFILE_SPEC appropriate for ELF. Here we add the (even more) magical crtbegin.o file which provides part of the support for getting C++ file-scope static object constructed diff --git a/gcc/config/alpha/freebsd.h b/gcc/config/alpha/freebsd.h index b6e7ed7da00..659b27b4d9a 100644 --- a/gcc/config/alpha/freebsd.h +++ b/gcc/config/alpha/freebsd.h @@ -1,5 +1,5 @@ /* Definitions for DEC Alpha/AXP running FreeBSD using the ELF format - Copyright (C) 2000, 2002, 2004, 2005, 2007, 2010, 2011 + Copyright (C) 2000, 2002, 2004, 2005, 2007, 2010, 2011, 2012 Free Software Foundation, Inc. Contributed by David E. O'Brien and BSDi. @@ -56,21 +56,12 @@ along with GCC; see the file COPYING3. If not see #define TARGET_ELF 1 -#undef TARGET_DEFAULT -#define TARGET_DEFAULT (MASK_FPREGS | MASK_GAS) - #undef HAS_INIT_SECTION /* Show that we need a GP when profiling. */ #undef TARGET_PROFILING_NEEDS_GP #define TARGET_PROFILING_NEEDS_GP 1 -/* This is the char to use for continuation (in case we need to turn - continuation back on). */ - -#undef DBX_CONTIN_CHAR -#define DBX_CONTIN_CHAR '?' - /* Don't default to pcc-struct-return, we want to retain compatibility with older FreeBSD releases AND pcc-struct-return may not be reentrant. */ diff --git a/gcc/config/alpha/linux.h b/gcc/config/alpha/linux.h index 38dbdb0c8be..88568743cb0 100644 --- a/gcc/config/alpha/linux.h +++ b/gcc/config/alpha/linux.h @@ -1,7 +1,7 @@ /* Definitions of target machine for GNU compiler, for Alpha Linux-based GNU systems. Copyright (C) 1996, 1997, 1998, 2002, 2003, 2004, 2005, 2006, 2007, 2009, - 2010, 2011 Free Software Foundation, Inc. + 2010, 2011, 2012 Free Software Foundation, Inc. Contributed by Richard Henderson. This file is part of GCC. @@ -20,9 +20,6 @@ You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ -#undef TARGET_DEFAULT -#define TARGET_DEFAULT (MASK_FPREGS | MASK_GAS) - #define TARGET_OS_CPP_BUILTINS() \ do { \ builtin_define ("__gnu_linux__"); \ diff --git a/gcc/config/alpha/netbsd.h b/gcc/config/alpha/netbsd.h index 2d7158ef65e..352bb5336af 100644 --- a/gcc/config/alpha/netbsd.h +++ b/gcc/config/alpha/netbsd.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for Alpha NetBSD systems. - Copyright (C) 1998, 2002, 2003, 2004, 2005, 2007, 2011 + Copyright (C) 1998, 2002, 2003, 2004, 2005, 2007, 2011, 2012 Free Software Foundation, Inc. This file is part of GCC. @@ -19,9 +19,6 @@ You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ -#undef TARGET_DEFAULT -#define TARGET_DEFAULT (MASK_FPREGS | MASK_GAS) - #define TARGET_OS_CPP_BUILTINS() \ do { \ NETBSD_OS_CPP_BUILTINS_ELF(); \ diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h index 2422da942d7..d99457741d1 100644 --- a/gcc/config/alpha/vms.h +++ b/gcc/config/alpha/vms.h @@ -1,6 +1,6 @@ /* Output variables, constants and external declarations, for GNU compiler. Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2004, 2005, 2007, 2008, - 2009, 2010, 2011 + 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of GCC. @@ -43,9 +43,6 @@ along with GCC; see the file COPYING3. If not see builtin_define ("__IEEE_FLOAT"); \ } while (0) -#undef TARGET_DEFAULT -#define TARGET_DEFAULT (MASK_FPREGS | MASK_GAS) - #define VMS_DEBUG_MAIN_POINTER "TRANSFER$BREAK$GO" #undef PCC_STATIC_STRUCT_RETURN @@ -204,10 +201,6 @@ typedef struct {int num_args; enum avms_arg_type atypes[6];} avms_arg_info; #define TARGET_ASM_CONSTRUCTOR vms_asm_out_constructor #define TARGET_ASM_DESTRUCTOR vms_asm_out_destructor -#undef SDB_DEBUGGING_INFO -#undef MIPS_DEBUGGING_INFO -#undef DBX_DEBUGGING_INFO - #define DWARF2_DEBUGGING_INFO 1 #define VMS_DEBUGGING_INFO 1 diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 4239482da29..94bfd239c04 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -558,7 +558,7 @@ Objective-C and Objective-C++ Dialects}. -mkernel -mone-byte-bool} @emph{DEC Alpha Options} -@gccoptlist{-mno-fp-regs -msoft-float -malpha-as -mgas @gol +@gccoptlist{-mno-fp-regs -msoft-float @gol -mieee -mieee-with-inexact -mieee-conformant @gol -mfp-trap-mode=@var{mode} -mfp-rounding-mode=@var{mode} @gol -mtrap-precision=@var{mode} -mbuild-constants @gol @@ -12212,8 +12212,7 @@ This option marks the generated code as IEEE conformant. You must not use this option unless you also specify @option{-mtrap-precision=i} and either @option{-mfp-trap-mode=su} or @option{-mfp-trap-mode=sui}. Its only effect is to emit the line @samp{.eflag 48} in the function prologue of the -generated assembly file. Under DEC Unix, this has the effect that -IEEE-conformant math library routines will be linked in. +generated assembly file. @item -mbuild-constants @opindex mbuild-constants @@ -12229,13 +12228,6 @@ You would typically use this option to build a shared library dynamic loader. Itself a shared library, it must relocate itself in memory before it can find the variables and constants in its own data segment. -@item -malpha-as -@itemx -mgas -@opindex malpha-as -@opindex mgas -Select whether to generate code to be assembled by the vendor-supplied -assembler (@option{-malpha-as}) or by the GNU assembler @option{-mgas}. - @item -mbwx @itemx -mno-bwx @itemx -mcix