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]
Other format: [Raw text]

[PATCH] Fix bootstrap on cygwin by finally removing -mno-cygwin.


    Hi list,

  Something in FX's recent change(*) to the CPP stuff runs into some kind of
conflict with the tricksy macro-vs-array-and-redefining games that are used in
config/i386/cygwin.h to turn all the predefined include path macros into
runtime-editable char arrays that can be frobbed to implement -mno-cygwin,
resulting in some multiple definitions errors during build:

> libbackend.a(cppdefault.o):cppdefault.c:(.data+0x0): multiple definition of
> `_cygwin_gplusplus_include_dir' 
> libbackend.a(cppbuiltin.o):cppbuiltin.c:(.data+0x0): first defined here 
> libbackend.a(cppdefault.o):cppdefault.c:(.data+0x40): multiple definition
> of `_cygwin_gplusplus_tool_include_dir' 
> libbackend.a(cppbuiltin.o):cppbuiltin.c:(.data+0x40): first defined here 
> libbackend.a(cppdefault.o):cppdefault.c:(.data+0xa0): multiple definition
> of `_cygwin_gplusplus_backward_include_dir' 
> libbackend.a(cppbuiltin.o):cppbuiltin.c:(.data+0xa0): first defined here 
> libbackend.a(cppdefault.o):cppdefault.c:(.data+0xde): multiple definition
> of `_cygwin_local_include_dir' 
> libbackend.a(cppbuiltin.o):cppbuiltin.c:(.data+0xde): first defined here 
> libbackend.a(cppdefault.o):cppdefault.c:(.data+0x100): multiple definition
> of `_cygwin_cross_include_dir' 
> libbackend.a(cppbuiltin.o):cppbuiltin.c:(.data+0x100): first defined here 
> libbackend.a(cppdefault.o):cppdefault.c:(.data+0x160): multiple definition
> of `_cygwin_tool_include_dir' 
> libbackend.a(cppbuiltin.o):cppbuiltin.c:(.data+0x160): first defined here 
> libbackend.a(cppdefault.o):cppdefault.c:(.data+0x1ac): multiple definition
> of `_cygwin_standard_include_dir' 
> libbackend.a(cppbuiltin.o):cppbuiltin.c:(.data+0x1ac): first defined here 
> libbackend.a(cppdefault.o):cppdefault.c:(.data+0x1c0): multiple definition
> of `_cvt_to_mingw' libbackend.a(cppbuiltin.o):cppbuiltin.c:(.data+0x1c0):
> first defined here collect2: ld returned 1 exit status make[3]: ***
> [cc1-dummy.exe] Error 1

  From the errors you can see that the arrays (which are directly declared in
the header) are getting instantiated in each of the preprocessor-related files
that include it, when previously there would only have been one file defining
them.

  As the -mno-cygwin option has been deprecated for some time (and has always
had corner cases where it didn't work entirely correctly), the simple solution
is to implement the long-planned-for removal.  The attached patch does just
that.  It therefore also fixes in passing some (harmless, on a target where
all pointers are the same size and format) warnings that crept in after
Joseph's recent options-related changes:

> In file included from ../.././gcc/tm.h:22:0, from
> /gnu/gcc/gcc/libgcc/../gcc/libgcc2.c:31: 
> /gnu/gcc/gcc/libgcc/../gcc/config/i386/cygwin.h:256:4: warning: ‘struct
> cl_decoded_option’ declared inside parameter list [enabled by default] 
> /gnu/gcc/gcc/libgcc/../gcc/config/i386/cygwin.h:256:4: warning: its scope
> is only this definition or declaration, which is probably not what you want
> [enabled by default]

gcc/ChangeLog:

	* config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
	cygwin2.o.
	(cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
	(extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
	* config/i386/t-cygwin (cygwin1.o): Delete build rule.
	(cygwin2.o): Likewise.
	* config/i386/cygwin1.c: Delete file.
	* config/i386/cygwin2.c: Likewise.
	* config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
	make all {%!mno-cygwin} ones unconditional.
	(STARTFILE_SPEC): Likewise.
	(REAL_LIBGCC_SPEC): Likewise.
	(LIB_SPEC): Likewise.
	(CXX_WRAP_SPEC): Likewise.
	(LINK_SPEC): Likewise.
	(CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
	(CYGWIN_MINGW_SUBDIR_LEN): Likewise.
	(cygwin_gplusplus_include_dir): Delete now-unused array.
	(GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_gplusplus_tool_include_dir): Delete now-unused array.
	(GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_gplusplus_backward_include_dir): Delete now-unused array.
	(GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_local_include_dir): Delete now-unused array.
	(LOCAL_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_cross_include_dir): Delete now-unused array.
	(CROSS_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_tool_include_dir): Delete now-unused array.
	(TOOL_INCLUDE_DIR): Don't redefine to point to it.
	(cygwin_standard_include_dir): Delete now-unused array.
	(STANDARD_INCLUDE_DIR): Don't redefine to point to it.
	(GEN_CVT_ARRAY): Delete now-unused macro definition.
	(cvt_to_mingw): Delete now-unused array.
	(mingw_scan): Remove prototype of deleted function.
	(GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
	* gcc/config/i386/cygming.opt (mcygwin): Delete target-specific option.
	* doc/invoke.texi (-mcygwin): Don't document removed option.
	(-mno-cygwin): Likewise.

(Please disregard minor mangling of changelog above; my mailer wraps at 78
chars, those lines are 79, which is still IMO perfectly acceptable for a
changelog entry.)

  I'm bootstrapping this on i686-pc-cygwin as I write, and will commit it
later today once that has completed and I've gotten far enough into the
testsuite to make sure that nothing major is broken.

    cheers,
      DaveK
-- 
(*) - Thread split across month boundary in the archives:
  http://gcc.gnu.org/ml/gcc-patches/2010-09/threads.html#02084
  http://gcc.gnu.org/ml/gcc-patches/2010-10/threads.html#00138

Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 165080)
+++ gcc/config.gcc	(working copy)
@@ -1410,9 +1410,8 @@ i[34567]86-*-pe | i[34567]86-*-cygwin*)
 	target_gtfiles="\$(srcdir)/config/i386/winnt.c"
 	extra_options="${extra_options} i386/cygming.opt"
 	extra_objs="winnt.o winnt-stubs.o"
-	c_target_objs="${c_target_objs} cygwin2.o msformat-c.o"
-	cxx_target_objs="${cxx_target_objs} cygwin2.o winnt-cxx.o msformat-c.o"
-	extra_gcc_objs=cygwin1.o
+	c_target_objs="${c_target_objs} msformat-c.o"
+	cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
 	if test x$enable_threads = xyes; then
 		thread_file='posix'
 	fi
Index: gcc/config/i386/t-cygwin
===================================================================
--- gcc/config/i386/t-cygwin	(revision 165080)
+++ gcc/config/i386/t-cygwin	(working copy)
@@ -23,16 +23,6 @@
 LIBGCC2_INCLUDES += -I$(srcdir)/../winsup/include \
 	-I$(srcdir)/../winsup/cygwin/include
 
-cygwin1.o: $(srcdir)/config/i386/cygwin1.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-  $(TM_H) $(TM_P_H) opts.h
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/cygwin1.c
-
-cygwin2.o: $(srcdir)/config/i386/cygwin2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-  $(TM_H) $(TM_P_H)
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/cygwin2.c
-
 # Cygwin-specific parts of LIB_SPEC
 SHLIB_LC = -lcygwin -ladvapi32 -lshell32 -luser32 -lkernel32
 
Index: gcc/config/i386/cygwin1.c
===================================================================
--- gcc/config/i386/cygwin1.c	(revision 165080)
+++ gcc/config/i386/cygwin1.c	(working copy)
@@ -1,63 +0,0 @@
-/* Helper routines for cygwin-specific command-line parsing.
-   Contributed by Christopher Faylor (cgf@redhat.com)
-   Copyright 2003, 2005, 2007, 2008 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "opts.h"
-#include <string.h>
-
-void
-mingw_scan (unsigned int decoded_options_count,
-	    const struct cl_decoded_option *decoded_options,
-            const char **spec_machine)
-{
-  unsigned int i;
-  putenv (xstrdup ("GCC_CYGWIN_MINGW=0"));
- 
-  for (i = 1; i < decoded_options_count; i++)
-    switch (decoded_options[i].opt_index)
-      {
-      case OPT_mwin32:
-	if (decoded_options[i].value == 0)
-	  putenv (xstrdup ("GCC_CYGWIN_WIN32=0"));
-	else
-	  putenv (xstrdup ("GCC_CYGWIN_WIN32=1"));
-	break;
-
-      case OPT_mcygwin:
-	if (decoded_options[i].value == 0)
-	  {
-	    char *p = strstr (*spec_machine, "-cygwin");
-	    if (p)
-	      {
-		int len = p - *spec_machine;
-		char *s = XNEWVEC (char, strlen (*spec_machine) + 3);
-		memcpy (s, *spec_machine, len);
-		strcpy (s + len, "-mingw32");
-		*spec_machine = s;
-	      }
-	    putenv (xstrdup ("GCC_CYGWIN_MINGW=1"));
-	  }
-	break;
-      }
-  return;
-}
Index: gcc/config/i386/cygwin2.c
===================================================================
--- gcc/config/i386/cygwin2.c	(revision 165080)
+++ gcc/config/i386/cygwin2.c	(working copy)
@@ -1,66 +0,0 @@
-/* Helper routines for cygwin-specific command-line parsing.
-   Contributed by Christopher Faylor (cgf@redhat.com)
-   Copyright 2003, 2007 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-
-#include "safe-ctype.h"
-#include <string.h>
-
-/*
-static void remove_w32api (void);
-*/
-static void add_mingw (void);
-static void set_mingw (void) __attribute__ ((constructor));
-
-static void
-add_mingw (void)
-{
-  char **av;
-  char *p;
-  for (av = cvt_to_mingw; *av; av++)
-    {
-      int sawcygwin = 0;
-      while ((p = strstr (*av, "-cygwin")))
-	{
-	  char *over = p + sizeof ("-cygwin") - 1;
-	  memmove (over + 1, over, strlen (over));
-	  memcpy (p, "-mingw32", sizeof("-mingw32") - 1);
-	  p = ++over;
-	  while (ISALNUM (*p))
-	    p++;
-	  strcpy (over, p);
-	  sawcygwin = 1;
-	}
-      if (!sawcygwin && !strstr (*av, "mingw"))
-	strcat (*av, CYGWIN_MINGW_SUBDIR);
-    }
-}
-
-
-static void
-set_mingw (void)
-{
-  char *env = getenv ("GCC_CYGWIN_MINGW");
-  if (env && *env == '1')
-    add_mingw ();
-}
Index: gcc/config/i386/cygwin.h
===================================================================
--- gcc/config/i386/cygwin.h	(revision 165080)
+++ gcc/config/i386/cygwin.h	(working copy)
@@ -25,17 +25,14 @@ along with GCC; see the file COPYING3.  If not see
 
 #undef CPP_SPEC
 #define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} \
-  %{mno-win32:%{mno-cygwin: %emno-cygwin and mno-win32 are not compatible}} \
-  %{mno-cygwin:-D__MSVCRT__ -D__MINGW32__ %{!ansi:%{mthreads:-D_MT}}}\
-  %{!mno-cygwin:-D__CYGWIN32__ -D__CYGWIN__ %{!ansi:-Dunix} -D__unix__ -D__unix }\
-  %{mwin32|mno-cygwin:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ %{!ansi:-DWINNT}}\
-  %{!nostdinc:%{!mno-win32|mno-cygwin:-idirafter ../include/w32api%s -idirafter ../../include/w32api%s}}\
+  -D__CYGWIN32__ -D__CYGWIN__ %{!ansi:-Dunix} -D__unix__ -D__unix \
+  %{mwin32:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ %{!ansi:-DWINNT}} \
+  %{!nostdinc:%{!mno-win32:-idirafter ../include/w32api%s -idirafter ../../include/w32api%s}}\
 "
 
 #undef STARTFILE_SPEC
 #define STARTFILE_SPEC "\
-  %{shared|mdll: %{mno-cygwin:dllcrt2%O%s}}\
-  %{!shared: %{!mdll: %{!mno-cygwin:crt0%O%s} %{mno-cygwin:crt2%O%s}\
+  %{!shared: %{!mdll: crt0%O%s \
   %{pg:gcrt0%O%s}}}\
   crtbegin.o%s"
 
@@ -66,10 +63,7 @@ along with GCC; see the file COPYING3.  If not see
 #endif
 
 #undef REAL_LIBGCC_SPEC
-#define REAL_LIBGCC_SPEC \
-  "%{mno-cygwin: %{mthreads:-lmingwthrd} -lmingw32} \
-   " SHARED_LIBGCC_SPEC " \
-   %{mno-cygwin:-lmoldname -lmingwex -lmsvcrt}"
+#define REAL_LIBGCC_SPEC SHARED_LIBGCC_SPEC
 
 /* We have to dynamic link to get to the system DLLs.  All of libc, libm and
    the Unix stuff is in cygwin.dll.  The import library is called
@@ -80,8 +74,7 @@ along with GCC; see the file COPYING3.  If not see
 #undef LIB_SPEC
 #define LIB_SPEC "\
   %{pg:-lgmon} \
-  %{!mno-cygwin:-lcygwin} \
-  %{mno-cygwin:%{mthreads:-lmingwthrd} -lmingw32} \
+  -lcygwin \
   %{mwindows:-lgdi32 -lcomdlg32} \
   -ladvapi32 -lshell32 -luser32 -lkernel32"
 
@@ -108,7 +101,7 @@ along with GCC; see the file COPYING3.  If not see
 #define CXX_WRAP_SPEC_OPT "muse-libstdc-wrappers"
 #endif
 
-#define CXX_WRAP_SPEC "%{!mno-cygwin:%{" CXX_WRAP_SPEC_OPT ":" CXX_WRAP_SPEC_LIST "}}"
+#define CXX_WRAP_SPEC "%{" CXX_WRAP_SPEC_OPT ":" CXX_WRAP_SPEC_LIST "}"
 
 #else /* !defined (USE_CYGWIN_LIBSTDCXX_WRAPPERS)  */
 
@@ -123,166 +116,9 @@ along with GCC; see the file COPYING3.  If not see
   %{shared: %{mdll: %eshared and mdll are not compatible}} \
   %{shared: --shared} %{mdll:--dll} \
   %{static:-Bstatic} %{!static:-Bdynamic} \
-  %{shared|mdll: --enable-auto-image-base -e \
-    %{mno-cygwin:_DllMainCRTStartup@12} \
-    %{!mno-cygwin:__cygwin_dll_entry@12}}\
-  %{!mno-cygwin:--dll-search-prefix=cyg -tsaware}"
+  %{shared|mdll: --enable-auto-image-base -e __cygwin_dll_entry@12} \
+  --dll-search-prefix=cyg -tsaware"
 
-/* Allocate space for all of the machine-spec-specific stuff.
-   Allocate enough space for cygwin -> mingw32  munging plus
-   possible addition of "/mingw".  */
-
-#ifndef CYGWIN_MINGW_SUBDIR
-#define CYGWIN_MINGW_SUBDIR "/mingw"
-#endif
-#define CYGWIN_MINGW_SUBDIR_LEN (sizeof (CYGWIN_MINGW_SUBDIR) - 1)
-
-#ifdef GPLUSPLUS_INCLUDE_DIR
-char cygwin_gplusplus_include_dir[sizeof (GPLUSPLUS_INCLUDE_DIR) + 1
-				  + (CYGWIN_MINGW_SUBDIR_LEN)]
-  = GPLUSPLUS_INCLUDE_DIR;
-#undef GPLUSPLUS_INCLUDE_DIR
-#define GPLUSPLUS_INCLUDE_DIR ((const char *) cygwin_gplusplus_include_dir)
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
-char cygwin_gplusplus_tool_include_dir[sizeof (GPLUSPLUS_TOOL_INCLUDE_DIR) + 1
-				       + CYGWIN_MINGW_SUBDIR_LEN]
-  = GPLUSPLUS_TOOL_INCLUDE_DIR;
-#undef GPLUSPLUS_TOOL_INCLUDE_DIR
-#define GPLUSPLUS_TOOL_INCLUDE_DIR ((const char *) cygwin_gplusplus_tool_include_dir)
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
-char cygwin_gplusplus_backward_include_dir[sizeof (GPLUSPLUS_BACKWARD_INCLUDE_DIR)  + 1
-					   + CYGWIN_MINGW_SUBDIR_LEN]
-  = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
-#undef GPLUSPLUS_BACKWARD_INCLUDE_DIR
-#define GPLUSPLUS_BACKWARD_INCLUDE_DIR ((const char *) cygwin_gplusplus_backward_include_dir)
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifdef LOCAL_INCLUDE_DIR
-char cygwin_local_include_dir[sizeof (LOCAL_INCLUDE_DIR)  + 1
-			      + CYGWIN_MINGW_SUBDIR_LEN]
-  = LOCAL_INCLUDE_DIR;
-#undef LOCAL_INCLUDE_DIR
-#define LOCAL_INCLUDE_DIR ((const char *) cygwin_local_include_dir)
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifdef CROSS_INCLUDE_DIR
-char cygwin_cross_include_dir[sizeof (CROSS_INCLUDE_DIR) + 1
-			      + CYGWIN_MINGW_SUBDIR_LEN]
-  = CROSS_INCLUDE_DIR;
-#undef CROSS_INCLUDE_DIR
-#define CROSS_INCLUDE_DIR ((const char *) cygwin_cross_include_dir)
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifdef TOOL_INCLUDE_DIR
-char cygwin_tool_include_dir[sizeof (TOOL_INCLUDE_DIR) + 1
-			     + CYGWIN_MINGW_SUBDIR_LEN]
-  = TOOL_INCLUDE_DIR;
-#undef TOOL_INCLUDE_DIR
-#define TOOL_INCLUDE_DIR ((const char *) cygwin_tool_include_dir)
-
-#ifndef CROSS_DIRECTORY_STRUCTURE
-#undef STANDARD_INCLUDE_DIR
-#define STANDARD_INCLUDE_DIR "/usr/include"
-char cygwin_standard_include_dir[sizeof (STANDARD_INCLUDE_DIR) + 1
-				 + CYGWIN_MINGW_SUBDIR_LEN]
-  = STANDARD_INCLUDE_DIR;
-#undef STANDARD_INCLUDE_DIR
-#define STANDARD_INCLUDE_DIR ((const char *) cygwin_standard_include_dir)
-#endif
-
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifndef GEN_CVT_ARRAY
-extern char *cvt_to_mingw[];
-#else
-char *cvt_to_mingw[] =
-  {
-#ifdef GPLUSPLUS_INCLUDE_DIR
-    cygwin_gplusplus_include_dir,
-#endif
-
-#ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
-    cygwin_gplusplus_tool_include_dir,
-#endif
-
-#ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
-    cygwin_gplusplus_backward_include_dir,
-#endif
-
-#ifdef LOCAL_INCLUDE_DIR
-    cygwin_local_include_dir,
-#endif
-
-#ifdef CROSS_INCLUDE_DIR
-    cygwin_cross_include_dir,
-#endif
-
-#ifdef TOOL_INCLUDE_DIR
-    cygwin_tool_include_dir,
-#endif
-
-#ifdef STANDARD_INCLUDE_DIR
-    cygwin_standard_include_dir,
-#endif
-
-    NULL
-  };
-#undef GEN_CVT_ARRAY
-#endif /*GEN_CVT_ARRAY*/
-
-void mingw_scan (unsigned int, const struct cl_decoded_option *,
-		 const char **);
-#if 1
-#define GCC_DRIVER_HOST_INITIALIZATION \
-do \
-{ \
-  mingw_scan (decoded_options_count, decoded_options, &spec_machine);	\
-  } \
-while (0)
-#else
-#define GCC_DRIVER_HOST_INITIALIZATION \
-do \
-{ \
-  char *cprefix = concat (tooldir_base_prefix, spec_machine, \
-			  dir_separator_str, NULL); \
-  if (!IS_ABSOLUTE_PATH (cprefix)) \
-    cprefix = concat (standard_exec_prefix, spec_machine, dir_separator_str, \
-		      spec_version, dir_separator_str, tooldir_prefix, NULL); \
-  add_prefix (&exec_prefixes,\
-	      concat (cprefix, "../../../../", spec_machine, "/bin/", NULL), \
-	      "BINUTILS", PREFIX_PRIORITY_LAST, 0, NULL); \
-  add_prefix (&exec_prefixes, cprefix, \
-	      "BINUTILS", PREFIX_PRIORITY_LAST, 0, NULL); \
-  add_prefix (&startfile_prefixes,\
-	      concat (standard_startfile_prefix, "w32api", NULL),\
-	      "GCC", PREFIX_PRIORITY_LAST, 0, NULL);\
-  mingw_scan (decoded_options_count, decoded_options, &spec_machine);	\
-  } \
-while (0)
-#endif
-
 /* Binutils does not handle weak symbols from dlls correctly.  For now,
    do not use them unnecessarily in gthr-posix.h.  */
 #define GTHREAD_USE_WEAK 0
Index: gcc/config/i386/cygming.opt
===================================================================
--- gcc/config/i386/cygming.opt	(revision 165080)
+++ gcc/config/i386/cygming.opt	(working copy)
@@ -1,6 +1,6 @@
 ; Cygwin- and MinGW-specific options.
 
-; Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
 ;
 ; This file is part of GCC.
 ;
@@ -22,10 +22,6 @@ mconsole
 Target RejectNegative
 Create console application
 
-mcygwin
-Target
-Use the Cygwin interface
-
 mdll
 Target RejectNegative
 Generate code for a DLL
Index: gcc/doc/invoke.texi
===================================================================
--- gcc/doc/invoke.texi	(revision 165080)
+++ gcc/doc/invoke.texi	(working copy)
@@ -17396,22 +17396,6 @@ instructing the linker to set the PE header subsys
 required for console applications.
 This is the default behavior for Cygwin and MinGW targets.
 
-@item -mcygwin
-@opindex mcygwin
-This option is available for Cygwin targets.  It specifies that
-the Cygwin internal interface is to be used for predefined
-preprocessor macros, C runtime libraries and related linker
-paths and options.  For Cygwin targets this is the default behavior.
-This option is deprecated and will be removed in a future release.
-
-@item -mno-cygwin
-@opindex mno-cygwin
-This option is available for Cygwin targets.  It specifies that
-the MinGW internal interface is to be used instead of Cygwin's, by
-setting MinGW-related predefined macros and linker paths and default
-library options.
-This option is deprecated and will be removed in a future release.
-
 @item -mdll
 @opindex mdll
 This option is available for Cygwin and MinGW targets.  It

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