gcc version 4.0.0 20041113 (experimental)
I produce a cross compiler as I normally do.  Host is linux, target is
i686-pc-mingw32, and create a simple test class and compile:

public class test {
 public static void main(String[] sa) {
  System.out.println("H. World");
  }
}

i686-pc-mingw32-gcj --main=test test.java
Copy the a.exe to a win machine, run it, and it has an application error. All
.exe's that are created with gcj fail.

If I create a "hello world" test.c and compile it with i686-pc-mingw32-gcc, and
copy it to the win box it works fine.

The i686-pc-mingw32-gcj I built a month ago works without problem:
gcc version 4.0.0 20041014 (experimental)

Here is what I see in gdb:

(gdb) r
Starting program: /cygdrive/e/dev/test/a.exe

Program received signal SIGSEGV, Segmentation fault.
0x0043319d in _Jv_FindClass () at /datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
67      /datal/gcc/gcc/gcc/config/i386/cygwin.asm: No such file or directory.
        in /datal/gcc/gcc/gcc/config/i386/cygwin.asm
Current language:  auto; currently asm
(gdb) bt
#0  0x0043319d in _Jv_FindClass () at 
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#1  0x00401b27 in _Jv_FindClassFromSignature () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#2  0x004333cd in _Jv_PrepareCompiledClass () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#3  0x004095ad in java::lang::Class::initializeClass () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#4  0x004096ed in java::lang::Class::initializeClass () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#5  0x004096ed in java::lang::Class::initializeClass () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#6  0x0040217c in _Jv_AllocObjectNoFinalizer () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#7  0x00470e32 in java::util::Hashtable::entrySet () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#8  0x004711ef in java::util::Hashtable::putAllInternal () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#9  0x00470aa4 in java::util::Hashtable::clone () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#10 0x00403cd4 in java::lang::System::__U3c_clinit__U3e_ () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#11 0x0040954f in java::lang::Class::initializeClass () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#12 0x00403702 in java::lang::System::getSecurityManager () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#13 0x0040bba9 in java::lang::ClassLoader::getSystemClassLoader () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#14 0x00433159 in _Jv_FindClass () at 
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#15 0x00401b27 in _Jv_FindClassFromSignature () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#16 0x004333cd in _Jv_PrepareCompiledClass () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#17 0x004095ad in java::lang::Class::initializeClass () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#18 0x0040217c in _Jv_AllocObjectNoFinalizer () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#19 0x004021a7 in _Jv_AllocObject () at 
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#20 0x00432b63 in _Jv_NewClass () at 
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#21 0x004336d4 in _Jv_NewArrayClass () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#22 0x00402432 in _Jv_NewObjectArray () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#23 0x0046f8b2 in java::util::Hashtable::Hashtable () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#24 0x0046fae2 in java::util::Hashtable::Hashtable () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#25 0x004922dd in java::security::Permissions::finit$ () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#26 0x0049230a in java::security::Permissions::Permissions () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#27 0x0043d283 in java::lang::VMClassLoader::__U3c_clinit__U3e_ () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#28 0x0040954f in java::lang::Class::initializeClass () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#29 0x0043cef5 in java::lang::VMClassLoader::getSystemClassLoader () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#30 0x0040c5d4 in java::lang::ClassLoader::__U3c_clinit__U3e_ () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#31 0x0040954f in java::lang::Class::initializeClass () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#32 0x00402ece in _Jv_CreateJavaVM () at
/datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#33 0x004030c9 in _Jv_RunMain () at /datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#34 0x0040329b in JvRunMain () at /datal/gcc/gcc/gcc/config/i386/cygwin.asm:67
#35 0x004012ce in main (argc=1, argv=0x3d3e48)

-- 
           Summary: linux -> win cross compiler : gcj produces corrupt
                    executables
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: java
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ovidr at users dot sourceforge dot net
                CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
                    dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18459

Reply via email to