Mail Archives: djgpp-workers/2011/04/30/09:43:58
> Date: Sat, 30 Apr 2011 16:36:32 +0300
> From: Eli Zaretskii <eliz AT gnu DOT org>
> Cc: djgpp-workers AT delorie DOT com
>
> > Date: Sat, 30 Apr 2011 15:17:23 +0300
> > From: Andris Pavenis <andris DOT pavenis AT iki DOT fi>
> > CC: Eli Zaretskii <eliz AT gnu DOT org>
> >
> > On 04/30/2011 02:40 PM, Eli Zaretskii wrote:
> > >> Date: Sat, 30 Apr 2011 14:10:19 +0300
> > >> From: Andris Pavenis<andris DOT pavenis AT iki DOT fi>
> > >>
> > >> - beginning with GCC-4.6.0 one runs into COFF format
> > >> restrictions when compiling generated insn-attrtab.c.
> > >>
> > >> /usr/lib64/gcc/i586-pc-msdosdjgpp/4.6.0/../../../../i586-pc-msdosdjgpp/bin/as: insn-attrtab.o:
> > >> .text: reloc overflow: 0x16ce2> 0xffff
> > >
> > > Anyway, are there any tricks to decrease the size/number of the
> > > relocations? E.g., is it possible to divide insn-attrtab.c into a
> > > several files?
> >
> > It is generated file. I do not think that there is any way to split it
> > easily enough.
>
> Sed can do wonders, in my experience...
>
> > >> Even without debug information GAS fails for most used
> > >> GCC optimization levels (for example -O2).
> > >
> > > Why does this happen? What limitation do we hit here? Or is this the
> > > reason for the "reloc overflow" failure?
> >
> > I do not know exactly. If I specify CFLAGS=-O2 when trying to do cross-native
> > build for DJGPP target on Linux, I'm getting that message. The same with -O3.
> > insn-attrtab.c compiles if I specify CFLAGS=-Os (make CFLAGS=-Os)
> >
> > I could send preprocessed source sometimes if You like to do some testing.
>
> Yes, please. I'd like to see in particular the differences between
> the files that pass Gas and those that fail it.
Btw, another way to approach this problem is ask the Binutils
maintainers to help us understand the problem. Or maybe DJ already
knows that ;-)
Armed with understanding of the reasons for this problem, we could be
more efficient in finding the cure or work-around.
- Raw text -