delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1998/03/19/11:42:11

Message-Id: <199803191642.SAA61616@ieva06.lanet.lv>
From: "Andris Pavenis" <pavenis AT laima DOT acad DOT latnet DOT lv>
To: Robert Hoehne <robert DOT hoehne AT gmx DOT net>
Date: Thu, 19 Mar 1998 18:39:22 +0000
MIME-Version: 1.0
Subject: Re: Building gcc-2.8.1 for DJGPP
CC: djgpp-workers AT delorie DOT com
In-reply-to: <351039C9.5D69770F@gmx.net>

> From:          Robert Hoehne <robert DOT hoehne AT gmx DOT net>
> 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

- Raw text -


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