delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1998/01/23/13:46:35

From: Andrew Crabtree <andrewc AT typhoon DOT rose DOT hp DOT com>
Message-Id: <199801231842.AA191400950@typhoon.rose.hp.com>
Subject: gcc 2.8.0
To: djgpp-workers AT delorie DOT com
Date: Fri, 23 Jan 1998 10:42:30 PST
Reply-To: andrewc AT rosemail DOT rose DOT hp DOT com

Hi guys - 

I've subscribed to the mailing list for the time being as 
I expect questions to arise about changes I made to gcc 2.8
over the past year.  I also may be of help otherwise, although
I don't know much about the dj libc stuff.

Here is the list of outstanding issues I know of with gcc 2.8
(its possible some exist only in egcs snapshots as I no longer
use the gcc sources).

1) After fixincludes runs gcc the build process provides its 
own stddef.h which conflicts with stdio.h.  This may occur only
when building a cross-compiler and is easiliy worked around by
copying the proper stddef.h over the gcc provided one.

2) gcov has never worked for me (I sent robert separate mail about this)

3) '-o -' doesn't output to stdout anymore.

4) Configure needs to be changed to 'ix86-pc-msdosdjgpp' (I suspect
robert has already done this in his sources, since he changed
binutils originally)

5) Should we support the new format g++ driver?  This requires 
changing djgpp.env.  I provide the new format one in pg++.  
It doesn't have the annoying 'lib not used since no linking done'
messages that you get with '-c' currently.

6) struct exception in math.h conflicts with new c++ (I sent 
robert email about this as well).

Here are things that I (or others) have changed over the previous year that
should probably get special attention when testing.

1) Constructor and desctructor macros (c++ uses these as do the 
gcov options -ftest-coverage -fprofile-arcs)
2) ASM_OUTPUT_ALIGN to explicitly use p2align.  This means 
it won't work with early versions of gas that don't understand p2align.
Both 2.7 and 2.8 binutils understand it.  Older versions don't.
3) #defined HAVE_ATEXIT so that libgcc wouldn't provide one (earlier
snapshots linked in their own atexit that didn't work)
4) #defined HAVE_INIT_SECTION so that __main wouldn't be called twice
(must leave the explicit call to __main in the crt code)
5) #def PATH_SEPARATOR to ';' (got this from cygwin)
6) #def EXECUTABLE_SUFFIX to '.exe' (this is causing problem 3 
above I think)
7) #def DIR_SEPARATOR to '\' (from cygwin also)
8) Changed the new g++ driver to look for libstdcx instead of 
libstdc++

Andrew

--
_______       ___________________________________________________________
           /                       	                  Andrew Crabtree 
          /                          	      Workgroup Networks Division 
         ____       ___  /                                Hewlett-Packard 
        /     /    /    /   		                    Roseville, CA 
     __/   __/    _____/                                     916/785-1675
                 /                           andrewc AT rosemail DOT rose DOT hp DOT com
___________   __/   _____________________________________________________

- Raw text -


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