From: "Mark E." To: djgpp-workers AT delorie DOT com Date: Wed, 7 Feb 2001 14:36:19 -0500 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: GCC: DJGPP bootstrap fix + define MSDOS Message-ID: <3A815D63.28556.10AD1D4@localhost> X-mailer: Pegasus Mail for Win32 (v3.12c) Reply-To: djgpp-workers AT delorie DOT com Greetings, gcc will no longer bootstrap after the last cvs update. Turns out this is because the macro SUPPORTS_ONE_ONLY is now used in CPP. SUPPORTS_ONE_ONLY uses target_flags to determine if the -mbnu210 switch has been used, but the target_flags variable is naturally not available in CPP. The only way I see to fix the bootstrap is to eliminate the -mbnu210 switch. Any less drastic ideas are welcomed. Index: djgpp.h =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/i386/djgpp.h,v retrieving revision 1.22 diff -c -p -r1.22 djgpp.h *** djgpp.h 2001/02/07 00:33:20 1.22 --- djgpp.h 2001/02/07 19:24:19 *************** Boston, MA 02111-1307, USA. */ *** 117,123 **** /* Include so __DJGPP__ and __DJGPP_MINOR__ are defined. */ #undef CPP_SPEC #define CPP_SPEC "-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE} \ ! -imacros %s../include/sys/version.h" /* We need to override link_command_spec in gcc.c so support -Tdjgpp.djl. This cannot be done in LINK_SPECS as that LINK_SPECS is processed --- 117,123 ---- /* Include so __DJGPP__ and __DJGPP_MINOR__ are defined. */ #undef CPP_SPEC #define CPP_SPEC "-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE} \ ! -imacros %s../include/sys/version.h %{!ansi:-DMSDOS}" /* We need to override link_command_spec in gcc.c so support -Tdjgpp.djl. This cannot be done in LINK_SPECS as that LINK_SPECS is processed *************** dtor_section () \ *** 259,281 **** /* Used to be defined in xm-djgpp.h, but moved here for cross-compilers. */ #define LIBSTDCXX "-lstdcxx" - - /* Add command line option -mbnu210 to indicate we can use binutil 2.10's features. */ - #undef MASK_BNU210 - #define MASK_BNU210 (0x40000000) - - #undef SUBTARGET_SWITCHES - #define SUBTARGET_SWITCHES \ - { "bnu210", -MASK_BNU210, "Enable weak symbol and enhanced C++ template support. Binutils 2.10 or higher required." }, \ - { "no-bnu210", MASK_BNU210, "Disable weak symbol and enhanced C++ template support." }, - - /* Weak symbols and .gnu.linkonce are only in Binutils-2.10 and later. - Default to using Binutils 2.10 features. */ - #undef SUPPORTS_WEAK - #define SUPPORTS_WEAK ((target_flags & MASK_BNU210) == 0) - - #undef SUPPORTS_ONE_ONLY - #define SUPPORTS_ONE_ONLY ((target_flags & MASK_BNU210) == 0) /* Support for C++ templates. */ #undef MAKE_DECL_ONE_ONLY --- 259,264 ----