This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

DJGPP bootstrap patch


Hi guys,
Once again, here is the bootstrap fix needed for DJGPP.  __GO32__ and MSDOS 
(conditionally) are added back because some programs still depend upon them.

2001-05-02  Mark Elbrecht  <snowball3@bigfoot.com>

	* config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
	  (CPP_SPEC): Conditionally define MSDOS.
	  (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
	  (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
	  ignored.
	  (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.

Index: djgpp.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/djgpp.h,v
retrieving revision 1.24
diff -c -p -r1.24 djgpp.h
*** djgpp.h	2001/04/19 20:28:05	1.24
--- djgpp.h	2001/05/02 18:54:23
*************** Boston, MA 02111-1307, USA.  */
*** 112,123 ****
          (((NAME)[0] >= 'A') && ((NAME)[0] <= 'z') && ((NAME)[1] == ':')))
  
  #undef CPP_PREDEFINES
! #define CPP_PREDEFINES "-D__MSDOS__ -Asystem=msdos"
  
  /* Include <sys/version.h> 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
--- 112,123 ----
          (((NAME)[0] >= 'A') && ((NAME)[0] <= 'z') && ((NAME)[1] == ':')))
  
  #undef CPP_PREDEFINES
! #define CPP_PREDEFINES "-D__MSDOS__ -D__GO32__ -Asystem=msdos"
  
  /* Include <sys/version.h> so __DJGPP__ and __DJGPP_MINOR__ are defined.  */
  #undef CPP_SPEC
  #define CPP_SPEC "-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE} \
!   %{!ansi:%{!std=c*:%{!std=i*:-DMSDOS}}} -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
*************** dtor_section ()							\
*** 260,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
--- 260,286 ----
  /* Used to be defined in xm-djgpp.h, but moved here for cross-compilers.  */
  #define LIBSTDCXX "-lstdcxx"
  
! /* -mbnu210 is now ignored and obsolete. It was used to enable support for
!    weak symbols, and .gnu.linkonce support.  */
  #undef MASK_BNU210
  #define MASK_BNU210 (0x40000000)
  
  #undef SUBTARGET_SWITCHES
! #define SUBTARGET_SWITCHES \
!   { "no-bnu210", -MASK_BNU210, "Ignored (obsolete)." }, \
!   { "bnu210", MASK_BNU210, "Ignored (obsolete)." },
! 
! /* Warn that -mbnu210 is now obsolete.  */
! #undef  SUBTARGET_OVERRIDE_OPTIONS
! #define SUBTARGET_OVERRIDE_OPTIONS \
! do \
!   { \
!     if (target_flags & MASK_BNU210) \
!       {	\
!         warning ("-mbnu210 is ignored (option is obsolete)."); \
!       }	\
!   } \
! while (0)
  
  /* Support for C++ templates.  */
  #undef MAKE_DECL_ONE_ONLY


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]