changeset 1071:e0a13e4cc434

2008-10-03 Gary Benson <gbenson@redhat.com> * ports/hotspot/build/linux/makefiles/shark.make: Work around some GCC optimizer failures.
author Gary Benson <gbenson@redhat.com>
date Fri, 03 Oct 2008 07:58:17 -0400
parents b83387569a2a
children 192176f52fb4
files ChangeLog ports/hotspot/build/linux/makefiles/shark.make
diffstat 2 files changed, 19 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Oct 02 16:15:21 2008 -0400
+++ b/ChangeLog	Fri Oct 03 07:58:17 2008 -0400
@@ -1,3 +1,8 @@
+2008-10-03  Gary Benson  <gbenson@redhat.com>
+
+	* ports/hotspot/build/linux/makefiles/shark.make:
+	Work around some GCC optimizer failures.
+
 2008-10-01     Deepak Bhole <dbhole@redhat.com>
 	* .hgignore: Removed IcedTeaPlugin.jar
 	* IcedTeaPlugin.cc: Updated classpath when launching Java. added
--- a/ports/hotspot/build/linux/makefiles/shark.make	Thu Oct 02 16:15:21 2008 -0400
+++ b/ports/hotspot/build/linux/makefiles/shark.make	Fri Oct 03 07:58:17 2008 -0400
@@ -1,5 +1,6 @@
 #
 # Copyright 1999-2005 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2008 Red Hat, Inc.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -29,3 +30,16 @@
 VM_SUBDIR = server
 
 CFLAGS += -DSHARK
+
+# Something these files fail with GCC at higher optimization levels.
+# An llvm::Value ends up NULL, causing segfaults in LLVM when it is
+# used.  Observed with 4.1.2 20070925 (Red Hat 4.1.2-33) and 4.3.2.
+OPT_CFLAGS/sharkBlock.o = -O0
+OPT_CFLAGS/sharkMonitor.o = -O0
+
+# Something in this file fails with GCC at higher optimization levels.
+# The part of ciTypeFlow::StateVector::meet_exception() that fills in
+# local variables stops part way through leaving the rest set to T_TOP
+# (ie uninitialized).  The VM then aborts with a ShouldNotReachHere()
+# in SharkPHIState::initialize().  Observed with 4.3.2.
+OPT_CFLAGS/ciTypeFlow.o = -O1