From 4be0fe893c51632ca2c1c31e538a54fa17856616 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 25 Apr 2007 19:20:08 +0000 Subject: [PATCH] Bug 183382 - Added JNICALL to the winreg native code to fix a crash that was happening on Vista with IBM's VM. Also moved this build to use MinGW instead of MSVC. --- .../library/Makefile | 22 +++++++++++------- .../library/nmake.mak | 18 -------------- .../library/winreg.cpp | 4 ++-- .../os/win32/x86/winreg.dll | Bin 49152 -> 16657 bytes 4 files changed, 15 insertions(+), 29 deletions(-) delete mode 100644 core/org.eclipse.cdt.core.win32/library/nmake.mak diff --git a/core/org.eclipse.cdt.core.win32/library/Makefile b/core/org.eclipse.cdt.core.win32/library/Makefile index 9f05e23b7c2..c00aa7f93e6 100644 --- a/core/org.eclipse.cdt.core.win32/library/Makefile +++ b/core/org.eclipse.cdt.core.win32/library/Makefile @@ -8,12 +8,13 @@ endif OS = win32 ARCH = x86 -JDK_INCLUDES= $(JAVA_HOME)/include -JDK_OS_INCLUDES= $(JAVA_HOME)/include/$(OS) +JDK_INCLUDES= "$(JAVA_HOME)/include" +JDK_OS_INCLUDES= "$(JAVA_HOME)/include/$(OS)" CC=gcc -CPPFLAGS = -I. -I$(JDK_INCLUDES) -I$(JDK_OS_INCLUDES) -CFLAGS += -D_UNICODE -Dwchar_t=short +CFLAGS = -DUNICODE -I$(JDK_INCLUDES) -I$(JDK_OS_INCLUDES) +CXX=g++ +CXXFLAGS=$(CFLAGS) INSTALL_DIR = ../os/$(OS)/$(ARCH) @@ -21,15 +22,18 @@ LIB_NAME_SPAWNER = spawner.dll LIB_NAME_FULL_SPAWNER = $(INSTALL_DIR)/spawner.dll OBJS_SPAWNER=StdAfx.o Win32ProcessEx.o iostream.o raise.o spawner.o -OBJS = $(OBJS_SPAWNER) +WINREG = $(INSTALL_DIR)/winreg.dll +OBJS_WINREG = winreg.o -all: $(LIB_NAME_FULL_SPAWNER) +all: $(LIB_NAME_FULL_SPAWNER) $(WINREG) rebuild: clean all $(LIB_NAME_FULL_SPAWNER) : $(OBJS_SPAWNER) - mkdir -p $(INSTALL_DIR) - $(CC) -Wl,--kill-at -g -shared -o $(LIB_NAME_FULL_SPAWNER) $(OBJS_SPAWNER) + $(CC) -Wl,--kill-at -shared -o $(LIB_NAME_FULL_SPAWNER) $(OBJS_SPAWNER) clean : - $(RM) $(OBJS_SPAWNER) $(LIB_NAME_FULL_SPAWNER) + $(RM) $(OBJS_SPAWNER) $(LIB_NAME_FULL_SPAWNER) $(OBJS_WINREG) $(WINREG) + +$(WINREG) : $(OBJS_WINREG) + $(CXX) -Wl,--kill-at -shared -o $(WINREG) $(OBJS_WINREG) diff --git a/core/org.eclipse.cdt.core.win32/library/nmake.mak b/core/org.eclipse.cdt.core.win32/library/nmake.mak deleted file mode 100644 index 16a16f92538..00000000000 --- a/core/org.eclipse.cdt.core.win32/library/nmake.mak +++ /dev/null @@ -1,18 +0,0 @@ -#******************************************************************************* -# Copyright (c) 2005, 2006 QNX Software Systems -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# QNX Software Systems - initial API and implementation -#******************************************************************************* -TARGET = ..\os\win32\x86\winreg.dll - -OBJS = winreg.obj - -CPPFLAGS = /nologo /I C:\Java\jdk1.5.0_06\include /I C:\Java\jdk1.5.0_06\include\win32 /DUNICODE - -$(TARGET): $(OBJS) - link /nologo /dll /out:$(TARGET) $(OBJS) advapi32.lib user32.lib diff --git a/core/org.eclipse.cdt.core.win32/library/winreg.cpp b/core/org.eclipse.cdt.core.win32/library/winreg.cpp index 2b06ad12966..81367b9e47c 100644 --- a/core/org.eclipse.cdt.core.win32/library/winreg.cpp +++ b/core/org.eclipse.cdt.core.win32/library/winreg.cpp @@ -13,7 +13,7 @@ #include extern "C" -JNIEXPORT jstring Java_org_eclipse_cdt_utils_WindowsRegistry_getLocalMachineValue( +JNIEXPORT jstring JNICALL Java_org_eclipse_cdt_utils_WindowsRegistry_getLocalMachineValue( JNIEnv * env, jobject obj, jstring subkey, jstring name) { const jchar * csubkey = env->GetStringChars(subkey, NULL); @@ -46,7 +46,7 @@ JNIEXPORT jstring Java_org_eclipse_cdt_utils_WindowsRegistry_getLocalMachineValu */ extern "C" -JNIEXPORT jstring Java_org_eclipse_cdt_utils_WindowsRegistry_getLocalMachineValueName( +JNIEXPORT jstring JNICALL Java_org_eclipse_cdt_utils_WindowsRegistry_getLocalMachineValueName( JNIEnv * env, jobject obj, jstring subkey, jint index) { const jchar * csubkey = env->GetStringChars(subkey, NULL); diff --git a/core/org.eclipse.cdt.core.win32/os/win32/x86/winreg.dll b/core/org.eclipse.cdt.core.win32/os/win32/x86/winreg.dll index d0d0636d9feff64bd665a55947d876c66392518d..771e5e7598a9d0b9b8361107e6816b7e33e829f5 100644 GIT binary patch literal 16657 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 F{{r1t?;HRC