X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f X-Recipient: djgpp-workers AT delorie DOT com Message-ID: <4DBBFDD3.2050100@iki.fi> Date: Sat, 30 Apr 2011 15:17:23 +0300 From: Andris Pavenis User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: djgpp-workers AT delorie DOT com CC: Eli Zaretskii Subject: Re: DJGPP port of GCC: current situation and future References: <4DBBEE1B DOT 7090803 AT iki DOT fi> <83pqo455nj DOT fsf AT gnu DOT org> In-Reply-To: <83pqo455nj.fsf@gnu.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com 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. > >> 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. > >> The remaining way is to use cross-compiler for DJGPP target. >> Some possibilities: >> - Linux to DJGPP cross-compiler. I have built gcc-4.6.0 cross-compiler >> RPM packages under Fedora 14 x86_64 and now Fedora 15 beta x86_64 >> (the same gcc-4.6.0 as system compiler so no need to begin >> with native bootstrap of GCC on build system). Currently gcc-4.6.0 >> cross-compiler RPM packages is being built in CentOS-5.6 chroot (i386) >> for distribution. >> - Using one of windows ports (Cygwin or Mingw32) as the host of >> DJGPP cross-compiler. I may try to to Canadian-cross build under >> Fedora 14 or Fedora-15 beta, as Mingw32 cross-development tools are >> already available in last Fedora distribution versions. We do not >> however have established way of distributing Mingw32 hosted >> cross-development packages for DJGPP target yet. Building using >> Mingw32 under windows is also an option. > > 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. There are however problems running DJGPP applications from Msys - they run, but shell is not getting return code as far as I remember. > > It would be good to have a DJGPP native compiler for at least some of > the 4.6.x series, because support for debugging there is said to be > much better. > > Anyway, let me take this opportunity to thank you for maintaining the > ports of GCC and Binutils over the years. I can easily build native DJGPP binary packages of binutils under Linux. 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. Andris