delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2011/04/30/08:17:32

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 <andris DOT pavenis AT iki DOT fi>
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 <eliz AT gnu DOT org>
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>
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<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.

>
>>          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







- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019