diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-18 00:53:20 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-18 00:53:20 +0000 |
commit | 09d688ff604a18ede94318d871d3d932b53b8dbe (patch) | |
tree | 980e4cc8bb27895af2efcfd04f1969c28cccd1f9 /gcc/dwarf2asm.c | |
parent | cbd5f1a1e51fb0ea06167ddc208d4e8f6935b2d0 (diff) | |
download | gcc-09d688ff604a18ede94318d871d3d932b53b8dbe.tar.gz |
* defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
* dwarf2asm.c: ... here.
* dwarfout.c: Remove them.
* varasm.c (assemble_integer): Add align parameter.
(assemble_real, output_constant, output_constructor): Likewise.
* output.h: Update decls.
* dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
Update all callers.
* final.c (end_final): Abort profile block generation if we
havn't layed it out properly.
* output.h (assemble_eh_integer): Remove stale decl.
* varasm.c (assemble_zeros): Tidy; use assemble_integer.
(min_align): New.
(assemble_integer): Handle unaligned data.
(assemble_real): Abort on unaligned data.
(output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
anything useful.
(default_dtor_section_asm_out_destructor): Use assemble_align.
(default_named_section_asm_out_constructor): Likewise.
(default_ctor_section_asm_out_constructor): Likewise.
* config/darwin.c (machopic_asm_out_constructor): Likewise.
(machopic_asm_out_destructor): Likewise.
* config/nextstep.c (nextstep_asm_out_constructor): Likewise.
(nextstep_asm_out_destructor): Likewise.
* config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
(vms_asm_out_destructor): Likewise.
* java/class.c (emit_register_classes): Add align parameter to
call to assemble_integer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44992 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2asm.c')
-rw-r--r-- | gcc/dwarf2asm.c | 42 |
1 files changed, 12 insertions, 30 deletions
diff --git a/gcc/dwarf2asm.c b/gcc/dwarf2asm.c index 15ae68dd212..087cd684b98 100644 --- a/gcc/dwarf2asm.c +++ b/gcc/dwarf2asm.c @@ -37,26 +37,6 @@ Boston, MA 02111-1307, USA. */ #define ASM_COMMENT_START ";#" #endif -/* Definitions of defaults for assembler-dependent names of various - pseudo-ops and section names. These may be overridden in the tm.h - file (if necessary) for a particular assembler. */ - -#ifdef OBJECT_FORMAT_ELF -#ifndef UNALIGNED_SHORT_ASM_OP -#define UNALIGNED_SHORT_ASM_OP "\t.2byte\t" -#endif -#ifndef UNALIGNED_INT_ASM_OP -#define UNALIGNED_INT_ASM_OP "\t.4byte\t" -#endif -#ifndef UNALIGNED_DOUBLE_INT_ASM_OP -#define UNALIGNED_DOUBLE_INT_ASM_OP "\t.8byte\t" -#endif -#endif /* OBJECT_FORMAT_ELF */ - -#ifndef ASM_BYTE_OP -#define ASM_BYTE_OP "\t.byte\t" -#endif - /* We don't have unaligned support, let's hope the normal output works for .debug_frame. But we know it won't work for .debug_info. */ #if !defined(UNALIGNED_INT_ASM_OP) && defined(DWARF2_DEBUGGING_INFO) @@ -64,6 +44,9 @@ Boston, MA 02111-1307, USA. */ #endif +/* Despite the fact that assemble_integer handles unaligned data, + continue emitting things by hand when possible, since that makes + the assembler commentary come out prettier. */ #ifdef UNALIGNED_INT_ASM_OP static const char * unaligned_integer_asm_op PARAMS ((int)); @@ -123,7 +106,7 @@ dw2_asm_output_data VPARAMS ((int size, unsigned HOST_WIDE_INT value, fputs (unaligned_integer_asm_op (size), asm_out_file); fprintf (asm_out_file, HOST_WIDE_INT_PRINT_HEX, value); #else - assemble_integer (GEN_INT (value), size, 1); + assemble_integer (GEN_INT (value), size, BITS_PER_UNIT, 1); #endif if (flag_debug_asm && comment) @@ -168,10 +151,9 @@ dw2_asm_output_delta VPARAMS ((int size, const char *lab1, const char *lab2, fputc ('-', asm_out_file); assemble_name (asm_out_file, lab2); #else - assemble_integer (gen_rtx_MINUS (smallest_mode_for_size (size, MODE_INT), - gen_rtx_SYMBOL_REF (Pmode, lab1), + assemble_integer (gen_rtx_MINUS (Pmode, gen_rtx_SYMBOL_REF (Pmode, lab1), gen_rtx_SYMBOL_REF (Pmode, lab2)), - size, 1); + size, BITS_PER_UNIT, 1); #endif if (flag_debug_asm && comment) @@ -216,7 +198,7 @@ dw2_asm_output_offset VPARAMS ((int size, const char *label, fputs (unaligned_integer_asm_op (size), asm_out_file); assemble_name (asm_out_file, label); #else - assemble_integer (gen_rtx_SYMBOL_REF (Pmode, label), size, 1); + assemble_integer (gen_rtx_SYMBOL_REF (Pmode, label), size, BITS_PER_UNIT, 1); #endif #endif @@ -300,7 +282,7 @@ dw2_asm_output_addr VPARAMS ((int size, const char *label, fputs (unaligned_integer_asm_op (size), asm_out_file); assemble_name (asm_out_file, label); #else - assemble_integer (gen_rtx_SYMBOL_REF (Pmode, label), size, 1); + assemble_integer (gen_rtx_SYMBOL_REF (Pmode, label), size, BITS_PER_UNIT, 1); #endif if (flag_debug_asm && comment) @@ -338,7 +320,7 @@ dw2_asm_output_addr_rtx VPARAMS ((int size, rtx addr, fputs (unaligned_integer_asm_op (size), asm_out_file); output_addr_const (asm_out_file, addr); #else - assemble_integer (addr, size, 1); + assemble_integer (addr, size, BITS_PER_UNIT, 1); #endif if (flag_debug_asm && comment) @@ -898,7 +880,7 @@ dw2_output_indirect_constant_1 (node, data) sym_ref = gen_rtx_SYMBOL_REF (Pmode, sym); ASM_OUTPUT_LABEL (asm_out_file, label); - assemble_integer (sym_ref, POINTER_SIZE / BITS_PER_UNIT, 1); + assemble_integer (sym_ref, POINTER_SIZE / BITS_PER_UNIT, BITS_PER_UNIT, 1); return 0; } @@ -956,7 +938,7 @@ dw2_asm_output_encoded_addr_rtx VPARAMS ((int encoding, /* NULL is _always_ represented as a plain zero. */ if (addr == const0_rtx) - assemble_integer (addr, size, 1); + assemble_integer (addr, size, BITS_PER_UNIT, 1); else { restart: @@ -989,7 +971,7 @@ dw2_asm_output_encoded_addr_rtx VPARAMS ((int encoding, fputs (unaligned_integer_asm_op (size), asm_out_file); output_addr_const (asm_out_file, addr); #else - assemble_integer (addr, size, 1); + assemble_integer (addr, size, BITS_PER_UNIT, 1); #endif break; |