Submitted By: DJ Lucas (dj AT linuxfromscratch DOT org) Date: 2005-04-28 Initial Package Version: 1.5.0 Origin: Various (see description) Upstream Status: Not submitted - Current target is 3.2.x/2.9.x Description: Fixes syntax for use with gcc-3.4.2 or greater. DJ Lucas (preprocessor macro fixes), Hamish Greig (assembler code fixes) and portions of the previous j2sdk-1.4.2 gcc33 and asm patches Additional minor fixes from bsd jdk15 experimental patch collection 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-04-23 22:00:49.708531848 -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-04-23 22:00:49.709531696 -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/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-04-23 22:00:49.785520144 -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/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-04-23 22:00:49.727528960 -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-04-23 22:00:49.729528656 -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-04-23 22:00:49.749525616 -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-04-23 22:00:49.766523032 -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/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-04-23 22:00:49.863508288 -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/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-04-23 22:00:49.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-04-23 22:00:49.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/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-04-23 22:00:49.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-04-23 22:00:49.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/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-04-23 22:00:49.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-04-23 22:00:49.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