This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SWT 3 and gcj


Hi,

Yes, I think I can get SWT by itself to compile now. But that which was once 
compilable with gcj 3.3.1 on windows, is no longer compilable with 3.4.

SWT 3 compiled with gcj 3.3.1 doesn't seem to run at all for me (the test case 
I posted last time runs, but nothing happens..), and many of the utility .jar 
files from Eclipse 3 Milestone 4 will not compile with gcc 3.3.1. gcj 3.4 can 
be made to compile SWT 3 and works with that testcase.  However, boot.jar, 
runtime.jar, and other jars from eclipse which could be compiled with 3.3.1 
from Eclipse 2.11, can't be compiled with 3.4:

Eclipse3 M4:
* gcc 3.4 for windows from thisiscool page
* plugins/org.eclipse.core.boot_3.0.0/boot.jar
* plugins/org.eclipse.core.runtime_3.0.0/runtime.jar


gcj-3.4 -w -c -o boot.o boot.jar

C:\DOCUME~1\v\LOCALS~1\Temp/cc0Maaaa.s: Assembler messages:
C:\DOCUME~1\v\LOCALS~1\Temp/cc0Maaaa.s:94227: Error: symbol 
`__GLOBAL__I__ZN3org7eclipse4core8internal4boot16URLConte
ntFilter6class$E' is already defined

gcj-3.4 --CLASSPATH=boot.jar;xercesImpl.jar -w -c -o runtime.o runtime.jar

org/eclipse/core/internal/registry/ExtensionRegistry.java: In class 
`org.eclipse.core.internal.registry.ExtensionRegistr
y':
org/eclipse/core/internal/registry/ExtensionRegistry.java: In method 
`org.eclipse.core.internal.registry.ExtensionRegist
ry.add(org.eclipse.core.internal.registry.IHost)':
org/eclipse/core/internal/registry/ExtensionRegistry.java:65: error: 
verification error at PC=131
org/eclipse/core/internal/registry/ExtensionRegistry.java:65: error: might 
transfer control into subroutine
org/eclipse/core/internal/registry/ExtensionRegistry.java: In method 
`org.eclipse.core.internal.registry.ExtensionRegist
ry.remove(java.lang.String)':
org/eclipse/core/internal/registry/ExtensionRegistry.java:295: error: 
verification error at PC=124
org/eclipse/core/internal/registry/ExtensionRegistry.java:295: error: might 
transfer control into subroutine
org/eclipse/core/internal/runtime/InternalPlatform.java: In class 
`org.eclipse.core.internal.runtime.InternalPlatform':
org/eclipse/core/internal/runtime/InternalPlatform.java: In method 
`org.eclipse.core.internal.runtime.InternalPlatform.a
pplyPluginDefaultOverrides(java.net.URL,java.lang.String,org.eclipse.core.runt
ime.Preferences,java.util.Properties)':
org/eclipse/core/internal/runtime/InternalPlatform.java:1289: error: 
verification error at PC=171
org/eclipse/core/internal/runtime/InternalPlatform.java:1289: error: might 
transfer control into subroutine

But, I can't mix and match object files output from different gcj versions, so 
I'm stuck yet again.


You might not have noticed that there exist other errors for which you need to 
compile from SWT 3 source (Not only ImageLoaders).  libswt.a for SWT3 will 
work, but you might end up missing some features.  Compiling with -w will turn 
off warnings so you can better see the errors:

-- From SWT 3 --

org/eclipse/swt/dnd/RTFTransfer.java: In class 
`org.eclipse.swt.dnd.RTFTransfer':
org/eclipse/swt/dnd/RTFTransfer.java: In method 
`org.eclipse.swt.dnd.RTFTransfer.nativeToJava(org.eclipse.swt.dnd.Transf
erData)':
org/eclipse/swt/dnd/RTFTransfer.java:97: error: verification error at PC=198
org/eclipse/swt/dnd/RTFTransfer.java:97: error: might transfer control into 
subroutine

org/eclipse/swt/dnd/TextTransfer.java: In class 
`org.eclipse.swt.dnd.TextTransfer':
org/eclipse/swt/dnd/TextTransfer.java: In method 
`org.eclipse.swt.dnd.TextTransfer.nativeToJava(org.eclipse.swt.dnd.Tran
sferData)':
org/eclipse/swt/dnd/TextTransfer.java:119: error: verification error at PC=348
org/eclipse/swt/dnd/TextTransfer.java:119: error: might transfer control into 
subroutine

org/eclipse/swt/graphics/ImageLoader.java: In class 
`org.eclipse.swt.graphics.ImageLoader':
org/eclipse/swt/graphics/ImageLoader.java: In method 
`org.eclipse.swt.graphics.ImageLoader.load(java.lang.String)':
org/eclipse/swt/graphics/ImageLoader.java:146: error: verification error at 
PC=38
org/eclipse/swt/graphics/ImageLoader.java:146: error: might transfer control 
into subroutine

org/eclipse/swt/ole/win32/OleClientSite.java: In class 
`org.eclipse.swt.ole.win32.OleClientSite':
org/eclipse/swt/ole/win32/OleClientSite.java: In method 
`org.eclipse.swt.ole.win32.OleClientSite.saveToStorageFile(java.
io.File)':
org/eclipse/swt/ole/win32/OleClientSite.java:1160: error: verification error 
at PC=182
org/eclipse/swt/ole/win32/OleClientSite.java:1160: error: might transfer 
control into subroutine


----
From: "Simon Rutishauser" <simon dot rutishauser at gmx dot ch>

it works for me. Perhaps you have to put swt-awt-win32-3024.dll into the
dir, too? I really don't know what it contains...


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]