Message-Id: <199803191642.SAA61616@ieva06.lanet.lv> From: "Andris Pavenis" To: Robert Hoehne Date: Thu, 19 Mar 1998 18:39:22 +0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: Building gcc-2.8.1 for DJGPP CC: djgpp-workers AT delorie DOT com In-reply-to: <351039C9.5D69770F@gmx.net> Precedence: bulk > From: Robert Hoehne > Subject: Re: Building gcc-2.8.1 for DJGPP > > This is, because not all my patches which I did for the DJGPP > port of gcc 2.8.0 are already included in gcc 2.8.1. So apply the > following patch to the main configure script: > ....... skipped ........ > > and then create the new file config/i386/x-go32 > ....... also skipped ....... Thanks for information. I have already applied the first patch (I always look for failures in patching so I saw it). About missing file the reason was simple: I looked with names in gcc280s that ends with '~', but empty file x-go32.~ was missing, so I skipped it. Today I build the compiler with one I got yesterday. All went OK. The final version (compiled with -O2) works. I also had to install gcc manually as install script didn't work correctly (it created directory '$DJGPP' instead of expanding $DJGPP and there were also other problems) Now about one other more serious problem: Looks that libstdcxx.a generated by gcc-2.8.0 (from archive lgpp280b.zip) is incompatible with gcc-2.8.1: Here is an example: in module strstream.o default destructor of class ostrstream is included in library as static function (not external) Here is fragment of output of command 'nm' for libstdcxx.a: 00002a7c ? LSFDE95 00002ac0 ? LSFDE97 0000117c t istrstream::~istrstream(void) 00000ff4 t ostrstream::~ostrstream(void) 00000554 T strstreambuf::~strstreambuf(void) 00001440 t strstreambase::~strstreambase(void) 000018b8 t iostream::~iostream(void) gcc-2.8.1 generates references as to external procedure The result is errors from ld.exe. I tested gcc-2.8.0 is not generating such references. The same problem as with gcc-2.8.1 is with pgcc-2.90.23 (egcs-1.01). So it's looks that it necessary to also recompile libstdcxx.a when changing to gcc-2.8.1. Maybe library compiled with gcc-2.8.1 is usable also with 2.8.0 but this also in not yet known. One more question: Is it significant to include suggested changes in exception handling under DJGPP when building GCC-2.8.1 Andris Pavenis