Submitted By: DJ Lucas (dj AT linuxfromscratch DOT org) Date: 2005-09-21 Initial Package Version: 1.5.0 Origin: Previous gcc-3.4 patch, upstream 6.0 sources, and self. Upstream Status: Not Submitted - Upstream targets gcc-3.2. Description: Fixes syntax for use with gcc-4.0.x diff -Naur jdk-build-orig/deploy/src/javaws/share/native/xmlparser.c jdk-build/deploy/src/javaws/share/native/xmlparser.c --- jdk-build-orig/deploy/src/javaws/share/native/xmlparser.c 2004-10-19 14:04:17.000000000 -0500 +++ jdk-build/deploy/src/javaws/share/native/xmlparser.c 2005-09-21 23:18:55.000000000 -0500 @@ -50,7 +50,7 @@ * 10 | bits 6-11 * 10 | bits 0-5 */ -static void RemoveNonAsciiUTF8FromBuffer(char *buf) { +void RemoveNonAsciiUTF8FromBuffer(char *buf) { char* p; char* q; char c; diff -Naur jdk-build-orig/hotspot/src/cpu/i486/vm/i486.ad jdk-build/hotspot/src/cpu/i486/vm/i486.ad --- jdk-build-orig/hotspot/src/cpu/i486/vm/i486.ad 2004-10-19 13:41:32.000000000 -0500 +++ jdk-build/hotspot/src/cpu/i486/vm/i486.ad 2005-09-21 23:18:55.000000000 -0500 @@ -246,10 +246,10 @@ static jlong fp_signmask_pool[(4+1)*2]; // 4*128bits(data) + 128bits(alignment) // Static initialization during VM startup. -static jlong *float_signmask_pool = double_quadword(&fp_signmask_pool[1*2], 0x7FFFFFFF7FFFFFFF, 0x7FFFFFFF7FFFFFFF); -static jlong *double_signmask_pool = double_quadword(&fp_signmask_pool[2*2], 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF); -static jlong *float_signflip_pool = double_quadword(&fp_signmask_pool[3*2], 0x8000000080000000, 0x8000000080000000); -static jlong *double_signflip_pool = double_quadword(&fp_signmask_pool[4*2], 0x8000000000000000, 0x8000000000000000); +static jlong *float_signmask_pool = double_quadword(&fp_signmask_pool[1*2], 0x7FFFFFFF7FFFFFFFULL, 0x7FFFFFFF7FFFFFFFULL); +static jlong *double_signmask_pool = double_quadword(&fp_signmask_pool[2*2], 0x7FFFFFFFFFFFFFFFULL, 0x7FFFFFFFFFFFFFFFULL); +static jlong *float_signflip_pool = double_quadword(&fp_signmask_pool[3*2], 0x8000000080000000ULL, 0x8000000080000000ULL); +static jlong *double_signflip_pool = double_quadword(&fp_signmask_pool[4*2], 0x8000000000000000ULL, 0x8000000000000000ULL); // !!!!! Special hack to get all type of calls to specify the byte offset // from the start of the call to the point where the return address diff -Naur jdk-build-orig/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp jdk-build/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp --- jdk-build-orig/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp 2004-10-19 13:41:46.000000000 -0500 +++ jdk-build/hotspot/src/os_cpu/linux_i486/vm/atomic_linux_i486.inline.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -111,7 +111,7 @@ "cmpxchg8b (%5); xchgl %%ebx, %1" : "=A" (old_value), "=r" (lo) : "1" (lo), "c" (hi), "A" (compare_value), "r" (dest), "m" (mp) - : "%ebx", "cc", "memory"); + : "cc", "memory"); return old_value; } diff -Naur jdk-build-orig/hotspot/src/share/vm/asm/assembler.hpp jdk-build/hotspot/src/share/vm/asm/assembler.hpp --- jdk-build-orig/hotspot/src/share/vm/asm/assembler.hpp 2004-10-19 13:41:56.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/asm/assembler.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -8,7 +8,10 @@ // This file contains platform-independant assembler declarations. +class AbstractAssembler; class CodeBuffer; +class Displacement; +class Label; class MacroAssembler; // Labels represent target destinations for jumps and calls. diff -Naur jdk-build-orig/hotspot/src/share/vm/c1/c1_CacheLocals.hpp jdk-build/hotspot/src/share/vm/c1/c1_CacheLocals.hpp --- jdk-build-orig/hotspot/src/share/vm/c1/c1_CacheLocals.hpp 2004-10-19 13:41:56.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/c1/c1_CacheLocals.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -9,6 +9,7 @@ class IR; class ALocalList; class RInfoCollection; +class RegisterManager; class RegisterState; class LIR_ScanInfo; diff -Naur jdk-build-orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp jdk-build/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp --- jdk-build-orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp 2004-10-19 13:42:06.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -6,6 +6,7 @@ * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ +class AdjoiningGenerations; class PSAdaptiveSizePolicy; class ParallelScavengeHeap : public CollectedHeap { diff -Naur jdk-build-orig/hotspot/src/share/vm/memory/concurrentMarkSweepGeneration.hpp jdk-build/hotspot/src/share/vm/memory/concurrentMarkSweepGeneration.hpp --- jdk-build-orig/hotspot/src/share/vm/memory/concurrentMarkSweepGeneration.hpp 2004-10-19 13:42:14.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/memory/concurrentMarkSweepGeneration.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -19,6 +19,7 @@ // means of a sliding mark-compact. (Not yet implemented.) class ConcurrentMarkSweepGeneration; +class ConcurrentMarkSweepThread; class CompactibleFreeListSpace; class FreeChunk; class PromotionInfo; diff -Naur jdk-build-orig/hotspot/src/share/vm/memory/dump.cpp jdk-build/hotspot/src/share/vm/memory/dump.cpp --- jdk-build-orig/hotspot/src/share/vm/memory/dump.cpp 2004-10-19 13:42:14.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/memory/dump.cpp 2005-09-21 23:18:55.000000000 -0500 @@ -1035,7 +1035,7 @@ // Support for a simple checksum of the contents of the class list // file to prevent trivial tampering. The algorithm matches that in // the MakeClassList program used by the J2SE build process. -#define JSUM_SEED ((jlong)0xcafebabebabecafe) +#define JSUM_SEED ((jlong)0xcafebabebabecafeULL) static jlong jsum(jlong start, const char *buf, const int len) { diff -Naur jdk-build-orig/hotspot/src/share/vm/opto/node.hpp jdk-build/hotspot/src/share/vm/opto/node.hpp --- jdk-build-orig/hotspot/src/share/vm/opto/node.hpp 2004-10-19 13:42:26.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/opto/node.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -93,6 +93,7 @@ #if OPTO_DU_ITERATOR_ASSERT class DUIterator; class DUIterator_Fast; +class DUIterator_Last; #else typedef uint DUIterator; typedef Node** DUIterator_Fast; diff -Naur jdk-build-orig/hotspot/src/share/vm/opto/parse.hpp jdk-build/hotspot/src/share/vm/opto/parse.hpp --- jdk-build-orig/hotspot/src/share/vm/opto/parse.hpp 2004-10-19 13:42:26.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/opto/parse.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -9,7 +9,7 @@ class InlineTree; class Parse; class BytecodeParseHistogram; - +class SwitchRange; //------------------------------InlineTree------------------------------------- class InlineTree : public ResourceObj { diff -Naur jdk-build-orig/hotspot/src/share/vm/prims/jvmtiEnvThreadState.hpp jdk-build/hotspot/src/share/vm/prims/jvmtiEnvThreadState.hpp --- jdk-build-orig/hotspot/src/share/vm/prims/jvmtiEnvThreadState.hpp 2004-10-19 13:42:32.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/prims/jvmtiEnvThreadState.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -8,6 +8,10 @@ #ifndef _JAVA_JVMTIENVTHREADSTATE_H_ #define _JAVA_JVMTIENVTHREADSTATE_H_ + +class JvmtiEnv; + + /////////////////////////////////////////////////////////////// // // class JvmtiFramePop diff -Naur jdk-build-orig/hotspot/src/share/vm/prims/jvmtiEventController.cpp jdk-build/hotspot/src/share/vm/prims/jvmtiEventController.cpp --- jdk-build-orig/hotspot/src/share/vm/prims/jvmtiEventController.cpp 2004-10-19 13:42:32.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/prims/jvmtiEventController.cpp 2005-09-21 23:18:55.000000000 -0500 @@ -10,7 +10,7 @@ # include "incls/_jvmtiEventController.cpp.incl" #ifdef JVMTI_TRACE -#define EC_TRACE(out) if (JvmtiTrace::trace_event_controller()) { SafeResourceMark rm; tty->print_cr##out; } while (0) +#define EC_TRACE(out) if (JvmtiTrace::trace_event_controller()) { SafeResourceMark rm; tty->print_cr out; } while (0) #else #define EC_TRACE(out) #endif /*JVMTI_TRACE */ diff -Naur jdk-build-orig/hotspot/src/share/vm/prims/jvmtiExport.cpp jdk-build/hotspot/src/share/vm/prims/jvmtiExport.cpp --- jdk-build-orig/hotspot/src/share/vm/prims/jvmtiExport.cpp 2004-10-19 13:42:32.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/prims/jvmtiExport.cpp 2005-09-21 23:18:55.000000000 -0500 @@ -13,8 +13,8 @@ extern struct JVMDI_Interface_1_ jvmdiTrace_Interface; // temporary #ifdef JVMTI_TRACE -#define EVT_TRACE(evt,out) if ((JvmtiTrace::event_trace_flags(evt) & JvmtiTrace::SHOW_EVENT_SENT) != 0) { SafeResourceMark rm; tty->print_cr##out; } -#define EVT_TRIG_TRACE(evt,out) if ((JvmtiTrace::event_trace_flags(evt) & JvmtiTrace::SHOW_EVENT_TRIGGER) != 0) { SafeResourceMark rm; tty->print_cr##out; } +#define EVT_TRACE(evt,out) if ((JvmtiTrace::event_trace_flags(evt) & JvmtiTrace::SHOW_EVENT_SENT) != 0) { SafeResourceMark rm; tty->print_cr out; } +#define EVT_TRIG_TRACE(evt,out) if ((JvmtiTrace::event_trace_flags(evt) & JvmtiTrace::SHOW_EVENT_TRIGGER) != 0) { SafeResourceMark rm; tty->print_cr out; } #else #define EVT_TRIG_TRACE(evt,out) #define EVT_TRACE(evt,out) diff -Naur jdk-build-orig/hotspot/src/share/vm/runtime/classFileParser.cpp jdk-build/hotspot/src/share/vm/runtime/classFileParser.cpp --- jdk-build-orig/hotspot/src/share/vm/runtime/classFileParser.cpp 2004-10-19 13:42:34.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/runtime/classFileParser.cpp 2005-09-21 23:18:55.000000000 -0500 @@ -16,6 +16,9 @@ // We add assert in debug mode when class format is not checked. +#undef inline +#undef __inline + #ifdef ASSERT void inline assert_property(bool b, const char* msg, TRAPS) { if (!b) { fatal(msg); } diff -Naur jdk-build-orig/hotspot/src/share/vm/runtime/globals_extension.hpp jdk-build/hotspot/src/share/vm/runtime/globals_extension.hpp --- jdk-build-orig/hotspot/src/share/vm/runtime/globals_extension.hpp 2004-10-19 13:42:35.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/runtime/globals_extension.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -110,7 +110,9 @@ #define FLAG_SET_DEFAULT(name, value) ((name) = (value)) -#define FLAG_SET(type, name, value) (CommandLineFlagsEx::##type##AtPut(FLAG_MEMBER_WITH_TYPE(name,type), (type)(value))) +//#define FLAG_SET(type, name, value) (CommandLineFlagsEx::##type##AtPut(FLAG_MEMBER_WITH_TYPE(name,type), (type)(value))) + +#define FLAG_SET(type, name, value) (CommandLineFlagsEx::type##AtPut(FLAG_MEMBER_WITH_TYPE(name,type), (type)(value))) // Can't put the following in CommandLineFlags because // of a circular dependency on the enum definition. diff -Naur jdk-build-orig/hotspot/src/share/vm/runtime/stackMapTable.hpp jdk-build/hotspot/src/share/vm/runtime/stackMapTable.hpp --- jdk-build-orig/hotspot/src/share/vm/runtime/stackMapTable.hpp 2004-10-19 13:42:38.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/runtime/stackMapTable.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -6,6 +6,8 @@ * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ +class StackMapReader; + // StackMapTable class is the StackMap table used by type checker class StackMapTable : public CHeapObj { friend class ClassVerifier; diff -Naur jdk-build-orig/hotspot/src/share/vm/runtime/thread.hpp jdk-build/hotspot/src/share/vm/runtime/thread.hpp --- jdk-build-orig/hotspot/src/share/vm/runtime/thread.hpp 2004-10-19 13:42:40.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/runtime/thread.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -459,9 +459,9 @@ static ByteSize stack_base_offset() { return byte_offset_of(Thread, _stack_base ); } static ByteSize stack_size_offset() { return byte_offset_of(Thread, _stack_size ); } -#define TLAB_FIELD_OFFSET(name) \ - static ByteSize tlab_##name##_offset() { return byte_offset_of(Thread, _tlab) + ThreadLocalAllocBuffer::##name##_offset(); } - + #define TLAB_FIELD_OFFSET(name) \ + static ByteSize tlab_##name##_offset() { return byte_offset_of(Thread, _tlab) + ThreadLocalAllocBuffer::name##_offset(); } + TLAB_FIELD_OFFSET(start) TLAB_FIELD_OFFSET(end) TLAB_FIELD_OFFSET(top) @@ -470,7 +470,7 @@ TLAB_FIELD_OFFSET(number_of_refills) TLAB_FIELD_OFFSET(fast_refill_waste) TLAB_FIELD_OFFSET(slow_allocations) - + #undef TLAB_FIELD_OFFSET }; diff -Naur jdk-build-orig/hotspot/src/share/vm/runtime/verificationType.hpp jdk-build/hotspot/src/share/vm/runtime/verificationType.hpp --- jdk-build-orig/hotspot/src/share/vm/runtime/verificationType.hpp 2004-10-19 13:42:40.000000000 -0500 +++ jdk-build/hotspot/src/share/vm/runtime/verificationType.hpp 2005-09-21 23:18:55.000000000 -0500 @@ -39,6 +39,7 @@ class ArrType; class ObjType; class UninitializedType; +class ClassVerifier; // represents primary types // super class of all other inference types diff -Naur jdk-build-orig/j2se/src/share/native/sun/awt/cmm/spattrio.c jdk-build/j2se/src/share/native/sun/awt/cmm/spattrio.c --- jdk-build-orig/j2se/src/share/native/sun/awt/cmm/spattrio.c 2004-10-19 14:00:10.000000000 -0500 +++ jdk-build/j2se/src/share/native/sun/awt/cmm/spattrio.c 2005-09-21 23:20:16.000000000 -0500 @@ -866,7 +866,7 @@ (SpTypeMultiLanguage == Record->DeviceModelDesc.TagType)) { Record++; } else { - ((SpProfileSeqDescRecord_t FAR *)Record)++; + (SpProfileSeqDescRecord_t FAR *)Record++; } } return SpStatSuccess; diff -Naur jdk-build-orig/j2se/src/share/native/sun/awt/cmm/sprof-pr.h jdk-build/j2se/src/share/native/sun/awt/cmm/sprof-pr.h --- jdk-build-orig/j2se/src/share/native/sun/awt/cmm/sprof-pr.h 2004-10-19 14:00:11.000000000 -0500 +++ jdk-build/j2se/src/share/native/sun/awt/cmm/sprof-pr.h 2005-09-21 23:18:55.000000000 -0500 @@ -619,7 +619,7 @@ void FAR *SpMalloc (KpInt32_t Size); -KpBool_t TestFileCB(KpfileDirEntry_t FAR *fileSearch, +static KpBool_t TestFileCB(KpfileDirEntry_t FAR *fileSearch, Limits_t *Limits); KpInt32_t TestHeaderDate(SpDateTime_t *ValA, SpDateTime_t *ValB); diff -Naur jdk-build-orig/j2se/src/share/native/sun/font/bidi/uchardir.c jdk-build/j2se/src/share/native/sun/font/bidi/uchardir.c --- jdk-build-orig/j2se/src/share/native/sun/font/bidi/uchardir.c 2004-10-19 14:00:29.000000000 -0500 +++ jdk-build/j2se/src/share/native/sun/font/bidi/uchardir.c 2005-09-21 23:18:55.000000000 -0500 @@ -34,6 +34,8 @@ #include "uchardir.h" +static UCharDirection u_getDirectionInternal(uint32_t); + /* new 4.0 surrogate data */ static uint32_t ASCII_START = 0x0; static uint32_t ASCII_LIMIT = 0x80; diff -Naur jdk-build-orig/j2se/src/solaris/bin/java_md.c jdk-build/j2se/src/solaris/bin/java_md.c --- jdk-build-orig/j2se/src/solaris/bin/java_md.c 2004-10-19 14:01:43.000000000 -0500 +++ jdk-build/j2se/src/solaris/bin/java_md.c 2005-09-21 23:18:55.000000000 -0500 @@ -1136,7 +1136,7 @@ : /* Inputs */ "m" (arg) : /* Clobbers */ - "%eax", "%ebx", "%ecx", "%edx" + "%eax", "%ecx", "%edx" ); *eaxp = value_of_eax; *ebxp = value_of_ebx; diff -Naur jdk-build-orig/j2se/src/solaris/hpi/native_threads/src/interrupt_md.c jdk-build/j2se/src/solaris/hpi/native_threads/src/interrupt_md.c --- jdk-build-orig/j2se/src/solaris/hpi/native_threads/src/interrupt_md.c 2004-10-19 14:02:03.000000000 -0500 +++ jdk-build/j2se/src/solaris/hpi/native_threads/src/interrupt_md.c 2005-09-21 23:18:55.000000000 -0500 @@ -110,8 +110,8 @@ } #ifndef HAVE_SIGIGNORE -static int -sigignore(int sig) +/* static int */ +int sigignore(int sig) { struct sigaction action; sigset_t set; diff -Naur jdk-build-orig/j2se/src/solaris/hpi/src/system_md.c jdk-build/j2se/src/solaris/hpi/src/system_md.c --- jdk-build-orig/j2se/src/solaris/hpi/src/system_md.c 2004-10-19 14:02:04.000000000 -0500 +++ jdk-build/j2se/src/solaris/hpi/src/system_md.c 2005-09-21 23:18:55.000000000 -0500 @@ -23,6 +23,7 @@ #include #include "jni_md.h" +#include "jvm_md.h" #include "mutex_md.h" #include "hpi_init.h" diff -Naur jdk-build-orig/j2se/src/solaris/javavm/export/jvm_md.h jdk-build/j2se/src/solaris/javavm/export/jvm_md.h --- jdk-build-orig/j2se/src/solaris/javavm/export/jvm_md.h 2004-10-19 14:02:04.000000000 -0500 +++ jdk-build/j2se/src/solaris/javavm/export/jvm_md.h 2005-09-21 23:18:55.000000000 -0500 @@ -48,7 +48,7 @@ #define JVM_O_O_APPEND O_APPEND #define JVM_O_EXCL O_EXCL #define JVM_O_CREAT O_CREAT -#define JVM_O_DELETE 0x10000 +#define JVM_O_DELETE 0x1000000 /* Signals */ diff -Naur jdk-build-orig/j2se/src/solaris/native/sun/awt/awt_dnd.c jdk-build/j2se/src/solaris/native/sun/awt/awt_dnd.c --- jdk-build-orig/j2se/src/solaris/native/sun/awt/awt_dnd.c 2004-10-19 14:02:14.000000000 -0500 +++ jdk-build/j2se/src/solaris/native/sun/awt/awt_dnd.c 2005-09-21 23:18:55.000000000 -0500 @@ -169,7 +169,7 @@ return awt_root_window; } -static unsigned char xerror_code = Success; +unsigned char xerror_code = Success; static int xerror_handler(Display *dpy, XErrorEvent *err) { diff -Naur jdk-build-orig/share/plugin/mozilla_headers_ns610/nscore.h jdk-build/share/plugin/mozilla_headers_ns610/nscore.h --- jdk-build-orig/share/plugin/mozilla_headers_ns610/nscore.h 2001-05-21 11:34:20.000000000 -0500 +++ jdk-build/share/plugin/mozilla_headers_ns610/nscore.h 2005-09-21 23:18:55.000000000 -0500 @@ -192,6 +192,10 @@ #define HAVE_CPP_2BYTE_WCHAR_T #endif +#if defined(__GNUC__) + #define HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX +#endif + /* until we get an autoconf test for this, we'll assume it's on (since we're using it already) */ #define HAVE_CPP_TYPENAME diff -Naur jdk-build-orig/share/plugin/mozilla_headers_ns7/nscore.h jdk-build/share/plugin/mozilla_headers_ns7/nscore.h --- jdk-build-orig/share/plugin/mozilla_headers_ns7/nscore.h 2002-09-07 12:12:44.000000000 -0500 +++ jdk-build/share/plugin/mozilla_headers_ns7/nscore.h 2005-09-21 23:18:55.000000000 -0500 @@ -202,6 +202,10 @@ #define HAVE_CPP_2BYTE_WCHAR_T #endif +#if defined(__GNUC__) + #define HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX +#endif + /* until we get an autoconf test for this, we'll assume it's on (since we're using it already) */ #define HAVE_CPP_TYPENAME --- jdk-build-orig/j2se/make/java/nio/Makefile 2007-01-27 07:57:21.000000000 -0600 +++ jdk-build/j2se/make/java/nio/Makefile 2007-01-27 08:42:15.000000000 -0600 @@ -122,7 +122,7 @@ $(OBJDIR)/../../../java.lang/java/$(OBJDIRNAME)/FileDescriptor_md.obj endif ifeq ($(PLATFORM), linux) -OTHER_CFLAGS += -Werror +OTHER_CFLAGS += -Werror -Wno-pointer-sign OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH)$(SUFFIX) -ljava$(SUFFIX) -lnet$(SUFFIX) -lpthread -ldl endif ifeq ($(PLATFORM), solaris)