Mail Archives: djgpp-workers/2011/04/30/09:37:24
> 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.
> > I guess the Linux to DJGPP cross-compiler is the easiest and most
> > convenient way, right?
>
> But You cannot easily run and debug DJGPP applications under Linux. From that
> point of view Mingw32 could potentially be better.
Whatever is easiest, for you in particular, is the preferred way. I
have nothing against MinGW (I'm using it extensively for the last few
years).
> There are however problems running DJGPP applications from Msys -
> they run, but shell is not getting return code as far as I remember.
MSYS has many problems, I'd suggest to avoid it entirely. Why do you
need it at all? is that because you need a port of Bash, or is there
some other reason?
> I can easily build native DJGPP binary packages of binutils under Linux.
As long as they run natively on DOS/Windows, that is fine.
> For example I could make building them as optional step when building
> Linux to DJGPP cross-binutils RPM. DJGPP source ZIP would however have
> no meaning in such case.
Then we could stop preparing the source ZIP files. Having the sources
you modified on Linux before building them, is good enough. GPL
requires that modified sources be available, it doesn't say in which
form.
- Raw text -