aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/darwin.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-08-17 17:53:20 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-08-17 17:53:20 -0700
commitc8af3574e39507d08798c890c034c1935b51885c (patch)
tree980e4cc8bb27895af2efcfd04f1969c28cccd1f9 /gcc/config/darwin.c
parent920ae24b3528f63f23f9b77dc8600120cdd5658e (diff)
downloadgcc-c8af3574e39507d08798c890c034c1935b51885c.zip
gcc-c8af3574e39507d08798c890c034c1935b51885c.tar.gz
gcc-c8af3574e39507d08798c890c034c1935b51885c.tar.bz2
defaults.h (UNALIGNED_SHORT_ASM_OP, [...]): Move from ...
* 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. From-SVN: r44992
Diffstat (limited to 'gcc/config/darwin.c')
-rw-r--r--gcc/config/darwin.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index f2bd5bd..d00b7bd 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -924,10 +924,11 @@ machopic_finish (asm_out_file)
)
{
data_section ();
- assemble_align (UNITS_PER_WORD * BITS_PER_UNIT);
+ assemble_align (GET_MODE_ALIGNMENT (Pmode));
assemble_label (lazy_name);
assemble_integer (gen_rtx (SYMBOL_REF, Pmode, sym_name),
- GET_MODE_SIZE (Pmode), 1);
+ GET_MODE_SIZE (Pmode),
+ GET_MODE_ALIGNMENT (Pmode), 1);
}
else
{
@@ -939,7 +940,8 @@ machopic_finish (asm_out_file)
assemble_name (asm_out_file, sym_name);
fprintf (asm_out_file, "\n");
- assemble_integer (const0_rtx, GET_MODE_SIZE (Pmode), 1);
+ assemble_integer (const0_rtx, GET_MODE_SIZE (Pmode),
+ GET_MODE_ALIGNMENT (Pmode), 1);
}
}
}
@@ -1117,7 +1119,8 @@ machopic_asm_out_constructor (symbol, priority)
mod_init_section ();
else
constructor_section ();
- assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, 1);
+ assemble_align (POINTER_SIZE);
+ assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
if (!flag_pic)
fprintf (asm_out_file, ".reference .constructors_used\n");
@@ -1132,7 +1135,8 @@ machopic_asm_out_destructor (symbol, priority)
mod_term_section ();
else
destructor_section ();
- assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, 1);
+ assemble_align (POINTER_SIZE);
+ assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
if (!flag_pic)
fprintf (asm_out_file, ".reference .destructors_used\n");