Submitted By: Jim Gifford (patches at jg555 dot com) Date: 2003-05-29 Initial Package Version: 1.4.1 Origin: Jim Gifford Description: Fixes GCC 3.3 Compile Errors diff -Naur java.orig/hotspot/src/os/linux/vm/os_linux.cpp java/hotspot/src/os/linux/vm/os_linux.cpp --- java.orig/hotspot/src/os/linux/vm/os_linux.cpp 2002-09-06 00:02:04.000000000 -0000 +++ java/hotspot/src/os/linux/vm/os_linux.cpp 2003-05-29 00:21:53.000000000 -0000 @@ -1012,9 +1012,6 @@ if (dump_core) { NOT_PRODUCT(tty->print("Current thread is %p\n", pthread_self())); NOT_PRODUCT(tty->print("Dumping core ...\n")); - // 4450681 : kill all other threads before abort to make sure the - // calling thread is the one that gets dumped in core file. - pthread_kill_other_threads_np(); ::abort(); // dump core } ::exit(1); @@ -1716,12 +1713,7 @@ act.sa_flags = SA_RESTART|SA_SIGINFO; act.sa_handler = (void (*)(int)) SR_handler; // SR_signum is blocked by default. - // 4528190 - We also need to block pthread restart signal (32 on all - // supported Linux platforms). Note that LinuxThreads need to block - // this signal for all threads to work properly. So we don't have - // to use hard-coded signal number when setting up the mask. pthread_sigmask(SIG_BLOCK, NULL, &act.sa_mask); - assert(sigismember(&act.sa_mask, 32), "incompatible pthread library"); if (sigaction(SR_signum, &act, 0) == -1) { return -1; } diff -Naur java.orig/hotspot/src/share/vm/prims/jni.cpp java/hotspot/src/share/vm/prims/jni.cpp --- java.orig/hotspot/src/share/vm/prims/jni.cpp 2002-09-06 00:04:41.000000000 -0000 +++ java/hotspot/src/share/vm/prims/jni.cpp 2003-05-29 00:15:23.000000000 -0000 @@ -902,7 +902,7 @@ JNI_ArgumentPusherVaArg ap(methodID, args); \ jni_invoke_nonstatic(env, &jvalue, obj, JNI_VIRTUAL, methodID, &ap, CHECK_0); \ va_end(args); \ - return (ResultType)(jvalue._value.##unionType); \ + return (ResultType)(jvalue._value.unionType); \ JNI_END \ \ \ @@ -912,7 +912,7 @@ JavaValue jvalue(Tag); \ JNI_ArgumentPusherVaArg ap(methodID, args); \ jni_invoke_nonstatic(env, &jvalue, obj, JNI_VIRTUAL, methodID, &ap, CHECK_0); \ - return (ResultType)(jvalue._value.##unionType); \ + return (ResultType)(jvalue._value.unionType); \ JNI_END \ \ \ @@ -922,7 +922,7 @@ JavaValue jvalue(Tag); \ JNI_ArgumentPusherArray ap(methodID, args); \ jni_invoke_nonstatic(env, &jvalue, obj, JNI_VIRTUAL, methodID, &ap, CHECK_0); \ - return (ResultType)(jvalue._value.##unionType); \ + return (ResultType)(jvalue._value.unionType); \ JNI_END // the runtime type of subword integral basic types is integer @@ -976,7 +976,7 @@ JNI_ArgumentPusherVaArg ap(methodID, args); \ jni_invoke_nonstatic(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_0); \ va_end(args); \ - return (ResultType)(jvalue._value.##unionType); \ + return (ResultType)(jvalue._value.unionType); \ JNI_END \ \ \ @@ -986,7 +986,7 @@ JavaValue jvalue(Tag); \ JNI_ArgumentPusherVaArg ap(methodID, args); \ jni_invoke_nonstatic(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_0); \ - return (ResultType)(jvalue._value.##unionType); \ + return (ResultType)(jvalue._value.unionType); \ JNI_END \ \ \ @@ -996,7 +996,7 @@ JavaValue jvalue(Tag); \ JNI_ArgumentPusherArray ap(methodID, args); \ jni_invoke_nonstatic(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_0); \ - return (ResultType)(jvalue._value.##unionType); \ + return (ResultType)(jvalue._value.unionType); \ JNI_END // the runtime type of subword integral basic types is integer @@ -1051,7 +1051,7 @@ JNI_ArgumentPusherVaArg ap(methodID, args); \ jni_invoke_static(env, &jvalue, NULL, JNI_STATIC, methodID, &ap, CHECK_0); \ va_end(args); \ - return (ResultType)(jvalue._value.##unionType); \ + return (ResultType)(jvalue._value.unionType); \ JNI_END \ \ \ @@ -1061,7 +1061,7 @@ JavaValue jvalue(Tag); \ JNI_ArgumentPusherVaArg ap(methodID, args); \ jni_invoke_static(env, &jvalue, NULL, JNI_STATIC, methodID, &ap, CHECK_0); \ - return (ResultType)(jvalue._value.##unionType); \ + return (ResultType)(jvalue._value.unionType); \ JNI_END \ \ \ @@ -1071,7 +1071,7 @@ JavaValue jvalue(Tag); \ JNI_ArgumentPusherArray ap(methodID, args); \ jni_invoke_static(env, &jvalue, NULL, JNI_STATIC, methodID, &ap, CHECK_0); \ - return (ResultType)(jvalue._value.##unionType); \ + return (ResultType)(jvalue._value.unionType); \ JNI_END // the runtime type of subword integral basic types is integer @@ -1204,7 +1204,7 @@ /* and creates a ResetNoHandleMark. */ \ if (jvmdi::enabled()) { \ jvalue field_value; \ - field_value.##unionType = value; \ + field_value.unionType = value; \ o = jvmdi::jni_SetField_probe_nh(thread, obj, o, k, fieldID, false, SigType, (jvalue *)&field_value); \ } \ o->Fieldname##_field_put(offset, value); \ @@ -1333,7 +1333,7 @@ /* jni_SetField_probe() assumes that is okay to create handles. */ \ if (jvmdi::enabled()) { \ jvalue field_value; \ - field_value.##unionType = value; \ + field_value.unionType = value; \ jvmdi::jni_SetField_probe(thread, NULL, NULL, id->holder(), fieldID, true, SigType, (jvalue *)&field_value); \ } \ id->holder()-> Fieldname##_field_put (id->offset(), value); \ diff -Naur java.orig/hotspot/src/share/vm/runtime/jvmdiInterfaceSupport.hpp java/hotspot/src/share/vm/runtime/jvmdiInterfaceSupport.hpp --- java.orig/hotspot/src/share/vm/runtime/jvmdiInterfaceSupport.hpp 2002-09-06 00:04:51.000000000 -0000 +++ java/hotspot/src/share/vm/runtime/jvmdiInterfaceSupport.hpp 2003-05-29 00:15:23.000000000 -0000 @@ -24,7 +24,7 @@ result_type JNICALL methodName signature { \ JavaThread* thread = (JavaThread*) ThreadLocalStorage::thread(); \ TransitionClass __tiv(thread); \ - __ENTRY(result_type, methodName##signature, thread) \ + __ENTRY(result_type, methodName#signature, thread) \ debug_only(VMNativeEntryWrapper __vew;) \ debug_only(const char* const _jvmdi_methodName_ = #methodName;) \ debug_only(bool _trace_ = trace; ); \ diff -Naur java.orig/hotspot/src/share/vm/runtime/mutexLocker.cpp java/hotspot/src/share/vm/runtime/mutexLocker.cpp --- java.orig/hotspot/src/share/vm/runtime/mutexLocker.cpp 2002-09-06 00:04:52.000000000 -0000 +++ java/hotspot/src/share/vm/runtime/mutexLocker.cpp 2003-05-29 00:15:23.000000000 -0000 @@ -95,7 +95,7 @@ #endif #define def(var, type, pri, vm_block) \ - var = new type(Mutex::##pri, #var, vm_block) + var = new type(Mutex::pri, #var, vm_block) void mutex_init() { def(Event_lock , Mutex , event, true ); // allow to lock in VM diff -Naur java.orig/j2se/src/solaris/native/sun/nio/ch/NativeThread.c java/j2se/src/solaris/native/sun/nio/ch/NativeThread.c --- java.orig/j2se/src/solaris/native/sun/nio/ch/NativeThread.c 2002-09-06 00:29:54.000000000 -0000 +++ java/j2se/src/solaris/native/sun/nio/ch/NativeThread.c 2003-05-29 00:21:53.000000000 -0000 @@ -66,7 +66,7 @@ Java_sun_nio_ch_NativeThread_signal(JNIEnv *env, jclass cl, jlong thread) { #ifdef __linux__ - if (pthread_kill((pthread_t)thread, INTERRUPT_SIGNAL)) + if (pthread_kill((pthread_t)(unsigned long int)thread, INTERRUPT_SIGNAL)) JNU_ThrowIOExceptionWithLastError(env, "Thread signal failed"); #endif }