This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: GCC build failed for powerpc-eabisim with your patch on 2001-08-19T15:45:01Z.
- To: gcc-regression at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Subject: Re: GCC build failed for powerpc-eabisim with your patch on 2001-08-19T15:45:01Z.
- From: Richard Henderson <rth at redhat dot com>
- Date: Sun, 19 Aug 2001 13:18:33 -0700
- References: <200108191730.f7JHUAf12553@maat.cygnus.com>
On Sun, Aug 19, 2001 at 05:30:09PM +0000, GCC regression checker wrote:
> Assembler messages:
> [...] Error: Relocation cannot be done when using -mrelocatable
> make[7]: *** [eh_alloc.lo] Error 1
The problem was that the indirect data was being output like so
.4byte __gxx_personality_v0
instead of like so
.LC5:
.LCP0:
.long (__gxx_personality_v0)@fixup
.section ".fixup","aw"
.align 2
.long .LCP0
.previous
So unless I add extra hooky things that I don't want to add,
ppc eabi cannot issue unaligned symbol references, as might
be constructed via packed data types.
Oh well. I plan on ignoring this until someone files a bug.
r~
* dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
is aligned to pointer size.
Index: dwarf2asm.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/dwarf2asm.c,v
retrieving revision 1.10
diff -c -p -d -u -r1.10 dwarf2asm.c
--- dwarf2asm.c 2001/08/18 00:53:17 1.10
+++ dwarf2asm.c 2001/08/19 20:06:44
@@ -880,7 +880,7 @@ dw2_output_indirect_constant_1 (node, da
sym_ref = gen_rtx_SYMBOL_REF (Pmode, sym);
ASM_OUTPUT_LABEL (asm_out_file, label);
- assemble_integer (sym_ref, POINTER_SIZE / BITS_PER_UNIT, BITS_PER_UNIT, 1);
+ assemble_integer (sym_ref, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
return 0;
}