Patchwork Depreciate darwin[0-7]

login
register
mail settings
Submitter Jack Howarth
Date Aug. 21, 2010, 3:53 a.m.
Message ID <20100821035307.GA16646@bromo.med.uc.edu>
Download mbox | patch
Permalink /patch/62338/
State New
Headers show

Comments

Jack Howarth - Aug. 21, 2010, 3:53 a.m.
The attached patch depreciates darwin7 and earlier. These darwin releases
only support stabs and haven't been properly maintained in quite some
time. The currently supported darwin releases should only include those 
with functional dwarf2 support which starts with darwin8. Bootstrapped and
regression tested on x86_64-apple-darwin10. Okay for gcc trunk after
adding any required documentation changes to the patch?
                   Jack

2010-08-20  Jack Howarth <howarth@bromo.med.uc.edu>

	* gcc/config.gcc: Add darwin[1-7] and darwin[1-7].* to unsupported
	target list. Remove *-*-darwin7*, *-*-darwin[0-6]* and nonexistent
	*-darwin1[0-9]* from powerpc-*-darwin* target case.
	* gcc/config/rs6000/darwin7.h: Removed.
Mike Stump - Aug. 21, 2010, 10:38 p.m.
On Aug 20, 2010, at 8:53 PM, Jack Howarth wrote:
>  The attached patch depreciates darwin7 and earlier. These darwin releases
> only support stabs and haven't been properly maintained in quite some
> time.

?  Last time I ran darwin7 it worked just fine and it wasn't that long ago.  I don't believe it works any worse today does it?  In fact, last time I ran darwin6 it worked just fine as I recall.

> Okay for gcc trunk after adding any required documentation changes to the patch?

I don't think darwin1 - darwin5 are worth saving anymore, and don't care if they go, so that part of the patch would be fine.  darwin6 worked, last I knew and doesn't pose much a burden.  Likewise I don't think keeping support for 7 in the tree is burdensome, indeed the size of the below patch is rather small.  If someone accidentally breaks support for 6 or 7, it usually is trivial to get it to work again.  So, for example, the recent patches to rip out -lm, those should be inside a target os conditional of 10.4 or later.  If that were missing, should be trivial to add it.  I just don't see the value in removing what amounts to a single line to support darwin7.

Thoughts?
Jack Howarth - Aug. 21, 2010, 11:16 p.m.
On Sat, Aug 21, 2010 at 03:38:37PM -0700, Mike Stump wrote:
> On Aug 20, 2010, at 8:53 PM, Jack Howarth wrote:
> >  The attached patch depreciates darwin7 and earlier. These darwin releases
> > only support stabs and haven't been properly maintained in quite some
> > time.
> 
> ?  Last time I ran darwin7 it worked just fine and it wasn't that long ago.  I don't believe it works any worse today does it?  In fact, last time I ran darwin6 it worked just fine as I recall.
> 
> > Okay for gcc trunk after adding any required documentation changes to the patch?
> 
> I don't think darwin1 - darwin5 are worth saving anymore, and don't care if they go, so that part of the patch would be fine.  darwin6 worked, last I knew and doesn't pose much a burden.  Likewise I don't think keeping support for 7 in the tree is burdensome, indeed the size of the below patch is rather small.  If someone accidentally breaks support for 6 or 7, it usually is trivial to get it to work again.  So, for example, the recent patches to rip out -lm, those should be inside a target os conditional of 10.4 or later.  If that were missing, should be trivial to add it.  I just don't see the value in removing what amounts to a single line to support darwin7.
> 
> Thoughts?

Mike,
    According to...

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42825

darwin7 may be currently broken. I'll repost my add-on remove-outfile patch
with a conditional on 10.4 or later shortly.
          Jack
Jack Howarth - Aug. 22, 2010, 12:16 a.m.
On Sat, Aug 21, 2010 at 03:38:37PM -0700, Mike Stump wrote:
> On Aug 20, 2010, at 8:53 PM, Jack Howarth wrote:
> >  The attached patch depreciates darwin7 and earlier. These darwin releases
> > only support stabs and haven't been properly maintained in quite some
> > time.
> 
> ?  Last time I ran darwin7 it worked just fine and it wasn't that long ago.  I don't believe it works any worse today does it?  In fact, last time I ran darwin6 it worked just fine as I recall.
> 
> > Okay for gcc trunk after adding any required documentation changes to the patch?
> 
> I don't think darwin1 - darwin5 are worth saving anymore, and don't care if they go, so that part of the patch would be fine.  darwin6 worked, last I knew and doesn't pose much a burden.  Likewise I don't think keeping support for 7 in the tree is burdensome, indeed the size of the below patch is rather small.  If someone accidentally breaks support for 6 or 7, it usually is trivial to get it to work again.  So, for example, the recent patches to rip out -lm, those should be inside a target os conditional of 10.4 or later.  If that were missing, should be trivial to add it.  I just don't see the value in removing what amounts to a single line to support darwin7.
> 
> Thoughts?

Mike,
   My original intention was to limit darwin support to those releases which support dwarf2.
While one might be able to compile on darwin6 or darwin7, the actual performance of that
configuration in the testsuite is completely untested. Considering the struggle it is to
keep darwin supported, it seems unwise to hinder current development for support of a
vanishingly small user base on darwin6 and darwin7.
            Jack
Mike Stump - Aug. 22, 2010, 2:45 a.m.
On Aug 21, 2010, at 5:16 PM, Jack Howarth wrote:
> My original intention was to limit darwin support to those releases which support dwarf2.

Yes, but I don't see dwarf as much an issue.

> While one might be able to compile on darwin6 or darwin7, the actual performance of that
> configuration in the testsuite is completely untested.

Or, one can say it has been tested over the last 7 years and works pretty well (barring a minor fix or two caused by recent patches where people didn't overly concern themselves over older system)...

> Considering the struggle it is to keep darwin supported, it seems unwise to hinder current development for support of a vanishingly small user base on darwin6 and darwin7.

I don't know that the support has been much hindered.  I try not to hinder it, I don't see that others try and hinder it.  Anyway, explain the issue that is hindered now, and we can seek to resolve that.  If you just want Iain to hurry up and check in his current work, I'm fine with that, if he wants.  I'd also support him ensuring that it works well on older systems.  I'd hope that simple requests like, could you please conditionalize this like so... aren't overly burdensome.

Patch

Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 163433)
+++ gcc/config.gcc	(working copy)
@@ -237,6 +237,8 @@ 
  | pdp11-*-bsd				\
  | sparc-hal-solaris2*			\
  | thumb-*-*				\
+ | *-*-darwin[1-7]                      \
+ | *-*-darwin[1-7].*                    \
  | *-*-linux*aout*			\
  | *-*-linux*coff*			\
  | *-*-linux*libc1*			\
@@ -1950,15 +1952,10 @@ 
 	extra_options="${extra_options} rs6000/darwin.opt"
 	extra_parts="crt2.o"
 	case ${target} in
-	  *-darwin1[0-9]* | *-darwin[8-9]*)
+	  *-darwin[8-9]*)
 	    tmake_file="${tmake_file} rs6000/t-darwin8"
 	    tm_file="${tm_file} rs6000/darwin8.h"
 	    ;;
-	  *-darwin7*)
-	    tm_file="${tm_file} rs6000/darwin7.h"
-	    ;;
-	  *-darwin[0-6]*)
-	    ;;
 	esac
 	tmake_file="${tmake_file} t-slibgcc-darwin"
 	lto_binary_reader=lto-macho
--- gcc/config/rs6000/darwin7.h	2010-08-15 16:44:06.000000000 -0400
+++ /dev/null	2010-08-20 22:48:49.000000000 -0400
@@ -1,30 +0,0 @@ 
-/* Target definitions for Darwin 7.x (Mac OS X) systems.
-   Copyright (C) 2004, 2005, 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/>.  */
-
-/* Machine dependent libraries.  Include libmx when compiling for
-   Darwin 7.0 and above, but before libSystem, since the functions are
-   actually in libSystem but for 7.x compatibility we want them to be
-   looked for in libmx first.  Include libmx by default because otherwise
-   libstdc++ isn't usable.  */
-
-#undef	LIB_SPEC
-#define LIB_SPEC "%{!static:\
-  %:version-compare(!< 10.3 mmacosx-version-min= -lmx)\
-  -lSystem}"