* Remove non-GAS non-ELF support in alpha backend
@ 2012-03-12 16:22 Rainer Orth
2012-03-12 16:31 ` Richard Henderson
2012-03-12 16:58 ` Joseph S. Myers
0 siblings, 2 replies; 8+ messages in thread
From: Rainer Orth @ 2012-03-12 16:22 UTC (permalink / raw)
To: gcc-patches; +Cc: Richard Henderson, Tristan Gingold
[-- Attachment #1: Type: text/plain, Size: 4028 bytes --]
While having the osf removal patch reviewed, it turned out that with the
last non-gas non-ELF alpha port gone, there's considerable cleanup
potential in the alpha backend. The following patch implements this:
* HAVE_STAMP_H was only defined by osf5.h, not configure, so the code is
stale.
* All remaining alpha targets use gas, so TARGET_GAS and MASK_GAS can
go. I keep -mgas as a no-op, but completely remove -malpha-as which
can only ever have been used on osf.
* Likewise, all references to ECOFF can be removed, every port that
remains is ELF.
* AFAICS, the remaining ports use DWARF exclusively, so {SDB, DBX,
MIPS}_DEBUGGING_INFO references can be removed.
There are only two issues:
* In alpha.c (alpha_option_override), it's unclear if the optimize > 0
test can be removed completely.
* During testing, I ran into this error:
alpha.md:5861: `*builtin_setjmp_receiver_er_1' matches `*builtin_setjmp_receiver_er_sl_1'
alpha.md:5856: previous definition of `*builtin_setjmp_receiver_er_sl_1'
The condition was the same before I remove the &&
TARGET_AS_CAN_SUBTRACT_LABELS, actually, but to allow the patch to
build, I'm adding && 1 for the moment. No idea what's the proper fix.
Tested with i386-solaris2.11 x alpha-freebsd6.0 and i386-solaris2.11 x
alpha-vms C-only crosses.
Ok for mainline?
Rainer
2012-03-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
gcc:
* 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 MASK_GAS.
* 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.
* 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.
[!OBJECT_FORMAT_ELF]: 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.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: alpha-non-gas-elf.patch --]
[-- Type: text/x-patch, Size: 19594 bytes --]
# HG changeset patch
# Parent d29db3ec27f94b839c51faadd5c8c42c56066a09
Remove non-GAS non-ELF support in alpha backend
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- 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"
;;
alpha64-dec-*vms*)
tm_file="${tm_file} vms/vms.h vms/vms64.h alpha/vms.h"
@@ -3446,13 +3442,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
--- 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 co
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
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, t
#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, con
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,15 @@ alpha_reorg (void)
}
}
\f
-#ifdef HAVE_STAMP_H
-#include <stamp.h>
-#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
+ targetm.asm_file_start_file_directive = 0;
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 +9370,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 +9409,6 @@ alpha_elf_section_type_flags (tree decl,
flags |= default_section_type_flags (decl, name, reloc);
return flags;
}
-#endif /* OBJECT_FORMAT_ELF */
\f
/* 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 +9691,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 +9700,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
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -146,12 +146,6 @@ extern enum alpha_fp_trap_mode alpha_fpt
#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))
\f
-/* 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<x> 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
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -5855,7 +5855,7 @@
(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 && 1"
"lda $27,$LSJ%=-%l0($27)\n$LSJ%=:")
(define_insn "*builtin_setjmp_receiver_er_1"
diff --git a/gcc/config/alpha/alpha.opt b/gcc/config/alpha/alpha.opt
--- 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
--- 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 G
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#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
--- 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 <obrien@FreeBSD.org> and BSDi.
@@ -56,21 +56,12 @@ along with GCC; see the file COPYING3.
#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
--- 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 G
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#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
--- 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 G
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#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
--- 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.
@@ -45,9 +45,9 @@ along with GCC; see the file COPYING3.
#undef TARGET_DEFAULT
#if POINTER_SIZE == 64
-#define TARGET_DEFAULT (MASK_FPREGS | MASK_GAS | MASK_MALLOC64)
+#define TARGET_DEFAULT (MASK_FPREGS | MASK_MALLOC64)
#else
-#define TARGET_DEFAULT (MASK_FPREGS | MASK_GAS)
+#define TARGET_DEFAULT MASK_FPREGS
#endif
#define VMS_DEBUG_MAIN_POINTER "TRANSFER$BREAK$GO"
@@ -205,10 +205,6 @@ typedef struct {int num_args; enum avms_
#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
--- 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
@@ -12210,8 +12210,7 @@ This option marks the generated code as
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
@@ -12227,13 +12226,6 @@ You would typically use this option to b
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
[-- Attachment #3: Type: text/plain, Size: 143 bytes --]
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Remove non-GAS non-ELF support in alpha backend
2012-03-12 16:22 Remove non-GAS non-ELF support in alpha backend Rainer Orth
@ 2012-03-12 16:31 ` Richard Henderson
2012-03-14 16:10 ` Rainer Orth
2012-03-12 16:58 ` Joseph S. Myers
1 sibling, 1 reply; 8+ messages in thread
From: Richard Henderson @ 2012-03-12 16:31 UTC (permalink / raw)
To: Rainer Orth; +Cc: gcc-patches, Tristan Gingold
On 03/12/12 09:22, Rainer Orth wrote:
> There are only two issues:
>
> * In alpha.c (alpha_option_override), it's unclear if the optimize > 0
> test can be removed completely.
Yeah, I guess leave that for now.
> * During testing, I ran into this error:
>
> alpha.md:5861: `*builtin_setjmp_receiver_er_1' matches `*builtin_setjmp_receiver_er_sl_1'
> alpha.md:5856: previous definition of `*builtin_setjmp_receiver_er_sl_1'
Delete builtin_setjmp_receiver_er_1, which ought to have had && !TARGET_AS_CAN_SUBTRACT_LABELS,
but since patterns are matched in order, was implied by the filtering of the previous pattern.
r~
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Remove non-GAS non-ELF support in alpha backend
2012-03-12 16:22 Remove non-GAS non-ELF support in alpha backend Rainer Orth
2012-03-12 16:31 ` Richard Henderson
@ 2012-03-12 16:58 ` Joseph S. Myers
2012-03-12 16:59 ` Richard Henderson
1 sibling, 1 reply; 8+ messages in thread
From: Joseph S. Myers @ 2012-03-12 16:58 UTC (permalink / raw)
To: Rainer Orth; +Cc: gcc-patches, Richard Henderson, Tristan Gingold
On Mon, 12 Mar 2012, Rainer Orth wrote:
> While having the osf removal patch reviewed, it turned out that with the
> last non-gas non-ELF alpha port gone, there's considerable cleanup
> potential in the alpha backend. The following patch implements this:
I wonder whether it will be possible for a future cleanup to make alpha
targets use toplevel elfos.h, and for Alpha GNU/Linux toplevel gnu-user.h
and linux.h as well?
--
Joseph S. Myers
joseph@codesourcery.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Remove non-GAS non-ELF support in alpha backend
2012-03-12 16:58 ` Joseph S. Myers
@ 2012-03-12 16:59 ` Richard Henderson
0 siblings, 0 replies; 8+ messages in thread
From: Richard Henderson @ 2012-03-12 16:59 UTC (permalink / raw)
To: Joseph S. Myers; +Cc: Rainer Orth, gcc-patches, Tristan Gingold
On 03/12/12 09:57, Joseph S. Myers wrote:
> I wonder whether it will be possible for a future cleanup to make alpha
> targets use toplevel elfos.h, and for Alpha GNU/Linux toplevel gnu-user.h
> and linux.h as well?
Probably we can, at least to a fairly large degree.
r~
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Remove non-GAS non-ELF support in alpha backend
2012-03-12 16:31 ` Richard Henderson
@ 2012-03-14 16:10 ` Rainer Orth
2012-03-14 17:10 ` Richard Henderson
0 siblings, 1 reply; 8+ messages in thread
From: Rainer Orth @ 2012-03-14 16:10 UTC (permalink / raw)
To: Richard Henderson; +Cc: gcc-patches, Tristan Gingold
[-- Attachment #1: Type: text/plain, Size: 3532 bytes --]
Richard Henderson <rth@redhat.com> writes:
> On 03/12/12 09:22, Rainer Orth wrote:
>> There are only two issues:
>>
>> * In alpha.c (alpha_option_override), it's unclear if the optimize > 0
>> test can be removed completely.
>
> Yeah, I guess leave that for now.
>
>> * During testing, I ran into this error:
>>
>> alpha.md:5861: `*builtin_setjmp_receiver_er_1' matches `*builtin_setjmp_receiver_er_sl_1'
>> alpha.md:5856: previous definition of `*builtin_setjmp_receiver_er_sl_1'
>
> Delete builtin_setjmp_receiver_er_1, which ought to have had && !TARGET_AS_CAN_SUBTRACT_LABELS,
> but since patterns are matched in order, was implied by the filtering of the previous pattern.
Here's the revised patch, retested by building cc1 in a i386-solaris2.11
x alpha-freebsd6.0 cross.
Ok for mainline now?
Rainer
2012-03-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
[!OBJECT_FORMAT_ELF]: 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.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: alpha-non-gas-elf.patch --]
[-- Type: text/x-patch, Size: 19882 bytes --]
# HG changeset patch
# Parent 465e0a61b396af5b96f194a4eecaa8d2103c3cfb
Remove non-GAS non-ELF support in alpha backend
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -763,25 +763,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"
@@ -3430,13 +3426,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
--- 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 co
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
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, t
#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, con
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,15 @@ alpha_reorg (void)
}
}
\f
-#ifdef HAVE_STAMP_H
-#include <stamp.h>
-#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
+ targetm.asm_file_start_file_directive = 0;
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 +9370,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 +9409,6 @@ alpha_elf_section_type_flags (tree decl,
flags |= default_section_type_flags (decl, name, reloc);
return flags;
}
-#endif /* OBJECT_FORMAT_ELF */
\f
/* 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 +9691,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 +9700,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
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -146,12 +146,6 @@ extern enum alpha_fp_trap_mode alpha_fpt
#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))
\f
-/* 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<x> 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
--- 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
--- 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
--- 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 G
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#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
--- 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 <obrien@FreeBSD.org> and BSDi.
@@ -56,21 +56,12 @@ along with GCC; see the file COPYING3.
#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
--- 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 G
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#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
--- 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 G
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#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
--- 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.
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_
#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
--- 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
@@ -12213,8 +12213,7 @@ This option marks the generated code as
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
@@ -12230,13 +12229,6 @@ You would typically use this option to b
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
[-- Attachment #3: Type: text/plain, Size: 143 bytes --]
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Remove non-GAS non-ELF support in alpha backend
2012-03-14 16:10 ` Rainer Orth
@ 2012-03-14 17:10 ` Richard Henderson
2012-03-14 18:03 ` Rainer Orth
0 siblings, 1 reply; 8+ messages in thread
From: Richard Henderson @ 2012-03-14 17:10 UTC (permalink / raw)
To: Rainer Orth; +Cc: gcc-patches, Tristan Gingold
On 03/14/12 09:09, Rainer Orth wrote:
Nearly ok.
> + targetm.asm_file_start_file_directive = 0;
This is default and may be deleted.
r~
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Remove non-GAS non-ELF support in alpha backend
2012-03-14 17:10 ` Richard Henderson
@ 2012-03-14 18:03 ` Rainer Orth
2017-09-26 18:40 ` Bernhard Reutner-Fischer
0 siblings, 1 reply; 8+ messages in thread
From: Rainer Orth @ 2012-03-14 18:03 UTC (permalink / raw)
To: Richard Henderson; +Cc: gcc-patches, Tristan Gingold
[-- Attachment #1: Type: text/plain, Size: 3117 bytes --]
Richard Henderson <rth@redhat.com> writes:
> On 03/14/12 09:09, Rainer Orth wrote:
>
> Nearly ok.
>
>> + targetm.asm_file_start_file_directive = 0;
>
> This is default and may be deleted.
Or would be if alpha.c didn't override the default.
This is what I actually committed after retesting.
Rainer
2012-03-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: alpha-non-gas-elf.patch --]
[-- Type: text/x-patch, Size: 20161 bytes --]
# HG changeset patch
# Parent e37bb02d4dc18d8d19c6c63e92941d726831687f
Remove non-GAS non-ELF support in alpha backend
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- 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
--- 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 co
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
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, t
#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, con
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)
}
}
\f
-#ifdef HAVE_STAMP_H
-#include <stamp.h>
-#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,
flags |= default_section_type_flags (decl, name, reloc);
return flags;
}
-#endif /* OBJECT_FORMAT_ELF */
\f
/* 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
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -146,12 +146,6 @@ extern enum alpha_fp_trap_mode alpha_fpt
#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))
\f
-/* 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<x> 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
--- 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
--- 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
--- 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 G
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#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
--- 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 <obrien@FreeBSD.org> and BSDi.
@@ -56,21 +56,12 @@ along with GCC; see the file COPYING3.
#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
--- 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 G
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#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
--- 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 G
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#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
--- 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.
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_
#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
--- 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
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 b
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
[-- Attachment #3: Type: text/plain, Size: 144 bytes --]
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Remove non-GAS non-ELF support in alpha backend
2012-03-14 18:03 ` Rainer Orth
@ 2017-09-26 18:40 ` Bernhard Reutner-Fischer
0 siblings, 0 replies; 8+ messages in thread
From: Bernhard Reutner-Fischer @ 2017-09-26 18:40 UTC (permalink / raw)
To: Rainer Orth
Cc: Richard Henderson, gcc-patches, Tristan Gingold, Matthew Fortune
On Wed, Mar 14, 2012 at 07:02:33PM +0100, Rainer Orth wrote:
> Richard Henderson <rth@redhat.com> writes:
>
> > On 03/14/12 09:09, Rainer Orth wrote:
> >
> > Nearly ok.
> >
> >> + targetm.asm_file_start_file_directive = 0;
> >
> > This is default and may be deleted.
>
> Or would be if alpha.c didn't override the default.
>
> This is what I actually committed after retesting.
Looking at ASM_OUTPUT_SOURCE_FILENAME i wonder why both alpha and mips
do not use the default hook nowadays?
mmix seems to do something different for real, fwiw.
TIA,
>
> Rainer
>
>
> 2012-03-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
>
> * 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.
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-09-26 18:40 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-12 16:22 Remove non-GAS non-ELF support in alpha backend Rainer Orth
2012-03-12 16:31 ` Richard Henderson
2012-03-14 16:10 ` Rainer Orth
2012-03-14 17:10 ` Richard Henderson
2012-03-14 18:03 ` Rainer Orth
2017-09-26 18:40 ` Bernhard Reutner-Fischer
2012-03-12 16:58 ` Joseph S. Myers
2012-03-12 16:59 ` Richard Henderson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).