From b122caababcbf0e800b3e252c5a6440560245b9f Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Fri, 27 Aug 1999 03:41:45 +0000 Subject: Fix aranges corruption for non-mips 64 bit targets. * dwarf2out.c (output_aranges): Check DWARF_OFFSET_SIZE not PTR_SIZE when emitting alignment padding. Emit padding byte of 0 instead of 4. From-SVN: r28913 --- gcc/dwarf2out.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gcc/dwarf2out.c') diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 81792b5..88ddac8 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -5682,8 +5682,14 @@ output_aranges () ASM_COMMENT_START); fputc ('\n', asm_out_file); - ASM_OUTPUT_DWARF_DATA4 (asm_out_file, 4); - if (PTR_SIZE == 8) + /* We need to align to twice the pointer size here. + If DWARF_OFFSET_SIZE == 4, then we have emitted 12 bytes, and need 4 + bytes of padding to align for either 4 or 8 byte pointers. */ + ASM_OUTPUT_DWARF_DATA4 (asm_out_file, 0); + /* If DWARF_OFFSET_SIZE == 8, then we have emitted 20 bytes, and need 12 + bytes of padding to align for 8 byte pointers. We have already emitted + 4 bytes of padding, so emit 8 more here. */ + if (DWARF_OFFSET_SIZE == 8) fprintf (asm_out_file, ",0,0"); if (flag_debug_asm) -- cgit v1.1