Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Feb 2003 03:46:35 -0600 (CST)
From:      Loren James Rittle <rittle@latour.rsch.comm.mot.com>
To:        ports@FreeBSD.org
Subject:   PATCH: ports/lang/gcc32 update to gcc 3.2.2
Message-ID:  <200302060946.h169kZV9029520@latour.rsch.comm.mot.com>

next in thread | raw e-mail | index | archive | help
I built an updated port and ran the new 'make check' rule with no
interesting regressions (judged versus recent daily builds against FSF
CVS; at least one familiar C++ failure mode remains on alpha but it is
seen due to static link being the default for the port compiler versus
shared link for my FSF CVS builds):

  Making GCC 3.2.2 for FreeBSD 4.7 elf    target i386-portbld-freebsd4.7
  Making GCC 3.2.2 for FreeBSD 4.7 elf    target alpha-portbld-freebsd4.7
  Making GCC 3.2.2 for FreeBSD 5.0 elf    target alpha-portbld-freebsd5.0

Baseline test suite results:

  http://gcc.gnu.org/ml/gcc-testresults/2003-01/msg01313.html
  http://gcc.gnu.org/ml/gcc-testresults/2003-01/msg01311.html

	* Makefile: Update port to gcc 3.2.2.  Add support for base
	language test suite (only 900KB).  Re-enable libgcj since it
	has actually been building fine since gcc 3.1 on FreeBSD/i386
	(work-around patch now included here to support
	FreeBSD/alpha).  Add new post-build and check rules.
	* distinfo: Update MD5s.
	* files/patch-fc: Remove special alpha optimization warning.
	* files/patch-va: Remove special USER_H override.
	* files/patch-ua: New patch.  Request bug reports through
	vendor PR system.
	* files/patch-ub: New patch.  Support libgcj on alpha with a
	workaround (core dump on infinity.

(Additional notes: Regarding files/patch-fc, the testsuite output for
 FreeBSD/alpha shows no extra -O2 failures.  Regarding files/patch-va,
 support for FreeBSD 5.0 system header conventions is now in the FSF
 version.  This thunk subtly broke 4-STABLE.  Regarding
 files/patch-ua, if controversial at the FreeBSD end, then please
 remove it.  The FSF would prefer if patched copies of gcc asked users
 to report problems to the vendor that actually patched it.  Reports
 should propagate back, if they are indeed unrelated to local patches.)

Regards,
Loren

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/lang/gcc32/Makefile,v
retrieving revision 1.137
diff -u -r1.137 Makefile
--- Makefile	2002/12/03 23:21:14	1.137
+++ Makefile	2003/02/06 04:13:40
@@ -6,11 +6,11 @@
 # $FreeBSD: ports/lang/gcc32/Makefile,v 1.137 2002/12/03 23:21:14 obrien Exp $
 #
 
-SNAPDATE=	2002-11-19
+SNAPDATE=	2003-02-05
 SNAPVER=	${SNAPDATE:S/-//g}
 
 PORTNAME=	gcc
-PORTVERSION=	3.2.1
+PORTVERSION=	3.2.2
 PORTREVISION=	${SNAPVER}
 CATEGORIES=	lang java
 MASTER_SITES=	${MASTER_SITE_GCC}
@@ -19,7 +19,8 @@
 		gcc-g++-${PORTVERSION}${EXTRACT_SUFX} \
 		gcc-g77-${PORTVERSION}${EXTRACT_SUFX} \
 		gcc-java-${PORTVERSION}${EXTRACT_SUFX} \
-		gcc-objc-${PORTVERSION}${EXTRACT_SUFX}
+		gcc-objc-${PORTVERSION}${EXTRACT_SUFX} \
+		gcc-testsuite-${PORTVERSION}${EXTRACT_SUFX}
 
 #PATCH_SITES=	ftp://relay.nuxi.com/obrien/
 #PATCHFILES=	port_gcc32_${SNAPDATE}.diff
@@ -57,7 +58,7 @@
 		--with-gxx-include-dir=${TARGLIB}/include/g++-v3
 #CONFIGURE_ARGS+=	--program-suffix=32
 CONFIGURE_ARGS+=	--with-system-zlib --includedir=${TARGLIB}/include/Java
-CONFIGURE_ARGS+=	--disable-libgcj	# does not bootstrap now
+# CONFIGURE_ARGS+=	--disable-libgcj	# does not bootstrap now
 CONFIGURE_ENV=	MAKEINFO="makeinfo --no-split"
 .if defined(WANT_SHAREDLIBS)
 CONFIGURE_ARGS+= --enable-shared
@@ -119,6 +120,14 @@
 
 pre-build:
 	cd ${SRCDIR} ; contrib/gcc_update --touch
+
+post-build:
+	@echo "Consider running 'make check' before 'make install'"
+	@echo "especially if you have not built port on -STABLE or -CURRENT."
+	@echo "This suggestion assumes that you have dejagnu port installed."
+
+check: build
+	cd ${WRKSRC}; export RUNTESTFLAGS='--target_board ''unix{-pthread}'''; gmake -sk check
 
 pre-install:
 	${MKDIR} ${PREFIX}/info
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/lang/gcc32/distinfo,v
retrieving revision 1.76
diff -u -r1.76 distinfo
--- distinfo	2002/11/26 01:59:10	1.76
+++ distinfo	2003/02/06 04:13:40
@@ -1,5 +1,6 @@
-MD5 (gcc-core-3.2.1.tar.bz2) = e87b2970e96c54b8e45d11bb41a3e915
-MD5 (gcc-g++-3.2.1.tar.bz2) = 8164fb818bed5ab11d0f6a2800aafb23
-MD5 (gcc-g77-3.2.1.tar.bz2) = db0b9bd892cdba585e0694050a8abcd8
-MD5 (gcc-java-3.2.1.tar.bz2) = 46cb5368ab181df7288b186597871db2
-MD5 (gcc-objc-3.2.1.tar.bz2) = 5c82691527eeec787917041e0598627a
+MD5 (gcc-core-3.2.2.tar.bz2) = 0bffe52275fd8ec3501c42c799f8bcf7
+MD5 (gcc-g++-3.2.2.tar.bz2) = 86b63f1375ce75c5df03cbf23731c3c1
+MD5 (gcc-g77-3.2.2.tar.bz2) = 0b220a0cd5dd471c34c080952265e91e
+MD5 (gcc-java-3.2.2.tar.bz2) = 05660a2dc4c874bbb361dec8363da852
+MD5 (gcc-objc-3.2.2.tar.bz2) = c2c99dca89281512403b9805c59ffd2d
+MD5 (gcc-testsuite-3.2.2.tar.bz2) = 9bf2707338d143a3463d4ee27377a418
Index: files/patch-fc
===================================================================
RCS file: /home/ncvs/ports/lang/gcc32/files/patch-fc,v
retrieving revision 1.3
diff -u -r1.3 patch-fc
--- files/patch-fc	2002/02/03 07:15:30	1.3
+++ files/patch-fc	2003/02/06 04:13:40
@@ -19,23 +19,3 @@
    {"stack-check", &flag_stack_check, 1,
     N_("Insert stack checking code into the program") },
    {"argument-alias", &flag_argument_noalias, 0,
-@@ -4484,6 +4489,19 @@
- 	      if (optimize_val != -1)
- 		{
- 		  optimize = optimize_val;
-+#ifdef __alpha__
-+		  if (optimize > 1)
-+		    {
-+		      #ifdef FORCE_OPTIMIZATION_DOWNGRADE
-+		      optimize = 1;
-+		      warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
-+			      optimize_val);
-+		      #else
-+		      warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
-+			      optimize_val);
-+		      #endif
-+		    }
-+#endif /*__alpha__*/
- 		  optimize_size = 0;
- 		}
- 	    }
Index: files/patch-va
===================================================================
RCS file: /home/ncvs/ports/lang/gcc32/files/patch-va,v
retrieving revision 1.4
diff -u -r1.4 patch-va
--- files/patch-va	2002/09/11 16:48:58	1.4
+++ files/patch-va	2003/02/06 04:13:40
@@ -1,13 +1,5 @@
 --- gcc/Makefile.in.orig	Thu May 23 10:57:21 2002
 +++ gcc/Makefile.in	Tue Sep 10 19:52:35 2002
-@@ -156,6 +156,3 @@
- # to programs compiled with GCC.
--USER_H = $(srcdir)/ginclude/stdarg.h $(srcdir)/ginclude/stddef.h \
--    $(srcdir)/ginclude/varargs.h \
--    $(srcdir)/ginclude/stdbool.h $(srcdir)/ginclude/iso646.h \
--    $(EXTRA_HEADERS)
-+USER_H = $(EXTRA_HEADERS)
- 
 @@ -858,3 +855,3 @@
  $(srcdir)/configure: @MAINT@ $(srcdir)/configure.in
 -	(cd $(srcdir) && autoconf)
Index: files/patch-ua
--- /dev/null	Wed Feb  5 21:28:00 2003
+++ files/patch-ua	Wed Feb  5 17:50:47 2003
@@ -0,0 +1,11 @@
+--- gcc/system.h.orig	Wed Feb  5 17:48:55 2003
++++ gcc/system.h	Wed Feb  5 17:50:15 2003
+@@ -26,7 +26,7 @@
+ /* This is the location of the online document giving information how
+    to report bugs. If you change this string, also check for strings
+    not under control of the preprocessor.  */
+-#define GCCBUGURL "<URL:http://www.gnu.org/software/gcc/bugs.html>"
++#define GCCBUGURL "<URL:http://www.freebsd.org/send-pr.html>"
+ 
+ /* We must include stdarg.h/varargs.h before stdio.h.  */
+ #ifdef ANSI_PROTOTYPES
Index: files/patch-ub
--- /dev/null	Wed Feb  5 21:28:00 2003
+++ files/patch-ub	Wed Feb  5 20:45:44 2003
@@ -0,0 +1,32 @@
+--- gcc/java/gjavah.c.orig	Wed Feb  5 20:39:02 2003
++++ gcc/java/gjavah.c	Wed Feb  5 20:43:53 2003
+@@ -750,10 +750,14 @@
+ 		jfloat fnum = JPOOL_FLOAT (jcf, current_field_value);
+ 		fputs ("const jfloat ", out);
+ 		print_field_name (out, jcf, name_index, 0);
++#ifdef __alpha__
++                  fputs (";\n", out);
++#else
+ 		if (! java_float_finite (fnum))
+ 		  fputs (";\n", out);
+ 		else
+ 		  fprintf (out, " = %.10g;\n",  fnum);
++#endif
+ 	      }
+ 	      break;
+ 	    case CONSTANT_Double:
+@@ -761,10 +765,14 @@
+ 		jdouble dnum = JPOOL_DOUBLE (jcf, current_field_value);
+ 		fputs ("const jdouble ", out);
+ 		print_field_name (out, jcf, name_index, 0);
++#ifdef __alpha__
++                  fputs (";\n", out);
++#else
+ 		if (! java_double_finite (dnum))
+ 		  fputs (";\n", out);
+ 		else
+ 		  fprintf (out, " = %.17g;\n",  dnum);
++#endif
+ 	      }
+ 	      break;
+ 	    default:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200302060946.h169kZV9029520>