From: Andrew Crabtree 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 Precedence: bulk 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 ___________ __/ _____________________________________________________