X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f X-Recipient: djgpp-workers AT delorie DOT com Date: Sat, 30 Apr 2011 16:36:32 +0300 From: Eli Zaretskii Subject: Re: DJGPP port of GCC: current situation and future In-reply-to: <4DBBFDD3.2050100@iki.fi> X-012-Sender: halo1 AT inter DOT net DOT il To: Andris Pavenis Cc: djgpp-workers AT delorie DOT com Message-id: <83mxj76eu7.fsf@gnu.org> References: <4DBBEE1B DOT 7090803 AT iki DOT fi> <83pqo455nj DOT fsf AT gnu DOT org> <4DBBFDD3 DOT 2050100 AT iki DOT fi> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Sat, 30 Apr 2011 15:17:23 +0300 > From: Andris Pavenis > CC: Eli Zaretskii > > On 04/30/2011 02:40 PM, Eli Zaretskii wrote: > >> Date: Sat, 30 Apr 2011 14:10:19 +0300 > >> From: Andris Pavenis > >> > >> - 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.