delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/12/06:01:59

From: <telford AT xenon DOT triode DOT net DOT au>
Newsgroups: comp.os.msdos.djgpp
Subject: I've had problems!! Re: GCC 2.8.0 (2.8.1's out)
Date: 12 Mar 1998 06:01:08 GMT
Organization: Triode Internet
Lines: 50
Message-ID: <6e7tn4$og6$1@hyperion.triode.net.au>
References: <34FF4807 DOT 45F42AD9 AT magna DOT com DOT au>
NNTP-Posting-Host: xenon.triode.net.au
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

I have 2.8.0 running under linux no worries, I have some
code that was developed with that and it works fine in linux.

I can compile the code in DOS with djgpp gcc 2.7.2 OK as well.
I haven't tried using gcc 2.8.0 in DOS yet but I did try a cross
compiler that is the 2.8.0 running on linux producing COFF output
and linking with the libgxx 2.8.0 binary downloaded from simtel.

This does actually work quite well. I had some trouble getting
it to recognise the special djgpp.djl linker script and I still
can't figure out how to get it to automatically run stubify but
the linker script is compiler in now and I can run stubify by hand --
I'm not worried about any of that.

There is one time when it doesn't work and I'm mighty confused
as to why. It is only when I compile C++ program, inherit a sytem 
library class (in this case streambuf) and change a virtual function.
This causes teh new class to get it's own virtual function table
and one member of that table is a `type_info' function. These type_info
references don't match anything in the library so I can'tlink.

You can see type_info functions if you use the -S option on the compiler
and look at the 386 assembly. type info functions start with ___tf
or ___ti. My happily working linux ELF compiler also generates type_info
functions but these are prefixed __tf or __ti and seem to link OK
with my library.

When I compile in DOS with 2.7.2, the place where the type_info
would have been is just a 0 in the table and this links great!
I'm happy enough to just kill type_info support completely in my cross
compiler (either with command line options or by hacking some code)
but I don't know how. I'd also settle for a DOS COFF library that
supports type_info linking but since I'm not likely to use them
(and it seems no one else uses them in the DOS world) then I'd just
as soon piss them off completely.

Well anyone know how to clobber this compiler feature?

	- Tel


In comp.os.msdos.djgpp Andrew Cottrell <acottrel AT magna DOT com DOT au> wrote:
> Hi,

> Do any of the bugs in 2.8.0->2.8.1 relevent to the DJGPP 2.8.0 port?

> Regards,
> Andrew


- Raw text -


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