dwarf2out.c (output_loc_operands): Don't support >1 byte output unless DWARF2_DEBUGGING_INFO is defined.
* dwarf2out.c (output_loc_operands): Don't support >1 byte output unless DWARF2_DEBUGGING_INFO is defined. (ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs. From-SVN: r34768
This commit is contained in:
parent
0e500c7869
commit
0517872a0c
2 changed files with 45 additions and 11 deletions
|
@ -1,3 +1,9 @@
|
|||
2000-06-28 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* dwarf2out.c (output_loc_operands): Don't support >1 byte output
|
||||
unless DWARF2_DEBUGGING_INFO is defined.
|
||||
(ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs.
|
||||
|
||||
2000-06-28 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* config/alpha/alpha.c (summarize_insn): Ignore SCRATCH.
|
||||
|
|
|
@ -464,41 +464,63 @@ static void def_cfa_1 PARAMS ((const char *, dw_cfa_location *));
|
|||
/* We don't have unaligned support, let's hope the normal output works for
|
||||
.debug_frame. */
|
||||
|
||||
#ifndef ASM_OUTPUT_DWARF_ADDR
|
||||
#define ASM_OUTPUT_DWARF_ADDR(FILE,LABEL) \
|
||||
assemble_integer (gen_rtx_SYMBOL_REF (Pmode, LABEL), DWARF2_ADDR_SIZE, 1)
|
||||
#endif
|
||||
|
||||
#ifndef ASM_OUTPUT_DWARF_ADDR_CONST
|
||||
#define ASM_OUTPUT_DWARF_ADDR_CONST(FILE,RTX) ASM_OUTPUT_DWARF_ADDR (FILE,RTX)
|
||||
#endif
|
||||
|
||||
#ifndef ASM_OUTPUT_DWARF_OFFSET4
|
||||
#define ASM_OUTPUT_DWARF_OFFSET4(FILE,LABEL) \
|
||||
assemble_integer (gen_rtx_SYMBOL_REF (SImode, LABEL), 4, 1)
|
||||
#endif
|
||||
|
||||
#ifndef ASM_OUTPUT_DWARF_OFFSET
|
||||
#define ASM_OUTPUT_DWARF_OFFSET(FILE,LABEL) \
|
||||
assemble_integer (gen_rtx_SYMBOL_REF (SImode, LABEL), 4, 1)
|
||||
#endif
|
||||
|
||||
#ifndef ASM_OUTPUT_DWARF_DELTA2
|
||||
#define ASM_OUTPUT_DWARF_DELTA2(FILE,LABEL1,LABEL2) \
|
||||
assemble_integer (gen_rtx_MINUS (HImode, \
|
||||
gen_rtx_SYMBOL_REF (Pmode, LABEL1), \
|
||||
gen_rtx_SYMBOL_REF (Pmode, LABEL2)), \
|
||||
2, 1)
|
||||
#endif
|
||||
|
||||
#ifndef ASM_OUTPUT_DWARF_DELTA4
|
||||
#define ASM_OUTPUT_DWARF_DELTA4(FILE,LABEL1,LABEL2) \
|
||||
assemble_integer (gen_rtx_MINUS (SImode, \
|
||||
gen_rtx_SYMBOL_REF (Pmode, LABEL1), \
|
||||
gen_rtx_SYMBOL_REF (Pmode, LABEL2)), \
|
||||
4, 1)
|
||||
#endif
|
||||
|
||||
#ifndef ASM_OUTPUT_DWARF_ADDR_DELTA
|
||||
#define ASM_OUTPUT_DWARF_ADDR_DELTA(FILE,LABEL1,LABEL2) \
|
||||
assemble_integer (gen_rtx_MINUS (Pmode, \
|
||||
gen_rtx_SYMBOL_REF (Pmode, LABEL1), \
|
||||
gen_rtx_SYMBOL_REF (Pmode, LABEL2)), \
|
||||
DWARF2_ADDR_SIZE, 1)
|
||||
#endif
|
||||
|
||||
#ifndef ASM_OUTPUT_DWARF_DELTA
|
||||
#define ASM_OUTPUT_DWARF_DELTA(FILE,LABEL1,LABEL2) \
|
||||
ASM_OUTPUT_DWARF_DELTA4 (FILE,LABEL1,LABEL2)
|
||||
#endif
|
||||
|
||||
#ifndef ASM_OUTPUT_DWARF_DATA2
|
||||
#define ASM_OUTPUT_DWARF_DATA2(FILE,VALUE) \
|
||||
assemble_integer (GEN_INT (VALUE), 2, 1)
|
||||
#endif
|
||||
|
||||
#ifndef ASM_OUTPUT_DWARF_DATA4
|
||||
#define ASM_OUTPUT_DWARF_DATA4(FILE,VALUE) \
|
||||
assemble_integer (GEN_INT (VALUE), 4, 1)
|
||||
#endif
|
||||
|
||||
#endif /* UNALIGNED_INT_ASM_OP */
|
||||
|
||||
|
@ -2599,15 +2621,15 @@ output_loc_operands (loc)
|
|||
|
||||
switch (loc->dw_loc_opc)
|
||||
{
|
||||
#ifdef DWARF2_DEBUGGING_INFO
|
||||
/* We currently don't make any attempt to make sure these are
|
||||
aligned properly like we do for the main unwind info, so
|
||||
don't support emitting things larger than a byte if we're
|
||||
only doing unwinding. */
|
||||
case DW_OP_addr:
|
||||
ASM_OUTPUT_DWARF_ADDR_CONST (asm_out_file, val1->v.val_addr);
|
||||
fputc ('\n', asm_out_file);
|
||||
break;
|
||||
case DW_OP_const1u:
|
||||
case DW_OP_const1s:
|
||||
ASM_OUTPUT_DWARF_DATA1 (asm_out_file, val1->v.val_flag);
|
||||
fputc ('\n', asm_out_file);
|
||||
break;
|
||||
case DW_OP_const2u:
|
||||
case DW_OP_const2s:
|
||||
ASM_OUTPUT_DWARF_DATA2 (asm_out_file, val1->v.val_int);
|
||||
|
@ -2623,6 +2645,17 @@ output_loc_operands (loc)
|
|||
abort ();
|
||||
fputc ('\n', asm_out_file);
|
||||
break;
|
||||
case DW_OP_skip:
|
||||
case DW_OP_bra:
|
||||
ASM_OUTPUT_DWARF_DATA2 (asm_out_file, val1->v.val_int);
|
||||
fputc ('\n', asm_out_file);
|
||||
break;
|
||||
#endif
|
||||
case DW_OP_const1u:
|
||||
case DW_OP_const1s:
|
||||
ASM_OUTPUT_DWARF_DATA1 (asm_out_file, val1->v.val_flag);
|
||||
fputc ('\n', asm_out_file);
|
||||
break;
|
||||
case DW_OP_constu:
|
||||
output_uleb128 (val1->v.val_unsigned);
|
||||
fputc ('\n', asm_out_file);
|
||||
|
@ -2639,11 +2672,6 @@ output_loc_operands (loc)
|
|||
output_uleb128 (val1->v.val_unsigned);
|
||||
fputc ('\n', asm_out_file);
|
||||
break;
|
||||
case DW_OP_skip:
|
||||
case DW_OP_bra:
|
||||
ASM_OUTPUT_DWARF_DATA2 (asm_out_file, val1->v.val_int);
|
||||
fputc ('\n', asm_out_file);
|
||||
break;
|
||||
case DW_OP_breg0:
|
||||
case DW_OP_breg1:
|
||||
case DW_OP_breg2:
|
||||
|
@ -2703,7 +2731,7 @@ output_loc_operands (loc)
|
|||
fputc ('\n', asm_out_file);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue