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
This commit is contained in:
parent
7888f2660e
commit
46e1a76956
@ -1,3 +1,79 @@
|
||||
2012-03-14 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.
|
||||
|
||||
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
|
||||
|
@ -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
|
||||
|
@ -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 <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, 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
|
||||
|
@ -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<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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
<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
|
||||
|
@ -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. 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. */
|
||||
|
||||
|
@ -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
|
||||
<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__"); \
|
||||
|
@ -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
|
||||
<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(); \
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user